From: | Dave Cramer <pg(at)fastcrypt(dot)com> |
---|---|
To: | Albe Laurenz <all(at)adv(dot)magwien(dot)gv(dot)at> |
Cc: | <roehm(at)it(dot)usyd(dot)edu(dot)au>, <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: autocommit and stored procedures |
Date: | 2007-08-16 10:19:56 |
Message-ID: | 77ED2597-BCE7-4BD1-9BD2-14EC2E178099@fastcrypt.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On 16-Aug-07, at 5:46 AM, Albe Laurenz wrote:
> roehm(at)it(dot)usyd(dot)edu(dot)au wrote:
>> In particular, does an JDBC autocommit around the call to a stored
>> procedure commit each statement within that stored procedure, or does
>> it commit the procedure as a whole?
>
> A function in PostgreSQL is always executed within one single
> transaction, so you cannot commit only part of the SQL-statements
> within a function.
>
> The JDBC 4.0 specification says:
>
> The Connection attribute auto-commit specifies when to end
> transactions. Enabling
> auto-commit causes a transaction commit after each individual SQL
> statement as
> soon as that statement is complete. The point at which a statement
> is considered to
> be "complete" depends on the type of SQL statement as well as what
> the application
> does after executing it:
>
> ■ For Data Manipulation Language (DML) statements such as Insert,
> Update,
> Delete, and DDL statements, the statement is complete as soon as
> it has finished
> executing.
> ■ For Select statements, the statement is complete when the
> associated result set
> is closed.
> ■ For CallableStatement objects or for statements that return
> multiple results,
> the statement is complete when all of the associated result sets
> have been closed,
> and all update counts and output parameters have been retrieved.
Isn't that interesting I wonder who's database has the above select
and CallableStatement semantics.
Dave
>
> To me that seems to mean that if I do
>
> executeUpdate("SELECT myfunction()")
>
> the autocommit should occur after the select statement is finished,
> i.e.
> after the complete function has been executed.
>
> But I'll admit that this is disputable...
>
> Yours,
> Laurenz Albe
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match
From | Date | Subject | |
---|---|---|---|
Next Message | Benjamin Shive | 2007-08-16 15:18:30 | getGeneratedKeys() support? |
Previous Message | Albe Laurenz | 2007-08-16 09:46:30 | Re: autocommit and stored procedures |