Re: fixing typo in comment for restriction_is_or_clause - Mailing list pgsql-hackers
From | Japin Li |
---|---|
Subject | Re: fixing typo in comment for restriction_is_or_clause |
Date | |
Msg-id | MEYP282MB166917CA266844532CE9E237B6319@MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM Whole thread Raw |
In response to | fixing typo in comment for restriction_is_or_clause (Zhihong Yu <zyu@yugabyte.com>) |
List | pgsql-hackers |
On Tue, 25 Oct 2022 at 12:01, Richard Guo <guofenglinux@gmail.com> wrote: > On Tue, Oct 25, 2022 at 11:46 AM Japin Li <japinli@hotmail.com> wrote: > >> >> On Tue, 25 Oct 2022 at 11:07, Zhihong Yu <zyu@yugabyte.com> wrote: >> > Please take a look at patch v2. >> >> Maybe we should define those functions in headers. See patch v3. > > > Yes, putting them in .h file is better to me. For the v3 patch, we can > do the same one-line trick for restriction_is_securely_promotable. > Fixed. Please consider the v4 for further review. -- Regrads, Japin Li. ChengDu WenWu Information Technology Co.,Ltd. diff --git a/src/backend/optimizer/util/restrictinfo.c b/src/backend/optimizer/util/restrictinfo.c index ef8df3d098..8a6812b4b1 100644 --- a/src/backend/optimizer/util/restrictinfo.c +++ b/src/backend/optimizer/util/restrictinfo.c @@ -375,41 +375,6 @@ commute_restrictinfo(RestrictInfo *rinfo, Oid comm_op) return result; } -/* - * restriction_is_or_clause - * - * Returns t iff the restrictinfo node contains an 'or' clause. - */ -bool -restriction_is_or_clause(RestrictInfo *restrictinfo) -{ - if (restrictinfo->orclause != NULL) - return true; - else - return false; -} - -/* - * restriction_is_securely_promotable - * - * Returns true if it's okay to evaluate this clause "early", that is before - * other restriction clauses attached to the specified relation. - */ -bool -restriction_is_securely_promotable(RestrictInfo *restrictinfo, - RelOptInfo *rel) -{ - /* - * It's okay if there are no baserestrictinfo clauses for the rel that - * would need to go before this one, *or* if this one is leakproof. - */ - if (restrictinfo->security_level <= rel->baserestrict_min_security || - restrictinfo->leakproof) - return true; - else - return false; -} - /* * get_actual_clauses * diff --git a/src/include/optimizer/restrictinfo.h b/src/include/optimizer/restrictinfo.h index 6d30bd5e9d..b61707fd26 100644 --- a/src/include/optimizer/restrictinfo.h +++ b/src/include/optimizer/restrictinfo.h @@ -31,9 +31,6 @@ extern RestrictInfo *make_restrictinfo(PlannerInfo *root, Relids outer_relids, Relids nullable_relids); extern RestrictInfo *commute_restrictinfo(RestrictInfo *rinfo, Oid comm_op); -extern bool restriction_is_or_clause(RestrictInfo *restrictinfo); -extern bool restriction_is_securely_promotable(RestrictInfo *restrictinfo, - RelOptInfo *rel); extern List *get_actual_clauses(List *restrictinfo_list); extern List *extract_actual_clauses(List *restrictinfo_list, bool pseudoconstant); @@ -46,4 +43,33 @@ extern bool join_clause_is_movable_into(RestrictInfo *rinfo, Relids currentrelids, Relids current_and_outer); +/* + * restriction_is_or_clause + * + * Returns true iff the restrictinfo node contains an 'or' clause. + */ +static inline bool +restriction_is_or_clause(RestrictInfo *restrictinfo) +{ + return (restrictinfo->orclause != NULL); +} + +/* + * restriction_is_securely_promotable + * + * Returns true if it's okay to evaluate this clause "early", that is before + * other restriction clauses attached to the specified relation. + */ +static inline bool +restriction_is_securely_promotable(RestrictInfo *restrictinfo, + RelOptInfo *rel) +{ + /* + * It's okay if there are no baserestrictinfo clauses for the rel that + * would need to go before this one, *or* if this one is leakproof. + */ + return (restrictinfo->security_level <= rel->baserestrict_min_security || + restrictinfo->leakproof); +} + #endif /* RESTRICTINFO_H */
pgsql-hackers by date: