/* Convenience macro for the common case of a valid-everywhere qual */ #define make_simple_restrictinfo(root, clause) \
make_restrictinfo(root, clause, true, false, false, false, 0, \
NULL, NULL, NULL)
/* *clause_sides_match_join *Determinewhetherajoinclauseisoftherightformtouseinthisjoin. * *Wealreadyknowthattheclauseisabinaryopclausereferencingonlythe *relsinthecurrentjoin.Thepointhereistocheckwhetherithasthe *form"outerrel_expropinnerrel_expr"or"innerrel_expropouterrel_expr", *ratherthanmixingouterandinnervarsoneitherside.Ifitmatches, *wesetthetransientflagouter_is_lefttoidentifywhichsideiswhich.
*/ staticinlinebool
clause_sides_match_join(RestrictInfo *rinfo, Relids outerrelids,
Relids innerrelids)
{ if (bms_is_subset(rinfo->left_relids, outerrelids) &&
bms_is_subset(rinfo->right_relids, innerrelids))
{ /* lefthand side is outer */
rinfo->outer_is_left = true; returntrue;
} elseif (bms_is_subset(rinfo->left_relids, innerrelids) &&
bms_is_subset(rinfo->right_relids, outerrelids))
{ /* righthand side is outer */
rinfo->outer_is_left = false; returntrue;
} returnfalse; /* no good for these input relations */
}
#endif/* RESTRICTINFO_H */
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.0Bemerkung:
(vorverarbeitet am 2026-08-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.