Thread: pgsql: tableam: Support for an index build's initial table scan(s).

pgsql: tableam: Support for an index build's initial table scan(s).

From
Andres Freund
Date:
tableam: Support for an index build's initial table scan(s).

To support building indexes over tables of different AMs, the scans to
do so need to be routed through the table AM.  While moving a fair
amount of code, nearly all the changes are just moving code to below a
callback.

Currently the range based interface wouldn't make much sense for non
block based table AMs. But that seems aceptable for now.

Author: Andres Freund
Discussion: https://postgr.es/m/20180703070645.wchpu5muyto5n647@alap3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2a96909a4a8c38705163b83a81b228d5aec197f9

Modified Files
--------------
contrib/amcheck/verify_nbtree.c          |  39 +-
contrib/bloom/blinsert.c                 |   9 +-
doc/src/sgml/indexam.sgml                |   2 +-
src/backend/access/brin/brin.c           |  18 +-
src/backend/access/gin/gininsert.c       |   6 +-
src/backend/access/gist/gistbuild.c      |   8 +-
src/backend/access/hash/hash.c           |   8 +-
src/backend/access/heap/heapam_handler.c | 749 +++++++++++++++++++++++++++
src/backend/access/nbtree/nbtsort.c      |  17 +-
src/backend/access/spgist/spginsert.c    |   9 +-
src/backend/catalog/index.c              | 863 +------------------------------
src/include/access/tableam.h             | 141 +++++
src/include/catalog/index.h              |  77 ++-
src/tools/pgindent/typedefs.list         |   2 +-
14 files changed, 1012 insertions(+), 936 deletions(-)