Move inheritance expansion code into its own file
Alvaro Herrera <alvherre@alvh.no-ip.org>
Move inheritance expansion code into its own file This commit moves expand_inherited_tables and underlings from optimizer/prep/prepunionc.c to optimizer/utils/inherit.c. Also, all of the AppendRelInfo-based expression manipulation routines are moved to optimizer/utils/appendinfo.c. No functional code changes. One exception is the introduction of make_append_rel_info, but that's still just moving around code. Also, stop including <limits.h> in prepunion.c, which no longer needs it since 3fc6e2d7f5b6. I (Álvaro) noticed this because Amit was copying that to inherit.c, which likewise doesn't need it. Author: Amit Langote Discussion: https://postgr.es/m/3be67028-a00a-502c-199a-da00eec8fb6e@lab.ntt.co.jp
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/optimizer/path/allpaths.c | modified | +2 −1 |
| src/backend/optimizer/path/equivclass.c | modified | +1 −1 |
| src/backend/optimizer/path/joinrels.c | modified | +1 −1 |
| src/backend/optimizer/plan/planmain.c | modified | +2 −0 |
| src/backend/optimizer/plan/planner.c | modified | +2 −0 |
| src/backend/optimizer/prep/prepunion.c | modified | +0 −1204 |
| src/backend/optimizer/util/appendinfo.c | added | +826 −0 |
| src/backend/optimizer/util/inherit.c | added | +439 −0 |
| src/backend/optimizer/util/Makefile | modified | +3 −2 |
| src/backend/optimizer/util/pathnode.c | modified | +1 −0 |
| src/backend/optimizer/util/relnode.c | modified | +1 −0 |
| src/backend/partitioning/partprune.c | modified | +1 −0 |
| src/include/optimizer/appendinfo.h | added | +42 −0 |
| src/include/optimizer/inherit.h | added | +22 −0 |
| src/include/optimizer/prep.h | modified | +0 −18 |
Discussion
- speeding up planning with partitions 265 messages · 2018-08-29 → 2019-05-02