mirror of
https://github.com/postgres/postgres.git
synced 2025-10-27 00:12:01 +03:00
Remove planner's private fields from Query struct, and put them into
a new PlannerInfo struct, which is passed around instead of the bare Query in all the planning code. This commit is essentially just a code-beautification exercise, but it does open the door to making larger changes to the planner data structures without having to muck with the widely-known Query struct.
This commit is contained in:
@@ -7,14 +7,13 @@
|
||||
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/optimizer/prep.h,v 1.49 2005/03/28 00:58:26 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/include/optimizer/prep.h,v 1.50 2005/06/05 22:32:58 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef PREP_H
|
||||
#define PREP_H
|
||||
|
||||
#include "nodes/parsenodes.h"
|
||||
#include "nodes/plannodes.h"
|
||||
#include "nodes/relation.h"
|
||||
|
||||
@@ -25,13 +24,13 @@
|
||||
extern int from_collapse_limit;
|
||||
extern int join_collapse_limit;
|
||||
|
||||
extern Node *pull_up_IN_clauses(Query *parse, Node *node);
|
||||
extern Node *pull_up_subqueries(Query *parse, Node *jtnode,
|
||||
extern Node *pull_up_IN_clauses(PlannerInfo *root, Node *node);
|
||||
extern Node *pull_up_subqueries(PlannerInfo *root, Node *jtnode,
|
||||
bool below_outer_join);
|
||||
extern void reduce_outer_joins(Query *parse);
|
||||
extern Node *simplify_jointree(Query *parse, Node *jtnode);
|
||||
extern void reduce_outer_joins(PlannerInfo *root);
|
||||
extern Node *simplify_jointree(PlannerInfo *root, Node *jtnode);
|
||||
extern Relids get_relids_in_jointree(Node *jtnode);
|
||||
extern Relids get_relids_for_join(Query *parse, int joinrelid);
|
||||
extern Relids get_relids_for_join(PlannerInfo *root, int joinrelid);
|
||||
|
||||
/*
|
||||
* prototypes for prepqual.c
|
||||
@@ -41,16 +40,16 @@ extern Expr *canonicalize_qual(Expr *qual);
|
||||
/*
|
||||
* prototypes for preptlist.c
|
||||
*/
|
||||
extern List *preprocess_targetlist(Query *parse, List *tlist);
|
||||
extern List *preprocess_targetlist(PlannerInfo *root, List *tlist);
|
||||
|
||||
/*
|
||||
* prototypes for prepunion.c
|
||||
*/
|
||||
extern Plan *plan_set_operations(Query *parse, List **sortClauses);
|
||||
extern Plan *plan_set_operations(PlannerInfo *root, List **sortClauses);
|
||||
|
||||
extern List *find_all_inheritors(Oid parentrel);
|
||||
|
||||
extern List *expand_inherited_rtentry(Query *parse, Index rti);
|
||||
extern List *expand_inherited_rtentry(PlannerInfo *root, Index rti);
|
||||
|
||||
extern Node *adjust_inherited_attrs(Node *node,
|
||||
Index old_rt_index, Oid old_relid,
|
||||
|
||||
Reference in New Issue
Block a user