postgresql/src/include/nodes
Andres Freund 73c954d248 tableam: sample scan.
This moves sample scan support to below tableam. It's not optional as
there is, in contrast to e.g. bitmap heap scans, no alternative way to
perform tablesample queries. If an AM can't deal with the block based
API, it will have to throw an ERROR.

The tableam callbacks for this are block based, but given the current
TsmRoutine interface, that seems to be required.

The new interface doesn't require TsmRoutines to perform visibility
checks anymore - that requires the TsmRoutine to know details about
the AM, which we want to avoid.  To continue to allow taking the
returned number of tuples account SampleScanState now has a donetuples
field (which previously e.g. existed in SystemRowsSamplerData), which
is only incremented after the visibility check succeeds.

Author: Andres Freund
Discussion: https://postgr.es/m/20180703070645.wchpu5muyto5n647@alap3.anarazel.de
2019-03-31 18:37:57 -07:00
..
bitmapset.h Add support for multivariate MCV lists 2019-03-27 18:32:18 +01:00
execnodes.h tableam: sample scan. 2019-03-31 18:37:57 -07:00
extensible.h Rename nodes/relation.h to nodes/pathnodes.h. 2019-01-29 16:49:25 -05:00
lockoptions.h Don't include heapam.h from others headers. 2019-01-14 16:24:41 -08:00
makefuncs.h Make some small planner API cleanups. 2019-01-29 15:26:44 -05:00
memnodes.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
nodeFuncs.h Make some small planner API cleanups. 2019-01-29 15:26:44 -05:00
nodes.h tableam: introduce table AM infrastructure. 2019-03-06 09:54:38 -08:00
params.h Refactor ParamListInfo initialization 2019-03-14 13:30:09 +01:00
parsenodes.h Generated columns 2019-03-30 08:15:57 +01:00
pathnodes.h Avoid passing query tlist around separately from root->processed_tlist. 2019-03-27 12:57:49 -04:00
pg_list.h Standardize some more loops that chase down parallel lists. 2019-02-28 14:25:01 -05:00
plannodes.h Speed up planning when partitions can be pruned at plan time. 2019-03-30 18:58:55 -04:00
primnodes.h tableam: introduce table AM infrastructure. 2019-03-06 09:54:38 -08:00
print.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
readfuncs.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
replnodes.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
supportnodes.h Allow extensions to generate lossy index conditions. 2019-02-11 21:26:14 -05:00
tidbitmap.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
value.h Update copyright for 2019 2019-01-02 12:44:25 -05:00