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 [EMAIL PROTECTED]

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to