Weird misinterpretation of EXECUTE in PL/pgSQL
От | Peter Eisentraut |
---|---|
Тема | Weird misinterpretation of EXECUTE in PL/pgSQL |
Дата | |
Msg-id | 200702091900.10259.peter_e@gmx.net обсуждение исходный текст |
Ответы |
Re: Weird misinterpretation of EXECUTE in PL/pgSQL
|
Список | pgsql-bugs |
PostgreSQL 8.2.1 This is OK: test=# create function test1() returns int language plpgsql as $$begin execute 'select a, b'; end$$; CREATE FUNCTION test=# select test1(); ERROR: column "a" does not exist LINE 1: select a, b ^ QUERY: select a, b CONTEXT: PL/pgSQL function "test1" line 1 at execute statement This is weird: test=# create function test2() returns int language plpgsql as $$begin execute 'select a', 'b'; end$$; /* Several arguments separated by comma -- doesn't make sense */ CREATE FUNCTION test=# select test2(); ERROR: query "SELECT 'select a', 'b'" returned 2 columns CONTEXT: PL/pgSQL function "test2" line 1 at execute statement In the presence of a comma-separated list of arguments it seems to intepret the EXECUTE command wildly differently. What is going on here? -- Peter Eisentraut http://developer.postgresql.org/~petere/
В списке pgsql-bugs по дате отправления: