MCPcopy Create free account
hub / github.com/cel-expr/cel-cpp / SelectQualifierFromConstant

Function SelectQualifierFromConstant

extensions/select_optimization.cc:215–231  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

213}
214
215absl::StatusOr<SelectQualifier> SelectQualifierFromConstant(
216 const Constant& constant) {
217 if (constant.has_int_value()) {
218 return AttributeQualifier::OfInt(constant.int_value());
219 } else if (constant.has_uint_value()) {
220 return AttributeQualifier::OfUint(constant.uint_value());
221 } else if (constant.has_bool_value()) {
222 return AttributeQualifier::OfBool(constant.bool_value());
223 } else if (constant.has_string_value()) {
224 return AttributeQualifier::OfString(constant.string_value());
225 }
226 // TODO(uncreated-issue/51): double keys could possibly be valid selectors, but
227 // the other stacks don't implement the optimization yet and we normalize the
228 // key to a uint or int if we do the late AST rewrite during planning.
229
230 return absl::InvalidArgumentError("invalid cel.attribute constant");
231}
232
233absl::StatusOr<size_t> ListIndexFromQualifier(const AttributeQualifier& qual) {
234 int64_t value = -1;

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected