Skip to main content

Identifiers & Literals


Basic expressions are the most fundamental building blocks in DQL. They represent either direct references to data sources (such as columns or tables) or literal values (such as strings, numbers, booleans, or nulls). These expressions do not perform any computation but serve as atomic elements within functions, predicates, and larger logic.

Usage

These expressions appear inside other constructs like:

  • Predicate fields ($left, $right)

  • Function operands ($operand, $operands)

  • Containers like $list, $tuple, or $map

  • They are interpreted directly without additional computation.

These forms are often nested inside higher-level expressions and can be freely combined with other types.


$identifier

Added in: indicate.dsl.dql@1.0.0

Refers to a column or alias name currently in scope.

{
"$identifier": <string>
}

$qualifier

Added in: indicate.dsl.dql@1.0.0

Specifies a table reference, optionally including schema, catalog, or exclusion flags.

{
"$qualifier": {
"$table": <string>,
"$schema": <string>,
"$catalog": <string>,
"$excluded": <boolean>
}
}

$scalar

Added in: indicate.dsl.dql@1.0.0

Represents a raw primitive value such as a string, number, boolean, or null.

{
"$scalar": <string> | <number> | <boolean> | <null>
}

$var

Added in: indicate.dsl.dql@1.0.0

References a runtime variable, typically provided externally during evaluation.

{
"$var": <string> | <number> | <boolean> | <null>
}

$literal

Added in: indicate.dsl.dql@1.0.0

Represents a string literal, escaped and encoded for inclusion as-is.

{
"$literal": <string>
}

$null

Added in: indicate.dsl.dql@1.0.0

Explicitly represents a null value in expression form.

{
"$null": true
}