]> granicus.if.org Git - postgresql/commit
Reorganize partitioning code
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Sun, 15 Apr 2018 00:12:14 +0000 (21:12 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Sun, 15 Apr 2018 00:12:14 +0000 (21:12 -0300)
commitda6f3e45ddb68ab3161076e120e7c32cfd46d1db
treece5b30869c67d8be6a86fd6f8f0ba95b5ed61e73
parentb39fd897e0398a6bdc6552daa7cacdf9c0e46d7e
Reorganize partitioning code

There's been a massive addition of partitioning code in PostgreSQL 11,
with little oversight on its placement, resulting in a
catalog/partition.c with poorly defined boundaries and responsibilities.
This commit tries to set a couple of distinct modules to separate things
a little bit.  There are no code changes here, only code movement.

There are three new files:
  src/backend/utils/cache/partcache.c
  src/include/partitioning/partdefs.h
  src/include/utils/partcache.h

The previous arrangement of #including catalog/partition.h almost
everywhere is no more.

Authors: Amit Langote and Álvaro Herrera
Discussion: https://postgr.es/m/98e8d509-790a-128c-be7f-e48a5b2d8d97@lab.ntt.co.jp
https://postgr.es/m/11aa0c50-316b-18bb-722d-c23814f39059@lab.ntt.co.jp
https://postgr.es/m/143ed9a4-6038-76d4-9a55-502035815e68@lab.ntt.co.jp
https://postgr.es/m/20180413193503.nynq7bnmgh6vs5vm@alvherre.pgsql
32 files changed:
contrib/pageinspect/hashfuncs.c
contrib/pg_stat_statements/pg_stat_statements.c
src/backend/catalog/heap.c
src/backend/catalog/partition.c
src/backend/catalog/pg_constraint.c
src/backend/commands/indexcmds.c
src/backend/commands/tablecmds.c
src/backend/commands/trigger.c
src/backend/executor/execMain.c
src/backend/executor/execPartition.c
src/backend/optimizer/path/joinrels.c
src/backend/optimizer/util/plancat.c
src/backend/optimizer/util/relnode.c
src/backend/parser/parse_utilcmd.c
src/backend/partitioning/Makefile
src/backend/partitioning/partbounds.c [new file with mode: 0644]
src/backend/tcop/utility.c
src/backend/utils/adt/ruleutils.c
src/backend/utils/cache/Makefile
src/backend/utils/cache/partcache.c [new file with mode: 0644]
src/backend/utils/cache/relcache.c
src/backend/utils/misc/pg_controldata.c
src/include/catalog/partition.h
src/include/commands/tablecmds.h
src/include/executor/execPartition.h
src/include/executor/executor.h
src/include/nodes/parsenodes.h
src/include/partitioning/partbounds.h
src/include/partitioning/partdefs.h [new file with mode: 0644]
src/include/partitioning/partprune.h
src/include/utils/partcache.h [new file with mode: 0644]
src/include/utils/rel.h