My above comment above applies to select statements as well. Here is a response that I received on the pg mailing list regarding a problem with a select failing inside a ported function:
Daniel Wickstrom writes:
> -- This select is failing. It does not return the correct value
> -- when object_id = 44
> select context_id, security_inherit_p
> into context_id, security_inherit_p
> from acs_objects
> where object_id = check_path__object_id;
Try distinguishing the field names from the plpgsql variable names.
I believe the machine is seeing this as a command to select the current
values of the plpgsql variables (ie, two NULLs) into those same
variables. IIRC, unqualified names will be matched first to plpgsql
variables and only second to fields of the query tables.
regards, tom lane