transactions in functions, possible bug or what I'm doing wrong?

Поиск
Список
Период
Сортировка
От Riccardo G. Facchini
Тема transactions in functions, possible bug or what I'm doing wrong?
Дата
Msg-id 20041119115231.27648.qmail@web13924.mail.yahoo.com
обсуждение исходный текст
Ответы Re: transactions in functions, possible bug or what I'm doing
Список pgsql-sql
Hi All,

PostgreSQL 7.4.5

assume this script:

---
create table test_table
(id serial,test_value text
) without oids;

insert into test_table
(test_value)
values ('A');

insert into test_table
(test_value)
values ('B');

insert into test_table
(test_value)
values ('C');

insert into test_table
(test_value)
values ('D');

CREATE OR REPLACE FUNCTION test_with_transaction() RETURNS text AS
'declare my_test_record record;
declare my_return_value text;

begin my_return_value := ''''; start transaction;   for my_test_record in select * from test_table   loop
my_return_value:= my_return_value || my_test_record.test_value;   end loop;   return my_return_value; commit;
 
end;' LANGUAGE 'plpgsql' VOLATILE;

CREATE OR REPLACE FUNCTION test_without_transaction() RETURNS text AS
'declare my_test_record record;
declare my_return_value text;
begin my_return_value := ''''; for my_test_record in select * from test_table loop   my_return_value := my_return_value
||my_test_record.test_value; end loop;   return my_return_value;
 
end;' LANGUAGE 'plpgsql' VOLATILE;
---

Why does select test_without_transaction();
return this info:
"ABCD" (as should be)

and select test_with_transaction();
returns this error?

ERROR:  SPI_prepare() failed on "start transaction"
CONTEXT:  PL/pgSQL function "test_with_transaction" line 6 at SQL
statement

I've been investigating the matter in the doc I have, but to no avail.
google was not helpful either.

any suggestion? is this a bug? or the bug resides in my head?

regards,

Riccardo



В списке pgsql-sql по дате отправления:

Предыдущее
От: "Iain"
Дата:
Сообщение: Re: get sequence value of insert command
Следующее
От: Richard Huxton
Дата:
Сообщение: Re: transactions in functions, possible bug or what I'm doing