From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
Cc: | Patches <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: Nested transactions |
Date: | 2004-06-10 04:11:26 |
Message-ID: | 200406100411.i5A4BQL14526@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc pgsql-patches |
Your patch has been added to the PostgreSQL unapplied patches list at:
http://momjian.postgresql.org/cgi-bin/pgpatches
I will try to apply it after review.
---------------------------------------------------------------------------
Alvaro Herrera wrote:
> Hackers,
>
> Here is the latest installment of the nested transactions patch.
>
> What's in the current patch:
>
> - transaction block support. The user can start subtransactions inside
> each transaction block and rollback each one independently. The
> nesting level has no practical limit, though each transaction tree can
> have at most 2^32 commands (subtransaction start counts as one
> command).
>
> - Most subsystems have a cleanup function called at subtransaction
> abort: deferred triggers, relcache refcount, catcache refcount, smgr
> pending deletes, gist/rtree/hash scan lists, bufmgr refcount,
> on-commit actions.
>
> - SPI closes connections opened during the aborting subtransaction.
>
> - The lock manager releases locks taken by the aborting subtransaction,
> but _holds_ locks taken by a committing subtransaction. This is
> needed by MVCC semantics.
>
> - A special memory context, CommitContext is created for each
> subtransaction. It is destroyed if the subtransaction aborts, but
> if it commits then it will be kept until main transaction commit
> (or its parent subtransaction aborts).
>
> - The pg_subtrans module is created to keep the parent Xid of each
> subtransaction. It's similar (and based on) the pg_clog code.
>
> - The pg_clog Xlog code was moved to Slru and merged with pg_subtrans
> Xlog code.
>
> - When we wait for a transaction to finish (XactLockTableWait), we
> actually wait for the topmost transaction.
>
> - SET TRANSACTION ISOLATION LEVEL and SET READ ONLY are not allowed
> inside a subtransaction.
>
> What's missing to complete the nested transactions work:
>
> - Make GUC vars work correctly.
> - Lots of testing.
> - Documentation
> - Optimizations:
> * the phantom Xid idea is not implemented here.
> * optimize TransactionIdIsInProgress
> * profile
> - More regression testing. Need additional concurrent infrastructure.
>
> Many thanks to:
>
> - Manfred Koizar for making the pg_subtrans code possible and discussion
> on several issues.
> - Stephan Szabo for the idea on which the deferred trigger code was
> based.
> - Tom Lane for asking the right questions.
> - Bruce Momjian for useful ideas.
>
>
> IMHO this patch should be reviewed and applied to achieve wide testing
> as soon as possible before feature freeze. More changes can be applied
> later as available/needed. (The patch is already huge and contains
> several important changes that need careful review. Adding more to the
> mix will only make things more difficult.)
>
> --
> Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
> "No single strategy is always right (Unless the boss says so)"
> (Larry Wall)
[ Attachment, skipping... ]
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2004-06-10 16:36:02 | Re: [JDBC] Trouble with locking tables - reg. |
Previous Message | Shanmugasundaram Doraisamy | 2004-06-10 03:39:37 | Trouble with locking tables - reg. |
From | Date | Subject | |
---|---|---|---|
Next Message | Serguei Mokhov | 2004-06-10 04:45:20 | Re: Fully enabling NLS in pg_ctl |
Previous Message | Bruce Momjian | 2004-06-10 04:11:09 | Re: [PATCHES] serverlog function (log_destination file) |