Re: problem with FOUND and EXECUTE in pl/pgsql

From: Ries van Twisk <pg(at)rvt(dot)dds(dot)nl>
To: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: problem with FOUND and EXECUTE in pl/pgsql
Date: 2009-06-03 19:50:48
Message-ID: 9EAA02DB-B2DC-4CF6-ADC1-3AC848B5826C@rvt.dds.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Are you not confused somewhere??

First you insert INSERT INTO db VALUES(1,'one');

Then you do this :

SELECT merge_db(1, 'two');

But for some reason this SQL select * from db; selects two for your
text field...

Ries

On Jun 3, 2009, at 2:42 PM, Oleg Bartunov wrote:

> Hi there,
>
> seems I don't understand how FOUND variable in pl/pgsql function
> defined,
> when I use EXECUTE of PERFORM. There is no problem when I use plain
> SQL.
> Below is a test I did for 8.4beta2. This is simplified script and I
> can use plain SQL, but in my project I need EXECUTE.
>
> CREATE TABLE db (a INT, b TEXT);
> INSERTYTT INTO db VALUES(1,'one');
>
> CREATE OR REPLACE FUNCTION merge_db(key INT, data TEXT) RETURNS VOID
> AS
> $$
> BEGIN
> EXECUTE 'UPDATE db SET b='||quote_literal(data)||' WHERE
> a='||key;
> RAISE NOTICE 'found:%',FOUND;
> END;
> $$
> LANGUAGE plpgsql;
>
>
> After successfull update I expected TRUE, as with plain INSERT
> (instead of EXECUTE), but FOUND is FALSE !
>
> =# SELECT merge_db(1, 'two');
> NOTICE: found:f
> merge_db ----------
>
> (1 row)
> =# select * from db;
> a | b ---+-----
> 1 | two
> (1 row)
>
>
>
>
> Regards,
> Oleg
> _____________________________________________________________
> Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru)
> Sternberg Astronomical Institute, Moscow University, Russia
> Internet: oleg(at)sai(dot)msu(dot)su, http://www.sai.msu.su/~megera/
> phone: +007(495)939-16-83, +007(495)939-23-83
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general

regards, Ries van Twisk

-------------------------------------------------------------------------------------------------
Ries van Twisk
tags: Freelance TYPO3 Glassfish JasperReports JasperETL Flex Blaze-DS
WebORB PostgreSQL DB-Architect
email: ries(at)vantwisk(dot)nl
web: http://www.rvantwisk.nl/
skype: callto://r.vantwisk
Phone: +1-810-476-4196
SIP: +1-747-690-5133

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2009-06-03 19:53:54 Re: High I/O writes activity on disks causing images on browser to lag and not load
Previous Message Grzegorz Jaśkiewicz 2009-06-03 19:48:11 Re: High I/O writes activity on disks causing images on browser to lag and not load