Re: Are you actively hacking on 2PC? - Mailing list pgsql-patches

From Alvaro Herrera
Subject Re: Are you actively hacking on 2PC?
Date
Msg-id 20050609011648.GA7548@surnet.cl
Whole thread Raw
In response to Re: Are you actively hacking on 2PC?  (Alvaro Herrera <alvherre@surnet.cl>)
Responses Re: Are you actively hacking on 2PC?
List pgsql-patches
Ok, I made some more changes and the current patch is here (the same new
files list applies).  If you already started looking at the other patch
I can give you the patch between both, if it makes your life easier.

Additionally I collected some to-do entries, maybe you find it useful.

I'm sure you'll rewrite lots of things, so in order not to collide I'll
go back to my shared dependencies patch :-)  (regarding the two things I
said I'd work on, notifes are already supported; and large object
support seems more hassle than worth to implement and we could punt for
this release ... )


* Verify that TransactionIdIsInProgress is correct w.r.t.
  TransactionIdIsPrepared.

* MultiXactId needs to be supported.

* Clean up the callback support.

* Make sure we don't lose a file descriptor after BasicOpenFile if we
  ereport() after opening it.  Maybe use FileNameOpenFile instead.

* Clean up the use of transaction identifiers.  X/Open has a Transaction
  Identifier standard definition, look that up.

* Is PREPARE TRANSACTION the best interface?  What about marking a transaction
  for preparing when it begins?  Apparently the XA spec requires/prefers this.

* Fix the erroneous sinval interactions reported by the regression test.

* Make the relcache-file-delete logic separate from particular sinval messages.

* Check whether the TwoPhaseStateLock usage per GetPreparedTransactionXidList
  is safe.  (In particular in CheckPointTwoPhase)

* Rethink about using both WAL and a state file.  (If we declared the
  intent to persist a transaction when it begins, maybe we don't need
  the state file at all.)

* Rework the XLog entries for prepare, commit prepared, abort prepared.
  They seem messy.

* Verify the order of calls in PrepareTransaction.

* Why is the new code in GetOldestXmin dependent on allDbs?  That seems bogus.

* Add a databaseId field in GlobalTransactionData, and check it where
  appropiate.

--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"The first of April is the day we remember what we are
the other 364 days of the year"  (Mark Twain)

Attachment

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: ALTER SCHEMA ... SET TABLESPACE
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Should *.backup files ever be removed from pg_xlog?