Search Postgresql Archives

Re: Transaction Handling in pl/pgsql

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

 



What if the select calling my function is not in it's own explicit
transaction block?

Thanks
Craig

----- Original Message ----- 
From: "Jaime Casanova" <systemguards@xxxxxxxxx>
To: "Craig Bryden" <postgresql@xxxxxxxxxxxx>
Cc: "pgsql" <pgsql-general@xxxxxxxxxxxxxx>
Sent: Tuesday, July 12, 2005 7:37 PM
Subject: Re:  Transaction Handling in pl/pgsql


On 7/12/05, Craig Bryden <postgresql@xxxxxxxxxxxx> wrote:
> Hi
>
> I am trying to get a better understanding of how transactions work in
> pl/pgsql functions. I found the following text in the help:
> "It is important not to confuse the use of BEGIN/END for grouping
statements
> in PL/pgSQL with the database commands for transaction control. PL/pgSQL's
> BEGIN/END are only for grouping; they do not start or end a transaction"
> but I am still a bit confused.
>
> Suppose I have a function that will be called from an application. Will
all
> the statements in the function be rolled back if the last one generates an
> exception? or do I need to add code to a function to make that happen?
>
>

suppose you have: select your_function();

your_function adds some rows but the last one gives an error, because
all statements that are out of a transaction block are in its own
transaction the select calling your_function is inside a
transaction... so, the answer is yes... the statements inside the
function will be rolled back


-- 
regards,
Jaime Casanova
(DBA: DataBase Aniquilator ;)



---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your
       message can get through to the mailing list cleanly

[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