Re: BUG #6400: function arguments not accepted

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: knoch(at)ipa(dot)fraunhofer(dot)de
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6400: function arguments not accepted
Date: 2012-01-20 02:46:45
Message-ID: CA+Tgmoa0tx2D=3MMTTs6ofC4+20gDef5bLxRGFbjHXmdZME0TQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Wed, Jan 18, 2012 at 8:38 AM, <knoch(at)ipa(dot)fraunhofer(dot)de> wrote:
> The following bug has been logged on the website:
>
> Bug reference:      6400
> Logged by:          Sandra Knoch
> Email address:      knoch(at)ipa(dot)fraunhofer(dot)de
> PostgreSQL version: 9.0.6
> Operating system:   Windows Server 2007 SP2
> Description:
>
> I have a strange problem regarding functions with parameters. The parameters
> are not accepted and I always get the error column "user" does not exist,
> where user is the parameter name and not a column. The function looks like
> this:
>
> CREATE OR REPLACE FUNCTION tissue.insert_biopsy_data
> (
>  "user"          integer,
>  in_date         date,
>  in_description  varchar,
>  in_weight       numeric,
>  in_size         numeric
> )
> RETURNS integer AS
> $$
> declare
> result integer;
> begin
>  INSERT INTO tissue.biopsy (id_biopsy, f_user,introduction_date,
> description, weight, size)
>  VALUES
>  (
>  DEFAULT,
>  user,
>  in_date,
>  in_description,
>  in_weight,
>  in_size
>  );
>  SELECT id_biopsy FROM tissue.biopsy INTO result;
>  Return result;
> end
> $$
> LANGUAGE 'plpgsql'
> VOLATILE
> CALLED ON NULL INPUT
> SECURITY INVOKER
> COST 100;
>
> It works with my old PostgreSQL 8.4 version, but not with the new one. What
> is the problem here? Why is the argument not recognized as argument but as a
> column name? Thank you for any help!

There were some changes in the way variable references are resolved in
PL/pgsql in version 9.0; unfortunately, you seem to have run across
one of the cases where the new behavior requires more quoting than the
old one did.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Robert Haas 2012-01-20 02:53:54 Re: Documentation bug: reference to checkpoint activity in bgwriter
Previous Message Tom Lane 2012-01-19 15:39:42 Re: BUG #6401: IS DISTINCT FROM improperly compares geomoetric datatypes