On Thu, Mar 28, 2019 at 2:27 PM Thomas Munro <tmunro@postgresql.org> wrote:
>
> Use FullTransactionId for the transaction stack.
>
> Provide GetTopFullTransactionId() and GetCurrentFullTransactionId().
> The intended users of these interfaces are access methods that use
> xids for visibility checks but don't want to have to go back and
> "freeze" existing references some time later before the 32 bit xid
> counter wraps around.
>
> Use a new struct to serialize the transaction state for parallel
> query, because FullTransactionId doesn't fit into the previous
> serialization scheme very well.
>
> Author: Thomas Munro
> Reviewed-by: Heikki Linnakangas
> Discussion: https://postgr.es/m/CAA4eK1%2BMv%2Bmb0HFfWM9Srtc6MVe160WFurXV68iAFMcagRZ0dQ%40mail.gmail.com
>
> Branch
> ------
> master
>
> Details
> -------
> https://git.postgresql.org/pg/commitdiff/ad308058cc8666c50b43179e64d6bb7aeb3ba169
>
> Modified Files
> --------------
> src/backend/access/transam/varsup.c | 13 +-
> src/backend/access/transam/xact.c | 229 ++++++++++++++++++++++++------------
> src/include/access/transam.h | 3 +-
> src/include/access/xact.h | 5 +
> src/tools/pgindent/typedefs.list | 1 +
> 5 files changed, 170 insertions(+), 81 deletions(-)
>
/*
+ * Serialized representation used to transmit transaction state to parallel
+ * workers though shared memory.
The second line of the above comment must be "workers *through* shared
memory"? Attached the patch.
Regards,
--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center