mirror of
https://github.com/postgres/postgres.git
synced 2025-11-25 12:03:53 +03:00
Re-allow planner to use Merge Append to efficiently implement UNION.
This reverts commit7204f35919, thus restoring66c0185a3(Allow planner to use Merge Append to efficiently implement UNION) as well as the follow-on commitsd5d2205c8,3b1a7eb28,7487044d6. Per further discussion on pgsql-release, we wish to ship beta1 with this feature, and patch the bug that was found just before wrap, rather than shipping beta1 with the feature reverted.
This commit is contained in:
@@ -173,6 +173,10 @@ extern void add_child_join_rel_equivalences(PlannerInfo *root,
|
||||
AppendRelInfo **appinfos,
|
||||
RelOptInfo *parent_joinrel,
|
||||
RelOptInfo *child_joinrel);
|
||||
extern void add_setop_child_rel_equivalences(PlannerInfo *root,
|
||||
RelOptInfo *child_rel,
|
||||
List *child_tlist,
|
||||
List *setop_pathkeys);
|
||||
extern List *generate_implied_equalities_for_column(PlannerInfo *root,
|
||||
RelOptInfo *rel,
|
||||
ec_matches_callback_type callback,
|
||||
|
||||
@@ -44,7 +44,8 @@ extern PlannedStmt *standard_planner(Query *parse, const char *query_string,
|
||||
|
||||
extern PlannerInfo *subquery_planner(PlannerGlobal *glob, Query *parse,
|
||||
PlannerInfo *parent_root,
|
||||
bool hasRecursion, double tuple_fraction);
|
||||
bool hasRecursion, double tuple_fraction,
|
||||
SetOperationStmt *setops);
|
||||
|
||||
extern RowMarkType select_rowmark_type(RangeTblEntry *rte,
|
||||
LockClauseStrength strength);
|
||||
|
||||
@@ -53,6 +53,6 @@ extern void preprocess_aggrefs(PlannerInfo *root, Node *clause);
|
||||
* prototypes for prepunion.c
|
||||
*/
|
||||
extern RelOptInfo *plan_set_operations(PlannerInfo *root);
|
||||
|
||||
extern bool set_operation_ordered_results_useful(SetOperationStmt *setop);
|
||||
|
||||
#endif /* PREP_H */
|
||||
|
||||
Reference in New Issue
Block a user