mirror of
https://github.com/postgres/postgres.git
synced 2025-06-29 10:41:53 +03:00
Split QTW_EXAMINE_RTES flag into QTW_EXAMINE_RTES_BEFORE/_AFTER.
This change allows callers of query_tree_walker() to choose whether to visit an RTE before or after visiting the contents of the RTE (i.e., prefix or postfix tree order). All existing users of QTW_EXAMINE_RTES want the QTW_EXAMINE_RTES_BEFORE behavior, but an upcoming patch will want QTW_EXAMINE_RTES_AFTER, and it seems like a potentially useful change on its own. Andreas Karlsson (extracted from CTE inlining patch) Discussion: https://postgr.es/m/8810.1542402910@sss.pgh.pa.us
This commit is contained in:
@ -340,7 +340,7 @@ flatten_unplanned_rtes(PlannerGlobal *glob, RangeTblEntry *rte)
|
||||
(void) query_tree_walker(rte->subquery,
|
||||
flatten_rtes_walker,
|
||||
(void *) glob,
|
||||
QTW_EXAMINE_RTES);
|
||||
QTW_EXAMINE_RTES_BEFORE);
|
||||
}
|
||||
|
||||
static bool
|
||||
@ -363,7 +363,7 @@ flatten_rtes_walker(Node *node, PlannerGlobal *glob)
|
||||
return query_tree_walker((Query *) node,
|
||||
flatten_rtes_walker,
|
||||
(void *) glob,
|
||||
QTW_EXAMINE_RTES);
|
||||
QTW_EXAMINE_RTES_BEFORE);
|
||||
}
|
||||
return expression_tree_walker(node, flatten_rtes_walker,
|
||||
(void *) glob);
|
||||
|
Reference in New Issue
Block a user