aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/test/expected/git@kaiwu.me:public/postgresql
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2025-07-07 12:50:40 +0900
committerMichael Paquier <michael@paquier.xyz>2025-07-07 12:50:40 +0900
commit62a17a92833d1eaa60d8ea372663290942a1e8eb (patch)
treebca21f2407bd919c7a770400b10c8f72ac83e0a7 /src/interfaces/ecpg/test/expected/git@kaiwu.me:public/postgresql
parent8aa54aa7eefbf738999ae855d9192bc57756201e (diff)
downloadpostgresql-62a17a92833d1eaa60d8ea372663290942a1e8eb.tar.gz
postgresql-62a17a92833d1eaa60d8ea372663290942a1e8eb.zip
Integrate FullTransactionIds deeper into two-phase code
This refactoring is a follow-up of the work done in 5a1dfde8334b, that has switched 2PC file names to use FullTransactionIds when written on disk. This will help with the integration of a follow-up solution related to the handling of two-phase files during recovery, to address older defects while reading these from disk after a crash. This change is useful in itself as it reduces the need to build the file names from epoch numbers and TransactionIds, because we can use directly FullTransactionIds from which the 2PC file names are guessed. So this avoids a lot of back-and-forth between the FullTransactionIds retrieved from the file names and how these are passed around in the internal 2PC logic. Note that the core of the change is the use of a FullTransactionId instead of a TransactionId in GlobalTransactionData, that tracks 2PC file information in shared memory. The change in TwoPhaseCallback makes this commit unfit for stable branches. Noah has contributed a good chunk of this patch. I have spent some time on it as well while working on the issues with two-phase state files and recovery. Author: Noah Misch <noah@leadboat.com> Co-Authored-by: Michael Paquier <michael@paquier.xyz> Discussion: https://postgr.es/m/Z5sd5O9JO7NYNK-C@paquier.xyz Discussion: https://postgr.es/m/20250116205254.65.nmisch@google.com
Diffstat (limited to 'src/interfaces/ecpg/test/expected/git@kaiwu.me:public/postgresql')
0 files changed, 0 insertions, 0 deletions