Search Postgresql Archives

Re: plpgsql Difference in behaviour between versions?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello

http://developer.postgresql.org/pgdocs/postgres/release-9-0.html

PL/pgSQL no longer allows variable names that match certain  reserved
words (Tom Lane)

use double quotes

 rec."open" = 32;

Regards

Pavel Stehule

2011/11/23 Chris McDonald <chrisjonmcdonald@xxxxxxxxx>:
> Hi,
> I am upgrading a system from postgresql 8.4.8 (fedora 13 x64) to postgresql 9.0.5 (fedora 15 x64). As I build a database I've noticed that the following works on 8.4.8 but does not work on 9.0.5. Can someone tell me why this is not legal syntax in 9.0.5 but is legal in 8.4.8 please:
>
> ===snip===
> create type mytype
> as
> (
>   somekey integer,
>   open numeric(14, 2)
> );
>
> CREATE OR REPLACE FUNCTION myfunc(IN INTEGER, IN NUMERIC(14, 2))
>        RETURNS VOID
> AS $$
> DECLARE
>        somekey ALIAS FOR $1;
>        rec mytype;
> BEGIN
>        rec.somekey = somekey;
>
>        -- 9.0.5 will fail at the dot character in the
>        -- following line here with syntax error sqlstate 42601
>        -- but 8.4.8 is happy.
>        rec.open = 32;
>        -- ^
>
>        RETURN;
> END;
> $$ LANGUAGE plpgsql;
> ===snip===
>
> --
> Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux