Nested transaction - I am a bank ??

Started by Thapliyal, Deepakabout 22 years ago2 messagesgeneral
Jump to latest
#1Thapliyal, Deepak
dthapliyal@soe.sony.com

Can I use a "set transaction" type mechanism within a function?

thx
Deep

-----Original Message-----
From: Joshua D. Drake [mailto:jd@commandprompt.com]
Sent: Tuesday, January 13, 2004 10:17 AM
To: Thapliyal, Deepak
Cc: 'Richard Huxton'; Anton.Nikiforov@loteco.ru;
pgsql-general@postgresql.org
Subject: Re: [GENERAL] Nested transaction - I am a bank ??

Thapliyal, Deepak wrote:

Hi,

Assume I have a bank app.. When customer withdraws $10 from his
accouint I have to do following
--> update account_summary table [subtract $10 from his account]
--> update account detail_table [with other transaction details]

Requirement:
either both transactions should succeed or both transactions should

be

rolled back in case of failure.

Question:
if my first update succeeds and second fails (say due to space

errors

.. I have inconsistancy ..

Not if you run the queries as a single transaction.

Per the thread below stored procedures/functions cannot have commits. I
assume that means that they will be implicitly commited ??

How do I approach this simple requirment using psql ?

Thx
Deep

-----Original Message-----
From: pgsql-general-owner@postgresql.org
[mailto:pgsql-general-owner@postgresql.org] On Behalf Of Richard Huxton
Sent: Tuesday, January 13, 2004 4:32 AM
To: Anton.Nikiforov@loteco.ru
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Parse error help needed...

On Tuesday 13 January 2004 12:01, Anton.Nikiforov@loteco.ru wrote:

RH> Remove the "commit" line - functions cannot define their own
transactions RH> anyway.
Do you know if it will be solved sometime? Or this is architecture
dependend problem? I mean that transactions are rulez and very helpful
rulez when working with large databases.

Nested transactions are on the todo list, but I don't know when they
will
appear.

-- 
Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL
#2Robert Treat
xzilla@users.sourceforge.net
In reply to: Thapliyal, Deepak (#1)
Re: Nested transaction - I am a bank ??

No. You can set a transaction type with an explicit start transaction
call before you call your function, but be aware that there are quirks
within the pl framework ( like lack of query snapshot being refreshed)
that might make things operate in a manner slightly different from
normal transaction operations.

Robert Treat

On Tue, 2004-01-13 at 13:20, Thapliyal, Deepak wrote:

Can I use a "set transaction" type mechanism within a function?

thx
Deep

-----Original Message-----
From: Joshua D. Drake [mailto:jd@commandprompt.com]
Sent: Tuesday, January 13, 2004 10:17 AM
To: Thapliyal, Deepak
Cc: 'Richard Huxton'; Anton.Nikiforov@loteco.ru;
pgsql-general@postgresql.org
Subject: Re: [GENERAL] Nested transaction - I am a bank ??

Thapliyal, Deepak wrote:

Hi,

Assume I have a bank app.. When customer withdraws $10 from his
accouint I have to do following
--> update account_summary table [subtract $10 from his account]
--> update account detail_table [with other transaction details]

Requirement:
either both transactions should succeed or both transactions should

be

rolled back in case of failure.

Question:
if my first update succeeds and second fails (say due to space

errors

.. I have inconsistancy ..

Not if you run the queries as a single transaction.

Per the thread below stored procedures/functions cannot have commits. I
assume that means that they will be implicitly commited ??

How do I approach this simple requirment using psql ?

Thx
Deep

-----Original Message-----
From: pgsql-general-owner@postgresql.org
[mailto:pgsql-general-owner@postgresql.org] On Behalf Of Richard Huxton
Sent: Tuesday, January 13, 2004 4:32 AM
To: Anton.Nikiforov@loteco.ru
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Parse error help needed...

On Tuesday 13 January 2004 12:01, Anton.Nikiforov@loteco.ru wrote:

RH> Remove the "commit" line - functions cannot define their own
transactions RH> anyway.
Do you know if it will be solved sometime? Or this is architecture
dependend problem? I mean that transactions are rulez and very helpful
rulez when working with large databases.

Nested transactions are on the todo list, but I don't know when they
will
appear.

-- 
Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)

--
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL