You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Improve performance by eliminating extra copies of predicates when translating from authorization logic to Datalog. This can be done by extending the dlir.h with a predicate modifier class like:
and by replacing occurances of Predicate in the dlir.h tree with another new class with a private member of type std::variant<Predicate, PredicateModifier.
The implementation of PushOntoPred of dlir.h would then need to be updated to to produce PredicateModifiers instead of just predicates.
The text was updated successfully, but these errors were encountered:
Just to address the confusion here: when I was suggesting absl::string_view, I was mostly suggesting it for the parameters that lead up to the creating of Predicates (or soon-to-be PredicateModifiers) so you didn't have to wrap string literals in std::string constructor calls. Once you get to actually creating a long-lived object that refers to a string, I think it is appropriate to make PredicateModifier hold onto its own std::string to eliminate lifetime concerns, as @bgogul suggests.
cc: @markww
Improve performance by eliminating extra copies of predicates when translating from authorization logic to Datalog. This can be done by extending the
dlir.h
with a predicate modifier class like:and by replacing occurances of
Predicate
in thedlir.h
tree with another new class with a private member of typestd::variant<Predicate, PredicateModifier
.The implementation of
PushOntoPred
ofdlir.h
would then need to be updated to to produce PredicateModifiers instead of just predicates.The text was updated successfully, but these errors were encountered: