pgsql: Move inheritance expansion code into its own file

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

pgsql: Move inheritance expansion code into its own file

Álvaro Herrera
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@...

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b60c39759908bb2a2dbcfc108ec19bdbdcc278e8

Modified Files
--------------
src/backend/optimizer/path/allpaths.c   |    3 +-
src/backend/optimizer/path/equivclass.c |    2 +-
src/backend/optimizer/path/joinrels.c   |    2 +-
src/backend/optimizer/plan/planmain.c   |    2 +
src/backend/optimizer/plan/planner.c    |    2 +
src/backend/optimizer/prep/prepunion.c  | 1204 -------------------------------
src/backend/optimizer/util/Makefile     |    5 +-
src/backend/optimizer/util/appendinfo.c |  826 +++++++++++++++++++++
src/backend/optimizer/util/inherit.c    |  439 +++++++++++
src/backend/optimizer/util/pathnode.c   |    1 +
src/backend/optimizer/util/relnode.c    |    1 +
src/backend/partitioning/partprune.c    |    1 +
src/include/optimizer/appendinfo.h      |   42 ++
src/include/optimizer/inherit.h         |   22 +
src/include/optimizer/prep.h            |   18 -
15 files changed, 1343 insertions(+), 1227 deletions(-)

Reply | Threaded
Open this post in threaded view
|

Re: pgsql: Move inheritance expansion code into its own file

Tom Lane-2
Alvaro Herrera <[hidden email]> writes:
> Move inheritance expansion code into its own file

Hm, why does appendinfo.h need to depend on plannodes.h?
I don't see anything in it that looks like it comes from there.

                        regards, tom lane

Reply | Threaded
Open this post in threaded view
|

Re: pgsql: Move inheritance expansion code into its own file

Alvaro Herrera-9
On 2019-Jan-10, Tom Lane wrote:

> Alvaro Herrera <[hidden email]> writes:
> > Move inheritance expansion code into its own file
>
> Hm, why does appendinfo.h need to depend on plannodes.h?
> I don't see anything in it that looks like it comes from there.

Yeah, probably no good reason.

--
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services