PostgreSQL Source Code  git master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * subselect.h
4  *
5  * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
6  * Portions Copyright (c) 1994, Regents of the University of California
7  *
8  * src/include/optimizer/subselect.h
9  *
10  *-------------------------------------------------------------------------
11  */
12 #ifndef SUBSELECT_H
13 #define SUBSELECT_H
15 #include "nodes/plannodes.h"
16 #include "nodes/relation.h"
18 extern void SS_process_ctes(PlannerInfo *root);
20  SubLink *sublink,
21  Relids available_rels);
23  SubLink *sublink,
24  bool under_not,
25  Relids available_rels);
26 extern Node *SS_replace_correlation_vars(PlannerInfo *root, Node *expr);
27 extern Node *SS_process_sublinks(PlannerInfo *root, Node *expr, bool isQual);
28 extern void SS_identify_outer_params(PlannerInfo *root);
29 extern void SS_charge_for_initplans(PlannerInfo *root, RelOptInfo *final_rel);
30 extern void SS_attach_initplans(PlannerInfo *root, Plan *plan);
31 extern void SS_finalize_plan(PlannerInfo *root, Plan *plan);
33  Oid resulttype, int32 resulttypmod,
34  Oid resultcollation);
35 extern void SS_make_initplan_from_plan(PlannerInfo *root,
36  PlannerInfo *subroot, Plan *plan,
37  Param *prm);
38 extern Param *assign_nestloop_param_var(PlannerInfo *root, Var *var);
40  PlaceHolderVar *phv);
41 extern int SS_assign_special_param(PlannerInfo *root);
43 #endif /* SUBSELECT_H */
Param * assign_nestloop_param_placeholdervar(PlannerInfo *root, PlaceHolderVar *phv)
Definition: subselect.c:279
JoinExpr * convert_ANY_sublink_to_join(PlannerInfo *root, SubLink *sublink, Relids available_rels)
Definition: subselect.c:1300
int SS_assign_special_param(PlannerInfo *root)
Definition: subselect.c:416
Definition: nodes.h:509
Param * assign_nestloop_param_var(PlannerInfo *root, Var *var)
Definition: subselect.c:175
unsigned int Oid
Definition: postgres_ext.h:31
Definition: primnodes.h:163
signed int int32
Definition: c.h:246
void SS_charge_for_initplans(PlannerInfo *root, RelOptInfo *final_rel)
Definition: subselect.c:2153
void SS_identify_outer_params(PlannerInfo *root)
Definition: subselect.c:2091
JoinExpr * convert_EXISTS_sublink_to_join(PlannerInfo *root, SubLink *sublink, bool under_not, Relids available_rels)
Definition: subselect.c:1405
void SS_process_ctes(PlannerInfo *root)
Definition: subselect.c:1141
void SS_make_initplan_from_plan(PlannerInfo *root, PlannerInfo *subroot, Plan *plan, Param *prm)
Definition: subselect.c:2967
Node * SS_replace_correlation_vars(PlannerInfo *root, Node *expr)
Definition: subselect.c:1899
void SS_attach_initplans(PlannerInfo *root, Plan *plan)
Definition: subselect.c:2203
Node * SS_process_sublinks(PlannerInfo *root, Node *expr, bool isQual)
Definition: subselect.c:1944
Param * SS_make_initplan_output_param(PlannerInfo *root, Oid resulttype, int32 resulttypmod, Oid resultcollation)
Definition: subselect.c:2952
void SS_finalize_plan(PlannerInfo *root, Plan *plan)
Definition: subselect.c:2218