Centralize executor-related partitioning code.
Some code is moved from partition.c, which has grown very quickly lately;
splitting the executor parts out might help to keep it from getting
totally out of control. Other code is moved from execMain.c. All is
moved to a new file execPartition.c. get_partition_for_tuple now has
a new interface that more clearly separates executor concerns from
generic concerns.
Amit Langote. A slight comment tweak by me.
Discussion: http://postgr.es/m/1f0985f8-3b61-8bc4-4350-baa6d804cb6d@lab.ntt.co.jp
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/4e5fe9ad19e14af360de7970caa8b150436c9dec
Modified Files
--------------
src/backend/catalog/partition.c | 455 +++++----------------------
src/backend/commands/copy.c | 1 +
src/backend/executor/Makefile | 2 +-
src/backend/executor/execMain.c | 266 +---------------
src/backend/executor/execPartition.c | 560 +++++++++++++++++++++++++++++++++
src/backend/executor/nodeModifyTable.c | 1 +
src/include/catalog/partition.h | 48 +--
src/include/executor/execPartition.h | 65 ++++
src/include/executor/executor.h | 14 +-
9 files changed, 717 insertions(+), 695 deletions(-)