codekingpro/portable-devtools
115k
1/*-------------------------------------------------------------------------2 *3 * paramassign.h4 * Functions for assigning PARAM_EXEC slots during planning.5 *6 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group7 * Portions Copyright (c) 1994, Regents of the University of California8 *9 * src/include/optimizer/paramassign.h10 *11 *-------------------------------------------------------------------------12 */13#ifndef PARAMASSIGN_H14#define PARAMASSIGN_H15 16#include "nodes/pathnodes.h"17 18extern Param *replace_outer_var(PlannerInfo *root, Var *var);19extern Param *replace_outer_placeholdervar(PlannerInfo *root,20 PlaceHolderVar *phv);21extern Param *replace_outer_agg(PlannerInfo *root, Aggref *agg);22extern Param *replace_outer_grouping(PlannerInfo *root, GroupingFunc *grp);23extern Param *replace_nestloop_param_var(PlannerInfo *root, Var *var);24extern Param *replace_nestloop_param_placeholdervar(PlannerInfo *root,25 PlaceHolderVar *phv);26extern void process_subquery_nestloop_params(PlannerInfo *root,27 List *subplan_params);28extern List *identify_current_nestloop_params(PlannerInfo *root,29 Relids leftrelids);30extern Param *generate_new_exec_param(PlannerInfo *root, Oid paramtype,31 int32 paramtypmod, Oid paramcollation);32extern int assign_special_exec_param(PlannerInfo *root);33 34#endif /* PARAMASSIGN_H */35 