Re: Hot Standby and prepared transactions

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Simon Riggs <simon@2ndQuadrant.com>
Cc: pgsql-hackers@postgresql.org
Date: 2009-12-16T07:10:58Z
Lists: pgsql-hackers
Simon Riggs wrote:
> Investigating how that could come about, it looks like there is some
> fairly strange stuff going on here. StandbyRecoverPreparedTransactions()
> is never called at all.

I told you so:
http://archives.postgresql.org/message-id/4B260B5E.3010401@enterprisedb.com

StandbyRecoverPreparedTransactions() is only needed to pick up the state
 of prepared transactions when starting standby from a shutdown
checkpoint. At online checkpoints. they are included in the
running-xacts record like all other transactions.

> * Skip assert when doing SubTransSetParent in
> RecoverPreparedTransactions() when in Hot Standby mode because some
> subxids will have been marked already

Seems reasonable. Let's still Assert that the parent is the same as last
time.

-- 
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com