Module com.darkcollective.relix.ast


module com.darkcollective.relix.ast
Relational algebra AST — immutable node types, predicates, operands, and visitor infrastructure for traversal and transformation.

This module carries no runtime dependencies beyond the JDK, making it safe to embed in any context that needs a structured, in-memory representation of relational algebra expressions.

The public API is organised around three sealed hierarchies, each traversed via a dedicated visitor interface:

  • RelNode — relational operations (selection, projection, join, aggregation, …)
  • Predicate — boolean filter conditions used in selections and join conditions
  • Operand — scalar value expressions (attributes, literals, arithmetic, function calls, …)

A concrete PrettyPrinter implementation is bundled in the visitor subpackage and is the reference example for writing new visitors.

See Also: