mirror of
https://github.com/postgres/postgres.git
synced 2025-08-19 23:22:23 +03:00
Re-run pgindent with updated list of typedefs. (Updated README should
avoid this problem in the future.)
This commit is contained in:
@@ -54,7 +54,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/path/costsize.c,v 1.188 2007/11/15 21:14:35 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/path/costsize.c,v 1.189 2007/11/15 22:25:15 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -112,12 +112,12 @@ typedef struct
|
||||
{
|
||||
PlannerInfo *root;
|
||||
QualCost total;
|
||||
} cost_qual_eval_context;
|
||||
} cost_qual_eval_context;
|
||||
|
||||
static MergeScanSelCache *cached_scansel(PlannerInfo *root,
|
||||
RestrictInfo *rinfo,
|
||||
PathKey * pathkey);
|
||||
static bool cost_qual_eval_walker(Node *node, cost_qual_eval_context * context);
|
||||
PathKey *pathkey);
|
||||
static bool cost_qual_eval_walker(Node *node, cost_qual_eval_context *context);
|
||||
static Selectivity approx_selectivity(PlannerInfo *root, List *quals,
|
||||
JoinType jointype);
|
||||
static Selectivity join_in_selectivity(JoinPath *path, PlannerInfo *root);
|
||||
@@ -1593,7 +1593,7 @@ cost_mergejoin(MergePath *path, PlannerInfo *root)
|
||||
* run mergejoinscansel() with caching
|
||||
*/
|
||||
static MergeScanSelCache *
|
||||
cached_scansel(PlannerInfo *root, RestrictInfo *rinfo, PathKey * pathkey)
|
||||
cached_scansel(PlannerInfo *root, RestrictInfo *rinfo, PathKey *pathkey)
|
||||
{
|
||||
MergeScanSelCache *cache;
|
||||
ListCell *lc;
|
||||
@@ -1891,7 +1891,7 @@ cost_qual_eval_node(QualCost *cost, Node *qual, PlannerInfo *root)
|
||||
}
|
||||
|
||||
static bool
|
||||
cost_qual_eval_walker(Node *node, cost_qual_eval_context * context)
|
||||
cost_qual_eval_walker(Node *node, cost_qual_eval_context *context)
|
||||
{
|
||||
if (node == NULL)
|
||||
return false;
|
||||
|
@@ -10,7 +10,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/path/equivclass.c,v 1.5 2007/11/15 21:14:35 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/path/equivclass.c,v 1.6 2007/11/15 22:25:15 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -26,32 +26,32 @@
|
||||
#include "utils/lsyscache.h"
|
||||
|
||||
|
||||
static EquivalenceMember *add_eq_member(EquivalenceClass * ec,
|
||||
static EquivalenceMember *add_eq_member(EquivalenceClass *ec,
|
||||
Expr *expr, Relids relids,
|
||||
bool is_child, Oid datatype);
|
||||
static void generate_base_implied_equalities_const(PlannerInfo *root,
|
||||
EquivalenceClass * ec);
|
||||
EquivalenceClass *ec);
|
||||
static void generate_base_implied_equalities_no_const(PlannerInfo *root,
|
||||
EquivalenceClass * ec);
|
||||
EquivalenceClass *ec);
|
||||
static void generate_base_implied_equalities_broken(PlannerInfo *root,
|
||||
EquivalenceClass * ec);
|
||||
EquivalenceClass *ec);
|
||||
static List *generate_join_implied_equalities_normal(PlannerInfo *root,
|
||||
EquivalenceClass * ec,
|
||||
EquivalenceClass *ec,
|
||||
RelOptInfo *joinrel,
|
||||
RelOptInfo *outer_rel,
|
||||
RelOptInfo *inner_rel);
|
||||
static List *generate_join_implied_equalities_broken(PlannerInfo *root,
|
||||
EquivalenceClass * ec,
|
||||
EquivalenceClass *ec,
|
||||
RelOptInfo *joinrel,
|
||||
RelOptInfo *outer_rel,
|
||||
RelOptInfo *inner_rel);
|
||||
static Oid select_equality_operator(EquivalenceClass * ec,
|
||||
static Oid select_equality_operator(EquivalenceClass *ec,
|
||||
Oid lefttype, Oid righttype);
|
||||
static RestrictInfo *create_join_clause(PlannerInfo *root,
|
||||
EquivalenceClass * ec, Oid opno,
|
||||
EquivalenceMember * leftem,
|
||||
EquivalenceMember * rightem,
|
||||
EquivalenceClass * parent_ec);
|
||||
EquivalenceClass *ec, Oid opno,
|
||||
EquivalenceMember *leftem,
|
||||
EquivalenceMember *rightem,
|
||||
EquivalenceClass *parent_ec);
|
||||
static void reconsider_outer_join_clause(PlannerInfo *root,
|
||||
RestrictInfo *rinfo,
|
||||
bool outer_on_left);
|
||||
@@ -313,7 +313,7 @@ process_equivalence(PlannerInfo *root, RestrictInfo *restrictinfo,
|
||||
* add_eq_member - build a new EquivalenceMember and add it to an EC
|
||||
*/
|
||||
static EquivalenceMember *
|
||||
add_eq_member(EquivalenceClass * ec, Expr *expr, Relids relids,
|
||||
add_eq_member(EquivalenceClass *ec, Expr *expr, Relids relids,
|
||||
bool is_child, Oid datatype)
|
||||
{
|
||||
EquivalenceMember *em = makeNode(EquivalenceMember);
|
||||
@@ -554,7 +554,7 @@ generate_base_implied_equalities(PlannerInfo *root)
|
||||
*/
|
||||
static void
|
||||
generate_base_implied_equalities_const(PlannerInfo *root,
|
||||
EquivalenceClass * ec)
|
||||
EquivalenceClass *ec)
|
||||
{
|
||||
EquivalenceMember *const_em = NULL;
|
||||
ListCell *lc;
|
||||
@@ -603,7 +603,7 @@ generate_base_implied_equalities_const(PlannerInfo *root,
|
||||
*/
|
||||
static void
|
||||
generate_base_implied_equalities_no_const(PlannerInfo *root,
|
||||
EquivalenceClass * ec)
|
||||
EquivalenceClass *ec)
|
||||
{
|
||||
EquivalenceMember **prev_ems;
|
||||
ListCell *lc;
|
||||
@@ -685,7 +685,7 @@ generate_base_implied_equalities_no_const(PlannerInfo *root,
|
||||
*/
|
||||
static void
|
||||
generate_base_implied_equalities_broken(PlannerInfo *root,
|
||||
EquivalenceClass * ec)
|
||||
EquivalenceClass *ec)
|
||||
{
|
||||
ListCell *lc;
|
||||
|
||||
@@ -775,7 +775,7 @@ generate_join_implied_equalities(PlannerInfo *root,
|
||||
*/
|
||||
static List *
|
||||
generate_join_implied_equalities_normal(PlannerInfo *root,
|
||||
EquivalenceClass * ec,
|
||||
EquivalenceClass *ec,
|
||||
RelOptInfo *joinrel,
|
||||
RelOptInfo *outer_rel,
|
||||
RelOptInfo *inner_rel)
|
||||
@@ -944,7 +944,7 @@ generate_join_implied_equalities_normal(PlannerInfo *root,
|
||||
*/
|
||||
static List *
|
||||
generate_join_implied_equalities_broken(PlannerInfo *root,
|
||||
EquivalenceClass * ec,
|
||||
EquivalenceClass *ec,
|
||||
RelOptInfo *joinrel,
|
||||
RelOptInfo *outer_rel,
|
||||
RelOptInfo *inner_rel)
|
||||
@@ -973,7 +973,7 @@ generate_join_implied_equalities_broken(PlannerInfo *root,
|
||||
* Returns InvalidOid if no operator can be found for this datatype combination
|
||||
*/
|
||||
static Oid
|
||||
select_equality_operator(EquivalenceClass * ec, Oid lefttype, Oid righttype)
|
||||
select_equality_operator(EquivalenceClass *ec, Oid lefttype, Oid righttype)
|
||||
{
|
||||
ListCell *lc;
|
||||
|
||||
@@ -1003,10 +1003,10 @@ select_equality_operator(EquivalenceClass * ec, Oid lefttype, Oid righttype)
|
||||
*/
|
||||
static RestrictInfo *
|
||||
create_join_clause(PlannerInfo *root,
|
||||
EquivalenceClass * ec, Oid opno,
|
||||
EquivalenceMember * leftem,
|
||||
EquivalenceMember * rightem,
|
||||
EquivalenceClass * parent_ec)
|
||||
EquivalenceClass *ec, Oid opno,
|
||||
EquivalenceMember *leftem,
|
||||
EquivalenceMember *rightem,
|
||||
EquivalenceClass *parent_ec)
|
||||
{
|
||||
RestrictInfo *rinfo;
|
||||
ListCell *lc;
|
||||
@@ -1553,8 +1553,8 @@ find_eclass_clauses_for_index_join(PlannerInfo *root, RelOptInfo *rel,
|
||||
/*
|
||||
* Found one, so try to generate a join clause. This is like
|
||||
* generate_join_implied_equalities_normal, except simpler since
|
||||
* our only preference item is to pick a Var on the outer side.
|
||||
* We only need one join clause per index col.
|
||||
* our only preference item is to pick a Var on the outer side. We
|
||||
* only need one join clause per index col.
|
||||
*/
|
||||
foreach(lc3, cur_ec->ec_members)
|
||||
{
|
||||
@@ -1750,7 +1750,7 @@ has_relevant_eclass_joinclause(PlannerInfo *root, RelOptInfo *rel1)
|
||||
* from actually being generated.
|
||||
*/
|
||||
bool
|
||||
eclass_useful_for_merging(EquivalenceClass * eclass,
|
||||
eclass_useful_for_merging(EquivalenceClass *eclass,
|
||||
RelOptInfo *rel)
|
||||
{
|
||||
ListCell *lc;
|
||||
|
@@ -9,7 +9,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/path/indxpath.c,v 1.224 2007/11/15 21:14:35 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/path/indxpath.c,v 1.225 2007/11/15 22:25:15 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -52,7 +52,7 @@ typedef struct
|
||||
List *quals; /* the WHERE clauses it uses */
|
||||
List *preds; /* predicates of its partial index(es) */
|
||||
Bitmapset *clauseids; /* quals+preds represented as a bitmapset */
|
||||
} PathClauseUsage;
|
||||
} PathClauseUsage;
|
||||
|
||||
|
||||
static List *find_usable_indexes(PlannerInfo *root, RelOptInfo *rel,
|
||||
@@ -774,8 +774,8 @@ choose_bitmap_and(PlannerInfo *root, RelOptInfo *rel,
|
||||
static int
|
||||
path_usage_comparator(const void *a, const void *b)
|
||||
{
|
||||
PathClauseUsage *pa = *(PathClauseUsage * const *) a;
|
||||
PathClauseUsage *pb = *(PathClauseUsage * const *) b;
|
||||
PathClauseUsage *pa = *(PathClauseUsage *const *) a;
|
||||
PathClauseUsage *pb = *(PathClauseUsage *const *) b;
|
||||
Cost acost;
|
||||
Cost bcost;
|
||||
Selectivity aselec;
|
||||
@@ -1569,7 +1569,7 @@ matches_any_index(RestrictInfo *rinfo, RelOptInfo *rel, Relids outer_relids)
|
||||
* This is also exported for use by find_eclass_clauses_for_index_join.
|
||||
*/
|
||||
bool
|
||||
eclass_matches_any_index(EquivalenceClass * ec, EquivalenceMember * em,
|
||||
eclass_matches_any_index(EquivalenceClass *ec, EquivalenceMember *em,
|
||||
RelOptInfo *rel)
|
||||
{
|
||||
ListCell *l;
|
||||
|
@@ -11,7 +11,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/path/pathkeys.c,v 1.90 2007/11/15 21:14:36 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/path/pathkeys.c,v 1.91 2007/11/15 22:25:15 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -37,12 +37,12 @@
|
||||
#define MUST_BE_REDUNDANT(eclass) \
|
||||
((eclass)->ec_has_const && !(eclass)->ec_below_outer_join)
|
||||
|
||||
static PathKey *makePathKey(EquivalenceClass * eclass, Oid opfamily,
|
||||
static PathKey *makePathKey(EquivalenceClass *eclass, Oid opfamily,
|
||||
int strategy, bool nulls_first);
|
||||
static PathKey *make_canonical_pathkey(PlannerInfo *root,
|
||||
EquivalenceClass * eclass, Oid opfamily,
|
||||
EquivalenceClass *eclass, Oid opfamily,
|
||||
int strategy, bool nulls_first);
|
||||
static bool pathkey_is_redundant(PathKey * new_pathkey, List *pathkeys);
|
||||
static bool pathkey_is_redundant(PathKey *new_pathkey, List *pathkeys);
|
||||
static PathKey *make_pathkey_from_sortinfo(PlannerInfo *root,
|
||||
Expr *expr, Oid ordering_op,
|
||||
bool nulls_first,
|
||||
@@ -50,7 +50,7 @@ static PathKey *make_pathkey_from_sortinfo(PlannerInfo *root,
|
||||
bool canonicalize);
|
||||
static Var *find_indexkey_var(PlannerInfo *root, RelOptInfo *rel,
|
||||
AttrNumber varattno);
|
||||
static bool right_merge_direction(PlannerInfo *root, PathKey * pathkey);
|
||||
static bool right_merge_direction(PlannerInfo *root, PathKey *pathkey);
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
@@ -65,7 +65,7 @@ static bool right_merge_direction(PlannerInfo *root, PathKey * pathkey);
|
||||
* convenience routine to build the specified node.
|
||||
*/
|
||||
static PathKey *
|
||||
makePathKey(EquivalenceClass * eclass, Oid opfamily,
|
||||
makePathKey(EquivalenceClass *eclass, Oid opfamily,
|
||||
int strategy, bool nulls_first)
|
||||
{
|
||||
PathKey *pk = makeNode(PathKey);
|
||||
@@ -89,7 +89,7 @@ makePathKey(EquivalenceClass * eclass, Oid opfamily,
|
||||
*/
|
||||
static PathKey *
|
||||
make_canonical_pathkey(PlannerInfo *root,
|
||||
EquivalenceClass * eclass, Oid opfamily,
|
||||
EquivalenceClass *eclass, Oid opfamily,
|
||||
int strategy, bool nulls_first)
|
||||
{
|
||||
PathKey *pk;
|
||||
@@ -155,7 +155,7 @@ make_canonical_pathkey(PlannerInfo *root,
|
||||
* pointer comparison is enough to decide whether canonical ECs are the same.
|
||||
*/
|
||||
static bool
|
||||
pathkey_is_redundant(PathKey * new_pathkey, List *pathkeys)
|
||||
pathkey_is_redundant(PathKey *new_pathkey, List *pathkeys)
|
||||
{
|
||||
EquivalenceClass *new_ec = new_pathkey->pk_eclass;
|
||||
ListCell *lc;
|
||||
@@ -1392,7 +1392,7 @@ pathkeys_useful_for_merging(PlannerInfo *root, RelOptInfo *rel, List *pathkeys)
|
||||
* for merging its target column.
|
||||
*/
|
||||
static bool
|
||||
right_merge_direction(PlannerInfo *root, PathKey * pathkey)
|
||||
right_merge_direction(PlannerInfo *root, PathKey *pathkey)
|
||||
{
|
||||
ListCell *l;
|
||||
|
||||
|
@@ -10,7 +10,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/plan/createplan.c,v 1.235 2007/11/15 21:14:36 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/plan/createplan.c,v 1.236 2007/11/15 22:25:15 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -2141,7 +2141,7 @@ order_qual_clauses(PlannerInfo *root, List *clauses)
|
||||
{
|
||||
Node *clause;
|
||||
Cost cost;
|
||||
} QualItem;
|
||||
} QualItem;
|
||||
int nitems = list_length(clauses);
|
||||
QualItem *items;
|
||||
ListCell *lc;
|
||||
|
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/plan/planner.c,v 1.224 2007/11/15 21:14:36 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/plan/planner.c,v 1.225 2007/11/15 22:25:15 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -229,7 +229,7 @@ standard_planner(Query *parse, int cursorOptions, ParamListInfo boundParams)
|
||||
*--------------------
|
||||
*/
|
||||
Plan *
|
||||
subquery_planner(PlannerGlobal * glob, Query *parse,
|
||||
subquery_planner(PlannerGlobal *glob, Query *parse,
|
||||
Index level, double tuple_fraction,
|
||||
PlannerInfo **subroot)
|
||||
{
|
||||
|
@@ -9,7 +9,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/plan/setrefs.c,v 1.138 2007/11/15 21:14:36 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/plan/setrefs.c,v 1.139 2007/11/15 22:25:15 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -45,7 +45,7 @@ typedef struct
|
||||
{
|
||||
PlannerGlobal *glob;
|
||||
int rtoffset;
|
||||
} fix_scan_expr_context;
|
||||
} fix_scan_expr_context;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@@ -54,29 +54,29 @@ typedef struct
|
||||
indexed_tlist *inner_itlist;
|
||||
Index acceptable_rel;
|
||||
int rtoffset;
|
||||
} fix_join_expr_context;
|
||||
} fix_join_expr_context;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
PlannerGlobal *glob;
|
||||
indexed_tlist *subplan_itlist;
|
||||
int rtoffset;
|
||||
} fix_upper_expr_context;
|
||||
} fix_upper_expr_context;
|
||||
|
||||
#define fix_scan_list(glob, lst, rtoffset) \
|
||||
((List *) fix_scan_expr(glob, (Node *) (lst), rtoffset))
|
||||
|
||||
static Plan *set_plan_refs(PlannerGlobal * glob, Plan *plan, int rtoffset);
|
||||
static Plan *set_subqueryscan_references(PlannerGlobal * glob,
|
||||
static Plan *set_plan_refs(PlannerGlobal *glob, Plan *plan, int rtoffset);
|
||||
static Plan *set_subqueryscan_references(PlannerGlobal *glob,
|
||||
SubqueryScan *plan,
|
||||
int rtoffset);
|
||||
static bool trivial_subqueryscan(SubqueryScan *plan);
|
||||
static Node *fix_scan_expr(PlannerGlobal * glob, Node *node, int rtoffset);
|
||||
static Node *fix_scan_expr_mutator(Node *node, fix_scan_expr_context * context);
|
||||
static void set_join_references(PlannerGlobal * glob, Join *join, int rtoffset);
|
||||
static void set_inner_join_references(PlannerGlobal * glob, Plan *inner_plan,
|
||||
static Node *fix_scan_expr(PlannerGlobal *glob, Node *node, int rtoffset);
|
||||
static Node *fix_scan_expr_mutator(Node *node, fix_scan_expr_context *context);
|
||||
static void set_join_references(PlannerGlobal *glob, Join *join, int rtoffset);
|
||||
static void set_inner_join_references(PlannerGlobal *glob, Plan *inner_plan,
|
||||
indexed_tlist *outer_itlist);
|
||||
static void set_upper_references(PlannerGlobal * glob, Plan *plan, int rtoffset);
|
||||
static void set_upper_references(PlannerGlobal *glob, Plan *plan, int rtoffset);
|
||||
static void set_dummy_tlist_references(Plan *plan, int rtoffset);
|
||||
static indexed_tlist *build_tlist_index(List *tlist);
|
||||
static Var *search_indexed_tlist_for_var(Var *var,
|
||||
@@ -86,19 +86,19 @@ static Var *search_indexed_tlist_for_var(Var *var,
|
||||
static Var *search_indexed_tlist_for_non_var(Node *node,
|
||||
indexed_tlist *itlist,
|
||||
Index newvarno);
|
||||
static List *fix_join_expr(PlannerGlobal * glob,
|
||||
static List *fix_join_expr(PlannerGlobal *glob,
|
||||
List *clauses,
|
||||
indexed_tlist *outer_itlist,
|
||||
indexed_tlist *inner_itlist,
|
||||
Index acceptable_rel, int rtoffset);
|
||||
static Node *fix_join_expr_mutator(Node *node,
|
||||
fix_join_expr_context * context);
|
||||
static Node *fix_upper_expr(PlannerGlobal * glob,
|
||||
fix_join_expr_context *context);
|
||||
static Node *fix_upper_expr(PlannerGlobal *glob,
|
||||
Node *node,
|
||||
indexed_tlist *subplan_itlist,
|
||||
int rtoffset);
|
||||
static Node *fix_upper_expr_mutator(Node *node,
|
||||
fix_upper_expr_context * context);
|
||||
fix_upper_expr_context *context);
|
||||
static bool fix_opfuncids_walker(Node *node, void *context);
|
||||
|
||||
|
||||
@@ -160,7 +160,7 @@ static bool fix_opfuncids_walker(Node *node, void *context);
|
||||
* it's not so safe to assume that for expression tree nodes.
|
||||
*/
|
||||
Plan *
|
||||
set_plan_references(PlannerGlobal * glob, Plan *plan, List *rtable)
|
||||
set_plan_references(PlannerGlobal *glob, Plan *plan, List *rtable)
|
||||
{
|
||||
int rtoffset = list_length(glob->finalrtable);
|
||||
ListCell *lc;
|
||||
@@ -215,7 +215,7 @@ set_plan_references(PlannerGlobal * glob, Plan *plan, List *rtable)
|
||||
* set_plan_refs: recurse through the Plan nodes of a single subquery level
|
||||
*/
|
||||
static Plan *
|
||||
set_plan_refs(PlannerGlobal * glob, Plan *plan, int rtoffset)
|
||||
set_plan_refs(PlannerGlobal *glob, Plan *plan, int rtoffset)
|
||||
{
|
||||
ListCell *l;
|
||||
|
||||
@@ -473,7 +473,7 @@ set_plan_refs(PlannerGlobal * glob, Plan *plan, int rtoffset)
|
||||
* to do the normal processing on it.
|
||||
*/
|
||||
static Plan *
|
||||
set_subqueryscan_references(PlannerGlobal * glob,
|
||||
set_subqueryscan_references(PlannerGlobal *glob,
|
||||
SubqueryScan *plan,
|
||||
int rtoffset)
|
||||
{
|
||||
@@ -619,7 +619,7 @@ copyVar(Var *var)
|
||||
* and adding OIDs from regclass Const nodes into glob->relationOids.
|
||||
*/
|
||||
static Node *
|
||||
fix_scan_expr(PlannerGlobal * glob, Node *node, int rtoffset)
|
||||
fix_scan_expr(PlannerGlobal *glob, Node *node, int rtoffset)
|
||||
{
|
||||
fix_scan_expr_context context;
|
||||
|
||||
@@ -629,7 +629,7 @@ fix_scan_expr(PlannerGlobal * glob, Node *node, int rtoffset)
|
||||
}
|
||||
|
||||
static Node *
|
||||
fix_scan_expr_mutator(Node *node, fix_scan_expr_context * context)
|
||||
fix_scan_expr_mutator(Node *node, fix_scan_expr_context *context)
|
||||
{
|
||||
if (node == NULL)
|
||||
return NULL;
|
||||
@@ -700,7 +700,7 @@ fix_scan_expr_mutator(Node *node, fix_scan_expr_context * context)
|
||||
* quals of the child indexscan. set_inner_join_references does that.
|
||||
*/
|
||||
static void
|
||||
set_join_references(PlannerGlobal * glob, Join *join, int rtoffset)
|
||||
set_join_references(PlannerGlobal *glob, Join *join, int rtoffset)
|
||||
{
|
||||
Plan *outer_plan = join->plan.lefttree;
|
||||
Plan *inner_plan = join->plan.righttree;
|
||||
@@ -777,7 +777,7 @@ set_join_references(PlannerGlobal * glob, Join *join, int rtoffset)
|
||||
* recursion reaches the inner indexscan, and so we'd have done it twice.
|
||||
*/
|
||||
static void
|
||||
set_inner_join_references(PlannerGlobal * glob, Plan *inner_plan,
|
||||
set_inner_join_references(PlannerGlobal *glob, Plan *inner_plan,
|
||||
indexed_tlist *outer_itlist)
|
||||
{
|
||||
if (IsA(inner_plan, IndexScan))
|
||||
@@ -969,7 +969,7 @@ set_inner_join_references(PlannerGlobal * glob, Plan *inner_plan,
|
||||
* the expression.
|
||||
*/
|
||||
static void
|
||||
set_upper_references(PlannerGlobal * glob, Plan *plan, int rtoffset)
|
||||
set_upper_references(PlannerGlobal *glob, Plan *plan, int rtoffset)
|
||||
{
|
||||
Plan *subplan = plan->lefttree;
|
||||
indexed_tlist *subplan_itlist;
|
||||
@@ -1254,7 +1254,7 @@ search_indexed_tlist_for_non_var(Node *node,
|
||||
* not modified.
|
||||
*/
|
||||
static List *
|
||||
fix_join_expr(PlannerGlobal * glob,
|
||||
fix_join_expr(PlannerGlobal *glob,
|
||||
List *clauses,
|
||||
indexed_tlist *outer_itlist,
|
||||
indexed_tlist *inner_itlist,
|
||||
@@ -1272,7 +1272,7 @@ fix_join_expr(PlannerGlobal * glob,
|
||||
}
|
||||
|
||||
static Node *
|
||||
fix_join_expr_mutator(Node *node, fix_join_expr_context * context)
|
||||
fix_join_expr_mutator(Node *node, fix_join_expr_context *context)
|
||||
{
|
||||
Var *newvar;
|
||||
|
||||
@@ -1385,7 +1385,7 @@ fix_join_expr_mutator(Node *node, fix_join_expr_context * context)
|
||||
* The original tree is not modified.
|
||||
*/
|
||||
static Node *
|
||||
fix_upper_expr(PlannerGlobal * glob,
|
||||
fix_upper_expr(PlannerGlobal *glob,
|
||||
Node *node,
|
||||
indexed_tlist *subplan_itlist,
|
||||
int rtoffset)
|
||||
@@ -1399,7 +1399,7 @@ fix_upper_expr(PlannerGlobal * glob,
|
||||
}
|
||||
|
||||
static Node *
|
||||
fix_upper_expr_mutator(Node *node, fix_upper_expr_context * context)
|
||||
fix_upper_expr_mutator(Node *node, fix_upper_expr_context *context)
|
||||
{
|
||||
Var *newvar;
|
||||
|
||||
@@ -1479,7 +1479,7 @@ fix_upper_expr_mutator(Node *node, fix_upper_expr_context * context)
|
||||
* they are not coming from a subplan.
|
||||
*/
|
||||
List *
|
||||
set_returning_clause_references(PlannerGlobal * glob,
|
||||
set_returning_clause_references(PlannerGlobal *glob,
|
||||
List *rlist,
|
||||
Plan *topplan,
|
||||
Index resultRelation)
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/plan/subselect.c,v 1.126 2007/11/15 21:14:36 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/optimizer/plan/subselect.c,v 1.127 2007/11/15 22:25:15 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -43,7 +43,7 @@ typedef struct process_sublinks_context
|
||||
{
|
||||
PlannerInfo *root;
|
||||
bool isTopQual;
|
||||
} process_sublinks_context;
|
||||
} process_sublinks_context;
|
||||
|
||||
typedef struct finalize_primnode_context
|
||||
{
|
||||
@@ -63,7 +63,7 @@ static bool subplan_is_hashable(SubLink *slink, SubPlan *node, Plan *plan);
|
||||
static bool hash_ok_operator(OpExpr *expr);
|
||||
static Node *replace_correlation_vars_mutator(Node *node, PlannerInfo *root);
|
||||
static Node *process_sublinks_mutator(Node *node,
|
||||
process_sublinks_context * context);
|
||||
process_sublinks_context *context);
|
||||
static Bitmapset *finalize_plan(PlannerInfo *root,
|
||||
Plan *plan,
|
||||
Bitmapset *outer_params,
|
||||
@@ -865,7 +865,7 @@ SS_process_sublinks(PlannerInfo *root, Node *expr, bool isQual)
|
||||
}
|
||||
|
||||
static Node *
|
||||
process_sublinks_mutator(Node *node, process_sublinks_context * context)
|
||||
process_sublinks_mutator(Node *node, process_sublinks_context *context)
|
||||
{
|
||||
process_sublinks_context locContext;
|
||||
|
||||
|
Reference in New Issue
Block a user