]> granicus.if.org Git - postgresql/commit
tableam: Add table_finish_bulk_insert().
authorAndres Freund <andres@anarazel.de>
Mon, 1 Apr 2019 21:41:42 +0000 (14:41 -0700)
committerAndres Freund <andres@anarazel.de>
Mon, 1 Apr 2019 21:41:42 +0000 (14:41 -0700)
commitd45e40158623baacd3f36f92a670d435cc1e845f
treea40ff43e146006118c44fed313454f0768eb44f7
parent26a76cb64072df6fa5585c2c15df39970ccdce01
tableam: Add table_finish_bulk_insert().

This replaces the previous calls of heap_sync() in places using
bulk-insert. By passing in the flags used for bulk-insert the AM can
decide (first at insert time and then during the finish call) which of
the optimizations apply to it, and what operations are necessary to
finish a bulk insert operation.

Also change HEAP_INSERT_* flags to TABLE_INSERT, and rename hi_options
to ti_options.

These changes are made even in copy.c, which hasn't yet been converted
to tableam. There's no harm in doing so.

Author: Andres Freund
Discussion: https://postgr.es/m/20180703070645.wchpu5muyto5n647@alap3.anarazel.de
src/backend/access/heap/heapam_handler.c
src/backend/commands/copy.c
src/backend/commands/createas.c
src/backend/commands/matview.c
src/backend/commands/tablecmds.c
src/include/access/tableam.h