aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeModifyTable.c
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2019-01-21 17:03:15 -0800
committerAndres Freund <andres@anarazel.de>2019-01-21 17:03:15 -0800
commit63746189b23815415cacc715fdc4f6b991f1a5e7 (patch)
tree7211c6834820f094a41744e60ef73deaae8f6548 /src/backend/executor/nodeModifyTable.c
parent8f9e934ab746907abbeeed06a1a9b995e5b4d339 (diff)
downloadpostgresql-63746189b23815415cacc715fdc4f6b991f1a5e7.tar.gz
postgresql-63746189b23815415cacc715fdc4f6b991f1a5e7.zip
Change snapshot type to be determined by enum rather than callback.
This is in preparation for allowing the same snapshot be used for different table AMs. With the current callback based approach we would need one callback for each supported AM, which clearly would not be extensible. Thus add a new Snapshot->snapshot_type field, and move the dispatch into HeapTupleSatisfiesVisibility() (which is now a function). Later work will then dispatch calls to HeapTupleSatisfiesVisibility() and other AMs visibility functions depending on the type of the table. The central SnapshotType enum also seems like a good location to centralize documentation about the intended behaviour of various types of snapshots. As tqual.h isn't included by bufmgr.h any more (as HeapTupleSatisfies* isn't referenced by TestForOldSnapshot() anymore) a few files now need to include it directly. Author: Andres Freund, loosely based on earlier work by Haribabu Kommi Discussion: https://postgr.es/m/20180703070645.wchpu5muyto5n647@alap3.anarazel.de https://postgr.es/m/20160812231527.GA690404@alvherre.pgsql
Diffstat (limited to 'src/backend/executor/nodeModifyTable.c')
0 files changed, 0 insertions, 0 deletions