You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Thomas Munro
2fc7af5e96
Add basic infrastructure for 64 bit transaction IDs.
...
Instead of inferring epoch progress from xids and checkpoints,
introduce a 64 bit FullTransactionId type and use it to track xid
generation. This fixes an unlikely bug where the epoch is reported
incorrectly if the range of active xids wraps around more than once
between checkpoints.
The only user-visible effect of this commit is to correct the epoch
used by txid_current() and txid_status(), also visible with
pg_controldata, in those rare circumstances. It also creates some
basic infrastructure so that later patches can use 64 bit
transaction IDs in more places.
The new type is a struct that we pass by value, as a form of strong
typedef. This prevents the sort of accidental confusion between
TransactionId and FullTransactionId that would be possible if we
were to use a plain old uint64.
Author: Thomas Munro
Reported-by: Amit Kapila
Reviewed-by: Andres Freund, Tom Lane, Heikki Linnakangas
Discussion: https://postgr.es/m/CAA4eK1%2BMv%2Bmb0HFfWM9Srtc6MVe160WFurXV68iAFMcagRZ0dQ%40mail.gmail.com
7 years ago
..
amapi.h
Update copyright for 2019
7 years ago
amvalidate.h
Update copyright for 2019
7 years ago
attnum.h
Update copyright for 2019
7 years ago
brin.h
Update copyright for 2019
7 years ago
brin_internal.h
Update copyright for 2019
7 years ago
brin_page.h
Update copyright for 2019
7 years ago
brin_pageops.h
Update copyright for 2019
7 years ago
brin_revmap.h
Update copyright for 2019
7 years ago
brin_tuple.h
Update copyright for 2019
7 years ago
brin_xlog.h
Update copyright for 2019
7 years ago
bufmask.h
Update copyright for 2019
7 years ago
clog.h
Update copyright for 2019
7 years ago
commit_ts.h
Update copyright for 2019
7 years ago
genam.h
Compute XID horizon for page level index vacuum on primary.
7 years ago
generic_xlog.h
Update copyright for 2019
7 years ago
gin.h
Update copyright for 2019
7 years ago
gin_private.h
Update copyright for 2019
7 years ago
ginblock.h
Update copyright for 2019
7 years ago
ginxlog.h
Update copyright for 2019
7 years ago
gist.h
Delete empty pages during GiST VACUUM.
7 years ago
gist_private.h
Delete empty pages during GiST VACUUM.
7 years ago
gistscan.h
Update copyright for 2019
7 years ago
gistxlog.h
Delete empty pages during GiST VACUUM.
7 years ago
hash.h
Move hash_any prototype from access/hash.h to utils/hashutils.h
7 years ago
hash_xlog.h
Compute XID horizon for page level index vacuum on primary.
7 years ago
heapam.h
Compute XID horizon for page level index vacuum on primary.
7 years ago
heapam_xlog.h
Update copyright for 2019
7 years ago
hio.h
Don't include heapam.h from others headers.
7 years ago
htup.h
Update copyright for 2019
7 years ago
htup_details.h
Fix heap_getattr() handling of fast defaults.
7 years ago
itup.h
Update copyright for 2019
7 years ago
multixact.h
Update copyright for 2019
7 years ago
nbtree.h
Add nbtree high key "continuescan" optimization.
7 years ago
nbtxlog.h
Compute XID horizon for page level index vacuum on primary.
7 years ago
parallel.h
Enable parallel query with SERIALIZABLE isolation.
7 years ago
printsimple.h
Update copyright for 2019
7 years ago
printtup.h
Update copyright for 2019
7 years ago
relation.h
Introduce access/{table.h, relation.h}, for generic functions from heapam.h.
7 years ago
reloptions.h
Finish reverting "recheck_on_update" patch.
7 years ago
relscan.h
tableam: Add and use scan APIs.
7 years ago
rewriteheap.h
Update copyright for 2019
7 years ago
rmgr.h
Phase 2 of pgindent updates.
9 years ago
rmgrlist.h
Update copyright for 2019
7 years ago
sdir.h
Update copyright for 2019
7 years ago
session.h
Update copyright for 2019
7 years ago
skey.h
Update copyright for 2019
7 years ago
slru.h
Update copyright for 2019
7 years ago
spgist.h
Update copyright for 2019
7 years ago
spgist_private.h
Update copyright for 2019
7 years ago
spgxlog.h
Update copyright for 2019
7 years ago
stratnum.h
Move hash_any prototype from access/hash.h to utils/hashutils.h
7 years ago
subtrans.h
Update copyright for 2019
7 years ago
sysattr.h
Update copyright for 2019
7 years ago
table.h
Introduce access/{table.h, relation.h}, for generic functions from heapam.h.
7 years ago
tableam.h
tableam: Support for an index build's initial table scan(s).
7 years ago
timeline.h
Update copyright for 2019
7 years ago
transam.h
Add basic infrastructure for 64 bit transaction IDs.
7 years ago
tsmapi.h
Rename nodes/relation.h to nodes/pathnodes.h.
7 years ago
tupconvert.h
Update copyright for 2019
7 years ago
tupdesc.h
Make naming of tupdesc related structs more consistent with the rest of PG.
7 years ago
tupdesc_details.h
Make naming of tupdesc related structs more consistent with the rest of PG.
7 years ago
tupmacs.h
Update copyright for 2019
7 years ago
tuptoaster.h
Update copyright for 2019
7 years ago
twophase.h
Make release of 2PC identifier and locks consistent in COMMIT PREPARED
7 years ago
twophase_rmgr.h
Update copyright for 2019
7 years ago
valid.h
Update copyright for 2019
7 years ago
visibilitymap.h
Update copyright for 2019
7 years ago
xact.h
Transaction chaining
7 years ago
xlog.h
Add basic infrastructure for 64 bit transaction IDs.
7 years ago
xlog_internal.h
Compute XID horizon for page level index vacuum on primary.
7 years ago
xlogdefs.h
Update copyright for 2019
7 years ago
xloginsert.h
Update copyright for 2019
7 years ago
xlogreader.h
Update copyright for 2019
7 years ago
xlogrecord.h
Update copyright for 2019
7 years ago
xlogutils.h
Update copyright for 2019
7 years ago