51 other_relids = rel2->
relids;
56 other_relids = rel1->
relids;
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)
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)
Assert(fmt[strlen(fmt) - 1] !='\n')
List * list_delete_ptr(List *list, void *datum)
List * lappend(List *list, void *datum)
bool list_member_ptr(const List *list, const void *datum)
static int list_length(const List *l)
RelOptInfo * find_base_rel_ignore_join(PlannerInfo *root, int relid)