From: | Andres Freund <andres(at)2ndquadrant(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | [PATCH 08/14] Store the number of subtransactions in xl_running_xacts separately from toplevel xids |
Date: | 2012-11-15 01:17:08 |
Message-ID: | 1352942234-3953-8-git-send-email-andres@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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 | Content-Type | Size |
---|---|---|
0008-Store-the-number-of-subtransactions-in-xl_running_xa.patch | text/x-patch | 7.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2012-11-15 01:17:09 | [PATCH 09/14] Adjust all *Satisfies routines to take a HeapTuple instead of a HeapTupleHeader |
Previous Message | Andres Freund | 2012-11-15 01:17:07 | [PATCH 07/14] Introduce InvalidCommandId and declare that to be the new maximum for CommandCounterIncrement |