On Thu, Sep 21, 2006 at 01:06:32PM +0200, Karsten Hilbert wrote: > gives the result below. It seems inconsistent to me with > regard to the FOUND variable. I would expect FOUND to always > be false regardless of whether I use EXECUTE or PERFORM. I > certainly do not expect it to be true for the third EXECUTE > even assuming that PERFORM may have a bug. What is it that I > am missing out on here ? > select * from test; > fk_item > --------- > (0 Zeilen) > > select test(); > psql:00-test.sql:33: NOTICE: running: select 1 from test where fk_item=1324314 > psql:00-test.sql:33: NOTICE: found (execute 1): f > psql:00-test.sql:33: NOTICE: found (execute 2): f > psql:00-test.sql:33: NOTICE: found (perform): t > psql:00-test.sql:33: NOTICE: found (execute 3): t ... > begin > cmd := ''select 1 from test where fk_item=1324314''; > raise notice ''running: %'', cmd; > > execute cmd; And, no, in the actual situation I cannot get rid of the execute or perform because I need a dynamically generated query. It's just that the example presented here was reduced to a static query that could simply be ran as is, too. Karsten -- GPG key ID E4071346 @ wwwkeys.pgp.net E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346