PostgreSQL Source Code  git master
paramassign.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * paramassign.h
4  * Functions for assigning PARAM_EXEC slots during planning.
5  *
6  * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
7  * Portions Copyright (c) 1994, Regents of the University of California
8  *
9  * src/include/optimizer/paramassign.h
10  *
11  *-------------------------------------------------------------------------
12  */
13 #ifndef PARAMASSIGN_H
14 #define PARAMASSIGN_H
15 
16 #include "nodes/pathnodes.h"
17 
18 extern Param *replace_outer_var(PlannerInfo *root, Var *var);
20  PlaceHolderVar *phv);
21 extern Param *replace_outer_agg(PlannerInfo *root, Aggref *agg);
23 extern Param *replace_nestloop_param_var(PlannerInfo *root, Var *var);
25  PlaceHolderVar *phv);
27  List *subplan_params);
29  Relids leftrelids);
30 extern Param *generate_new_exec_param(PlannerInfo *root, Oid paramtype,
31  int32 paramtypmod, Oid paramcollation);
32 extern int assign_special_exec_param(PlannerInfo *root);
33 
34 #endif /* PARAMASSIGN_H */
signed int int32
Definition: c.h:483
Param * generate_new_exec_param(PlannerInfo *root, Oid paramtype, int32 paramtypmod, Oid paramcollation)
Definition: paramassign.c:585
Param * replace_outer_var(PlannerInfo *root, Var *var)
Definition: paramassign.c:119
void process_subquery_nestloop_params(PlannerInfo *root, List *subplan_params)
Definition: paramassign.c:428
Param * replace_outer_grouping(PlannerInfo *root, GroupingFunc *grp)
Definition: paramassign.c:269
Param * replace_nestloop_param_var(PlannerInfo *root, Var *var)
Definition: paramassign.c:315
List * identify_current_nestloop_params(PlannerInfo *root, Relids leftrelids)
Definition: paramassign.c:530
Param * replace_outer_placeholdervar(PlannerInfo *root, PlaceHolderVar *phv)
Definition: paramassign.c:196
Param * replace_outer_agg(PlannerInfo *root, Aggref *agg)
Definition: paramassign.c:223
Param * replace_nestloop_param_placeholdervar(PlannerInfo *root, PlaceHolderVar *phv)
Definition: paramassign.c:364
int assign_special_exec_param(PlannerInfo *root)
Definition: paramassign.c:612
unsigned int Oid
Definition: postgres_ext.h:31
Definition: pg_list.h:54
Definition: primnodes.h:234