PostgreSQL Source Code  git master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
placeholder.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * placeholder.h
4  * prototypes for optimizer/util/placeholder.c.
5  *
6  *
7  * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/optimizer/placeholder.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef PLACEHOLDER_H
15 #define PLACEHOLDER_H
16 
17 #include "nodes/relation.h"
18 
19 
21  Relids phrels);
23  PlaceHolderVar *phv, bool create_new_ph);
26  SpecialJoinInfo *new_sjinfo);
29 extern void add_placeholders_to_joinrel(PlannerInfo *root, RelOptInfo *joinrel,
30  RelOptInfo *outer_rel, RelOptInfo *inner_rel);
31 
32 #endif /* PLACEHOLDER_H */
void update_placeholder_eval_levels(PlannerInfo *root, SpecialJoinInfo *new_sjinfo)
Definition: placeholder.c:265
PlaceHolderVar * make_placeholder_expr(PlannerInfo *root, Expr *expr, Relids phrels)
Definition: placeholder.c:39
void add_placeholders_to_base_rels(PlannerInfo *root)
Definition: placeholder.c:379
void find_placeholders_in_jointree(PlannerInfo *root)
Definition: placeholder.c:144
PlaceHolderInfo * find_placeholder_info(PlannerInfo *root, PlaceHolderVar *phv, bool create_new_ph)
Definition: placeholder.c:69
void add_placeholders_to_joinrel(PlannerInfo *root, RelOptInfo *joinrel, RelOptInfo *outer_rel, RelOptInfo *inner_rel)
Definition: placeholder.c:411
void fix_placeholder_input_needed_levels(PlannerInfo *root)
Definition: placeholder.c:350