Re: Transaction in plpgsql function?

Поиск
Список
Период
Сортировка
От MaFa
Тема Re: Transaction in plpgsql function?
Дата
Msg-id 015801c3b1ee$a8d77090$5ad206c1@attila
обсуждение исходный текст
Ответ на Transaction in plpgsql function?  ("MaFa" <mafalista@freemail.hu>)
Список pgsql-novice
> You don't.  All of a function takes place inside a transaction.  If
> there is no explicit transaction already, an implicit one will have been
> started.

If it is true, then the following function why causes sometimes a "duplicate
row"' error?

begin
if exists(select session_data from session where session_id= $1 ) then
update session set session_data= $2, session_exp=now() + interval ''10
minutes'' where session_id= $1 ;
return 0;
else
insert into session(session_id, session_exp, session_data) values ($1 ,
now() + interval ''10 minutes'' , $2);
return 1;
end if;
end;

Maybe because of the current isolation level?

Thanks: MaFa


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

Предыдущее
От: Oliver Elphick
Дата:
Сообщение: Re: Transaction in plpgsql function?
Следующее
От: "Brian G. Huber"
Дата:
Сообщение: Re: Installation of plpgsql using createlang comand