Two-phase commit
От | Heikki Linnakangas |
---|---|
Тема | Two-phase commit |
Дата | |
Msg-id | Pine.OSF.4.58.0402042200330.238747@kosh.hut.fi обсуждение исходный текст |
Ответы |
Re: Two-phase commit
Re: Two-phase commit |
Список | pgsql-hackers |
I've been very slowly continuing my work on two-phase commits for a couple months now, and I now have my original patch updated so that it applies to the current CVS tip, with some improvements. The patch introduces three new commands, PREPCOMMIT, COMMITPREPARED and ABORTPREPARED. To start a 2PC transaction, you first do a BEGIN and your updates as usual. At the end of the transaction, you call PREPCOMMIT 'foobar' instead of COMMIT. Now the transaction is in prepared state, ready to commit at a later time. 'foobar' is the global transaction identifier assigned for the transaction. Later, when you want to finish the second phase, you call COMMITPREPARED 'foobar'; There is a system view pg_prepared_xacts that gives you all transactions that are in prepared state waiting for COMMITPREPARED or ABORTPREPARED. I have also done some work on XA-enabling the JDBC drivers, now that we have what it takes in the server side. I have succesfully executed 2PC transactions with JBossMQ and Postgres, using JBoss as the transaction manager, so the basic stuff seems to be working. Please have a look and comment, the patches can be found here: http://www.iki.fi/hlinnaka/pgsql/ What is the schedule for 7.5? Any chance of getting this in? - Heikki
В списке pgsql-hackers по дате отправления: