Search Postgresql Archives

execute/perform and FOUND

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

 



Hi,

I am utterly confused now. Running the attached script on Debian:

postgresql:
  Installiert:7.5.21
  Mögliche Pakete:7.5.21
  Versions-Tabelle:
 *** 7.5.21 0
        990 ftp://ftp.gwdg.de testing/main Packages
        100 /var/lib/dpkg/status
     7.4.7-6sarge3 0
        500 ftp://ftp.gwdg.de stable/main Packages
        500 ftp://ftp.de.debian.org stable/main Packages
     7.4.7-6sarge2 0
        500 http://security.debian.org stable/updates/main Packages

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 ?

BEGIN
CREATE TABLE
CREATE FUNCTION
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
 test 
------
 t
(1 Zeile)

rollback;
ROLLBACK

Thanks,
Karsten
-- 
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD  4537 78B9 A9F9 E407 1346
begin;

create table test (fk_item integer);

create function test()
	returns boolean
	language 'plpgsql'
	as '
declare
	cmd text;
begin
	cmd := ''select 1 from test where fk_item=1324314'';
	raise notice ''running: %'', cmd;

	execute cmd;
	raise notice ''found (execute 1): %'', found;

	execute cmd;
	raise notice ''found (execute 2): %'', found;

	perform cmd;
	raise notice ''found (perform): %'', found;

	execute cmd;
	raise notice ''found (execute 3): %'', found;

	return true;
end;
';

\set ECHO queries
select * from test;
select test();

rollback;

[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