Move parallel vacuum code to vacuumparallel.c. This commit moves parallel vacuum related code to a new file commands/vacuumparallel.c so that any table AM supporting indexes can utilize parallel vacuum in order to call index AM callbacks (ambulkdelete and amvacuumcleanup) with parallel workers.
Another reason for this refactoring is that the parallel vacuum isn't specific to heap so it doesn't make sense to keep this code in heap/vacuumlazy.c. Author: Masahiko Sawada, based on suggestion from Andres Freund Reviewed-by: Hou Zhijie, Amit Kapila, Haiying Tang Discussion: https://www.postgresql.org/message-id/20211030212101.ae3qcouatwmy7tbr%40alap3.anarazel.de Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/8e1fae193864527c931a704bd7908e4fbc983f5c Modified Files -------------- src/backend/access/heap/vacuumlazy.c | 1002 +------------------------------ src/backend/access/transam/parallel.c | 2 +- src/backend/commands/Makefile | 1 + src/backend/commands/vacuum.c | 5 +- src/backend/commands/vacuumparallel.c | 1068 +++++++++++++++++++++++++++++++++ src/include/access/heapam.h | 1 - src/include/commands/vacuum.h | 20 + src/tools/pgindent/typedefs.list | 9 +- 8 files changed, 1125 insertions(+), 983 deletions(-)
