Re: Transaction Handling in pl/pgsql - Mailing list pgsql-general

From Jaime Casanova
Subject Re: Transaction Handling in pl/pgsql
Date
Msg-id c2d9e70e05071210376109f19b@mail.gmail.com
Whole thread Raw
In response to Transaction Handling in pl/pgsql  ("Craig Bryden" <postgresql@bryden.co.za>)
List pgsql-general
On 7/12/05, Craig Bryden <postgresql@bryden.co.za> 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 ;)

pgsql-general by date:

Previous
From: David Pratt
Date:
Subject: Re: Update more than one table
Next
From: "Greg Patnude"
Date:
Subject: Temp tables...