Thread: Incorrect information in src/backend/optimizer/README

Incorrect information in src/backend/optimizer/README

From
"Etsuro Fujita"
Date:
ISTM the README contains incorrect information and requires revision to reflect
the current code.  Please find attached a patch.  ISTM the patch needs to be
applied to all active branches.

Thanks,

Best regards,
Etsuro Fujita

Re: Incorrect information in src/backend/optimizer/README

From
Tom Lane
Date:
"Etsuro Fujita" <fujita.etsuro@lab.ntt.co.jp> writes:
> ISTM the README contains incorrect information and requires revision to reflect
> the current code.  Please find attached a patch.  ISTM the patch needs to be
> applied to all active branches.

This patch isn't an improvement, since grouping_planner doesn't have
anything to do with constant quals at all.  In modern releases, that's
dealt with by create_gating_plan inside create_plan().

I remember looking at this text when I redid query_planner's API a few
days ago and electing not to change it just then.  I'm a bit inclined to
just remove both references to constant quals from this overview, since
they're now taken care of at much lower levels --- query_planner itself
has nothing to do with that processing.  Alternatively, if we do want to
discuss constant quals somewhere in here, maybe it needs to be in a
separate subsection.  I'm not sure we need anything though.  Constant
quals are now handled just like other quals up till the last moment in
createplan.c, where they're split out and put in a separate gating
Result node just above where they would otherwise have been.
        regards, tom lane



Re: Incorrect information in src/backend/optimizer/README

From
"Etsuro Fujita"
Date:
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]

> "Etsuro Fujita" <fujita.etsuro@lab.ntt.co.jp> writes:
> > ISTM the README contains incorrect information and requires revision
> > to reflect the current code.  Please find attached a patch.  ISTM the
> > patch needs to be applied to all active branches.
> 
> This patch isn't an improvement, since grouping_planner doesn't have anything
> to do with constant quals at all.  In modern releases, that's dealt with by
> create_gating_plan inside create_plan().

OK

> I remember looking at this text when I redid query_planner's API a few days
> ago and electing not to change it just then.  I'm a bit inclined to just
remove
> both references to constant quals from this overview, since they're now taken
> care of at much lower levels --- query_planner itself has nothing to do with
> that processing.  Alternatively, if we do want to discuss constant quals
> somewhere in here, maybe it needs to be in a separate subsection.  I'm not
sure
> we need anything though.  Constant quals are now handled just like other quals
> up till the last moment in createplan.c, where they're split out and put in
> a separate gating Result node just above where they would otherwise have been.

+1 for removing both of the references from the overview.

Thanks,

Best regards,
Etsuro Fujita