Query DSL¶
Namespace: dftracer::utils::utilities::common::query
-
struct AndNode¶
left and right.
-
struct ArrayNode¶
An array of literal values (used by in/not-in).
Public Members
-
std::vector<LiteralNode> elements¶
-
std::vector<LiteralNode> elements¶
-
struct CompareNode¶
field op value (e.g., cat == “POSIX”).
-
struct FieldNode¶
A field reference (e.g., “cat”, “args.level”).
Public Members
-
std::string path¶
Dotted path into JSON.
-
std::string path¶
-
struct InNode¶
field in [values] (e.g., cat in [“POSIX”, “STDIO”]).
-
struct NotInNode¶
field not in [values].
-
struct OrNode¶
left or right.
-
class Query¶
Owns a parsed query AST and provides evaluation.
Public Functions
-
bool evaluate(const json::JsonValue &event) const¶
Evaluate against a JSON event. Missing fields → false.
-
bool evaluate(const ValueMap &fields) const¶
Evaluate against a typed key-value map. Missing fields → false.
-
inline const std::string &source() const¶
Original query source string.
-
std::string to_string() const¶
Serialize AST back to query DSL string.
-
inline const dftracer::utils::StringViewSet &fields() const¶
Fields referenced by this query, precomputed at construction.
-
inline bool references(std::string_view field) const¶
Public Static Functions
-
static dftracer::utils::expected<Query, QueryError> from_string(std::string_view input)¶
Parse a query DSL string. Returns error on invalid syntax.
-
bool evaluate(const json::JsonValue &event) const¶
-
struct QueryError¶
Structured parse error with source location.
Public Functions
-
std::string format() const¶
Format as multi-line error message with source and indicator.
-
std::string format() const¶
-
class QueryParseError : public dftracer::utils::DFTUtilsException¶
Exception wrapping a QueryError.
-
struct Token¶
Free Functions¶
-
dftracer::utils::StringViewSet dftracer::utils::utilities::common::query::collect_fields(const QueryNode &node)¶
Collect all field names referenced in a query AST.
-
const char *dftracer::utils::utilities::common::query::compare_op_str(CompareOp op)¶
Human-readable string for a CompareOp (e.g., “==”, “!=”).
-
bool dftracer::utils::utilities::common::query::evaluate(const QueryNode &node, const JsonValue &event)¶
Missing fields and type mismatches evaluate to false.
-
bool dftracer::utils::utilities::common::query::evaluate(const QueryNode &node, const ValueMap &fields)¶
Evaluate against a typed key-value map. Missing fields evaluate to false.
-
template<typename T>
QueryNodePtr dftracer::utils::utilities::common::query::make_node(T &&val)¶ Create a heap-allocated QueryNode.
-
dftracer::utils::expected<QueryNodePtr, QueryError> dftracer::utils::utilities::common::query::parse(std::string_view input)¶
Tokenize and parse a query string into an AST.
-
Query dftracer::utils::utilities::common::query::parse_or_throw(std::string_view input)¶
Parse a query string, throwing QueryParseError on failure.
-
dftracer::utils::expected<QueryNodePtr, QueryError> dftracer::utils::utilities::common::query::parse_tokens(const std::vector<Token> &tokens, std::string_view source)¶
Parse a pre-tokenized stream into an AST.
-
std::string dftracer::utils::utilities::common::query::to_string(const QueryNode &node)¶
Serialize an AST back to query DSL string.
-
dftracer::utils::expected<std::vector<Token>, QueryError> dftracer::utils::utilities::common::query::tokenize(std::string_view input)¶
Tokenize a query string. Keywords are case-insensitive.