From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Reorganize partitioning code |
Date: | 2018-04-15 00:15:21 |
Message-ID: | E1f7VKD-0000K0-9C@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
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
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/da6f3e45ddb68ab3161076e120e7c32cfd46d1db
Modified Files
--------------
contrib/pageinspect/hashfuncs.c | 1 +
contrib/pg_stat_statements/pg_stat_statements.c | 1 +
src/backend/catalog/heap.c | 1 +
src/backend/catalog/partition.c | 3360 +----------------------
src/backend/catalog/pg_constraint.c | 2 +
src/backend/commands/indexcmds.c | 1 +
src/backend/commands/tablecmds.c | 2 +
src/backend/commands/trigger.c | 1 +
src/backend/executor/execMain.c | 2 +-
src/backend/executor/execPartition.c | 113 +-
src/backend/optimizer/path/joinrels.c | 2 +-
src/backend/optimizer/util/plancat.c | 4 +-
src/backend/optimizer/util/relnode.c | 2 +-
src/backend/parser/parse_utilcmd.c | 1 +
src/backend/partitioning/Makefile | 2 +-
src/backend/partitioning/partbounds.c | 2315 ++++++++++++++++
src/backend/tcop/utility.c | 1 +
src/backend/utils/adt/ruleutils.c | 2 +-
src/backend/utils/cache/Makefile | 6 +-
src/backend/utils/cache/partcache.c | 967 +++++++
src/backend/utils/cache/relcache.c | 208 +-
src/backend/utils/misc/pg_controldata.c | 5 +-
src/include/catalog/partition.h | 34 +-
src/include/commands/tablecmds.h | 1 -
src/include/executor/execPartition.h | 1 -
src/include/executor/executor.h | 1 -
src/include/nodes/parsenodes.h | 6 +-
src/include/partitioning/partbounds.h | 41 +-
src/include/partitioning/partdefs.h | 24 +
src/include/partitioning/partprune.h | 3 +-
src/include/utils/partcache.h | 96 +
src/include/utils/rel.h | 72 -
32 files changed, 3693 insertions(+), 3585 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2018-04-15 00:35:46 | pgsql: List src/include/partitioning in src/include/Makefile |
Previous Message | Tom Lane | 2018-04-14 23:02:37 | pgsql: Improve regression test coverage of expand_tuple(). |