54 other_relids = rel2->
relids;
59 other_relids = rel1->
relids;
121 int save_last_rinfo_serial =
root->last_rinfo_serial;
128 restrictinfo->pseudoconstant,
134 root->last_rinfo_serial = save_last_rinfo_serial;
int bms_next_member(const Bitmapset *a, int prevbit)
bool bms_overlap(const Bitmapset *a, const Bitmapset *b)
bool have_relevant_eclass_joinclause(PlannerInfo *root, RelOptInfo *rel1, RelOptInfo *rel2)
Assert(PointerIsAligned(start, uint64))
bool restriction_is_always_true(PlannerInfo *root, RestrictInfo *restrictinfo)
bool restriction_is_always_false(PlannerInfo *root, RestrictInfo *restrictinfo)
void remove_join_clause_from_rels(PlannerInfo *root, RestrictInfo *restrictinfo, Relids join_relids)
void add_join_clause_to_rels(PlannerInfo *root, RestrictInfo *restrictinfo, Relids join_relids)
bool have_relevant_joinclause(PlannerInfo *root, RelOptInfo *rel1, RelOptInfo *rel2)
List * list_delete_ptr(List *list, void *datum)
List * lappend(List *list, void *datum)
bool list_member_ptr(const List *list, const void *datum)
Node * makeBoolConst(bool value, bool isnull)
static int list_length(const List *l)
RelOptInfo * find_base_rel_ignore_join(PlannerInfo *root, int relid)
RestrictInfo * make_restrictinfo(PlannerInfo *root, Expr *clause, bool is_pushed_down, bool has_clone, bool is_clone, bool pseudoconstant, Index security_level, Relids required_relids, Relids incompatible_relids, Relids outer_relids)
Relids incompatible_relids