88 elog(
ERROR,
"too late to create a new PlaceHolderInfo");
203 elog(
ERROR,
"unrecognized node type: %d",
325 }
while (found_some);
bool bms_is_subset(const Bitmapset *a, const Bitmapset *b)
Bitmapset * bms_difference(const Bitmapset *a, const Bitmapset *b)
Bitmapset * bms_add_members(Bitmapset *a, const Bitmapset *b)
Bitmapset * bms_int_members(Bitmapset *a, const Bitmapset *b)
bool bms_is_empty(const Bitmapset *a)
bool bms_overlap(const Bitmapset *a, const Bitmapset *b)
Bitmapset * bms_copy(const Bitmapset *a)
bool bms_get_singleton_member(const Bitmapset *a, int *member)
bool bms_nonempty_difference(const Bitmapset *a, const Bitmapset *b)
void cost_qual_eval_node(QualCost *cost, Node *qual, PlannerInfo *root)
void add_vars_to_targetlist(PlannerInfo *root, List *vars, Relids where_needed, bool create_new_ph)
Assert(fmt[strlen(fmt) - 1] !='\n')
List * lappend(List *list, void *datum)
void list_free(List *list)
int32 get_typavgwidth(Oid typid, int32 typmod)
Oid exprType(const Node *expr)
int32 exprTypmod(const Node *expr)
#define IsA(nodeptr, _type_)
#define PVC_RECURSE_AGGREGATES
#define PVC_RECURSE_WINDOWFUNCS
#define PVC_INCLUDE_PLACEHOLDERS
PlaceHolderInfo * find_placeholder_info(PlannerInfo *root, PlaceHolderVar *phv, bool create_new_ph)
void add_placeholders_to_joinrel(PlannerInfo *root, RelOptInfo *joinrel, RelOptInfo *outer_rel, RelOptInfo *inner_rel)
void add_placeholders_to_base_rels(PlannerInfo *root)
void update_placeholder_eval_levels(PlannerInfo *root, SpecialJoinInfo *new_sjinfo)
void fix_placeholder_input_needed_levels(PlannerInfo *root)
PlaceHolderVar * make_placeholder_expr(PlannerInfo *root, Expr *expr, Relids phrels)
static void find_placeholders_in_expr(PlannerInfo *root, Node *expr)
static void find_placeholders_recurse(PlannerInfo *root, Node *jtnode)
void find_placeholders_in_jointree(PlannerInfo *root)
RelOptInfo * find_base_rel(PlannerInfo *root, int relid)
struct PathTarget * reltarget
Relids direct_lateral_relids
List * pull_var_clause(Node *node, int flags)
Relids pull_varnos(PlannerInfo *root, Node *node)