PostgreSQL Source Code
git master
|
#include "nodes/pathnodes.h"
Go to the source code of this file.
Functions | |
Param * | replace_outer_var (PlannerInfo *root, Var *var) |
Param * | replace_outer_placeholdervar (PlannerInfo *root, PlaceHolderVar *phv) |
Param * | replace_outer_agg (PlannerInfo *root, Aggref *agg) |
Param * | replace_outer_grouping (PlannerInfo *root, GroupingFunc *grp) |
Param * | replace_nestloop_param_var (PlannerInfo *root, Var *var) |
Param * | replace_nestloop_param_placeholdervar (PlannerInfo *root, PlaceHolderVar *phv) |
void | process_subquery_nestloop_params (PlannerInfo *root, List *subplan_params) |
List * | identify_current_nestloop_params (PlannerInfo *root, Relids leftrelids) |
Param * | generate_new_exec_param (PlannerInfo *root, Oid paramtype, int32 paramtypmod, Oid paramcollation) |
int | assign_special_exec_param (PlannerInfo *root) |
int assign_special_exec_param | ( | PlannerInfo * | root | ) |
Definition at line 584 of file paramassign.c.
References PlannerInfo::glob, InvalidOid, lappend_oid(), list_length(), and PlannerGlobal::paramExecTypes.
Referenced by create_gather_merge_plan(), create_gather_plan(), grouping_planner(), inheritance_planner(), SS_process_ctes(), and subquery_planner().
Param* generate_new_exec_param | ( | PlannerInfo * | root, |
Oid | paramtype, | ||
int32 | paramtypmod, | ||
Oid | paramcollation | ||
) |
Definition at line 557 of file paramassign.c.
References PlannerInfo::glob, lappend_oid(), list_length(), Param::location, makeNode, PARAM_EXEC, Param::paramcollid, PlannerGlobal::paramExecTypes, Param::paramid, Param::paramkind, Param::paramtype, and Param::paramtypmod.
Referenced by build_subplan(), convert_EXISTS_to_ANY(), generate_subquery_params(), replace_nestloop_param_placeholdervar(), replace_nestloop_param_var(), and SS_make_initplan_output_param().
List* identify_current_nestloop_params | ( | PlannerInfo * | root, |
Relids | leftrelids | ||
) |
Definition at line 508 of file paramassign.c.
References bms_is_member(), bms_is_subset(), bms_overlap(), PlannerInfo::curOuterParams, find_placeholder_info(), foreach_delete_current, IsA, lappend(), lfirst, NIL, NestLoopParam::paramval, PlaceHolderInfo::ph_eval_at, and Var::varno.
Referenced by create_nestloop_plan().
void process_subquery_nestloop_params | ( | PlannerInfo * | root, |
List * | subplan_params | ||
) |
Definition at line 428 of file paramassign.c.
References Assert, bms_is_member(), bms_is_subset(), castNode, copyObject, PlannerInfo::curOuterParams, PlannerInfo::curOuterRels, elog, equal(), ERROR, find_placeholder_info(), IsA, PlannerParamItem::item, lappend(), lfirst, makeNode, PlannerParamItem::paramId, and Var::varno.
Referenced by create_subqueryscan_plan().
Param* replace_nestloop_param_placeholdervar | ( | PlannerInfo * | root, |
PlaceHolderVar * | phv | ||
) |
Definition at line 364 of file paramassign.c.
References copyObject, PlannerInfo::curOuterParams, equal(), exprCollation(), exprType(), exprTypmod(), generate_new_exec_param(), lappend(), lfirst, Param::location, makeNode, PARAM_EXEC, Param::paramcollid, Param::paramid, Param::paramkind, NestLoopParam::paramno, Param::paramtype, Param::paramtypmod, NestLoopParam::paramval, and PlaceHolderVar::phexpr.
Referenced by replace_nestloop_params_mutator().
Param* replace_nestloop_param_var | ( | PlannerInfo * | root, |
Var * | var | ||
) |
Definition at line 315 of file paramassign.c.
References copyObject, PlannerInfo::curOuterParams, equal(), generate_new_exec_param(), lappend(), lfirst, Var::location, Param::location, makeNode, PARAM_EXEC, Param::paramcollid, Param::paramid, Param::paramkind, NestLoopParam::paramno, Param::paramtype, Param::paramtypmod, NestLoopParam::paramval, Var::varcollid, Var::vartype, and Var::vartypmod.
Referenced by replace_nestloop_params_mutator().
Param* replace_outer_agg | ( | PlannerInfo * | root, |
Aggref * | agg | ||
) |
Definition at line 223 of file paramassign.c.
References Aggref::agglevelsup, Assert, copyObject, PlannerInfo::glob, IncrementVarSublevelsUp(), PlannerParamItem::item, lappend(), lappend_oid(), list_length(), Param::location, makeNode, PARAM_EXEC, Param::paramcollid, PlannerGlobal::paramExecTypes, Param::paramid, PlannerParamItem::paramId, Param::paramkind, Param::paramtype, Param::paramtypmod, PlannerInfo::parent_root, PlannerInfo::plan_params, and PlannerInfo::query_level.
Referenced by replace_correlation_vars_mutator().
Param* replace_outer_grouping | ( | PlannerInfo * | root, |
GroupingFunc * | grp | ||
) |
Definition at line 269 of file paramassign.c.
References Assert, copyObject, exprType(), PlannerInfo::glob, IncrementVarSublevelsUp(), InvalidOid, PlannerParamItem::item, lappend(), lappend_oid(), list_length(), Param::location, makeNode, PARAM_EXEC, Param::paramcollid, PlannerGlobal::paramExecTypes, Param::paramid, PlannerParamItem::paramId, Param::paramkind, Param::paramtype, Param::paramtypmod, PlannerInfo::parent_root, PlannerInfo::plan_params, and PlannerInfo::query_level.
Referenced by replace_correlation_vars_mutator().
Param* replace_outer_placeholdervar | ( | PlannerInfo * | root, |
PlaceHolderVar * | phv | ||
) |
Definition at line 196 of file paramassign.c.
References Assert, assign_param_for_placeholdervar(), exprCollation(), exprType(), exprTypmod(), i, Param::location, makeNode, PARAM_EXEC, Param::paramcollid, Param::paramid, Param::paramkind, Param::paramtype, Param::paramtypmod, PlaceHolderVar::phexpr, PlaceHolderVar::phlevelsup, and PlannerInfo::query_level.
Referenced by replace_correlation_vars_mutator().
Param* replace_outer_var | ( | PlannerInfo * | root, |
Var * | var | ||
) |
Definition at line 119 of file paramassign.c.
References Assert, assign_param_for_var(), i, Var::location, Param::location, makeNode, PARAM_EXEC, Param::paramcollid, Param::paramid, Param::paramkind, Param::paramtype, Param::paramtypmod, PlannerInfo::query_level, Var::varcollid, Var::varlevelsup, Var::vartype, and Var::vartypmod.
Referenced by replace_correlation_vars_mutator().