[PATCH 08/14] Store the number of subtransactions in xl_running_xacts separately from toplevel xids - Mailing list pgsql-hackers

From Andres Freund
Subject [PATCH 08/14] Store the number of subtransactions in xl_running_xacts separately from toplevel xids
Date
Msg-id 1352942234-3953-8-git-send-email-andres@2ndquadrant.com
Whole thread Raw
In response to logical changeset generation v3  (andres@anarazel.de (Andres Freund))
Responses Re: [PATCH 08/14] Store the number of subtransactions in xl_running_xacts separately from toplevel xids  (Simon Riggs <simon@2ndQuadrant.com>)
List pgsql-hackers
To avoid complicating logic we store both, the toplevel and the subxids, in
->xip, first ->xcnt toplevel ones, and then ->subxcnt subxids.
Also skip logging any subxids if the snapshot is suboverflowed, they aren't
useful in that case anyway.

This allows to make some operations cheaper and it allows faster startup for
the future logical decoding feature because that doesn't care about
subtransactions/suboverflow'edness.
---
 src/backend/access/transam/xlog.c   |  2 ++
 src/backend/storage/ipc/procarray.c | 65 ++++++++++++++++++++++++-------------
 src/backend/storage/ipc/standby.c   |  8 +++--
 src/include/storage/standby.h       |  2 ++
 4 files changed, 52 insertions(+), 25 deletions(-)


Attachment

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: [PATCH 06/14] Add a new function pg_relation_by_filenode to lookup up a relation given the tablespace and the filenode OIDs
Next
From: Andres Freund
Date:
Subject: [PATCH 11/14] Introduce wal decoding via catalog timetravel