Package com.darkcollective.relix.optimizer.internal


package com.darkcollective.relix.optimizer.internal
The engine-side machinery behind com.darkcollective.relix.optimizer: not exported by the published artifact. What follows describes the package as a whole, as it stood before the split. Query optimizer for Relix relational algebra expressions.

The optimizer takes a fully-analysed SemanticModel and rewrites each query's RelNode tree to a semantically equivalent but more efficient form.

Core types

  • QueryOptimizer — entry point; applies all rule phases and returns per-query OptimizationResults.
  • OptimizationRule — interface implemented by every individual transformation rule.
  • OptimizationCode — stable enumeration of every known rule, each with a unique code string and human-readable description.
  • TransformationRecord — immutable record of a single rule firing: code, relation name, detail, and source location.
  • OptimizationContext — mutable collector that accumulates records during an optimization run.
  • OptimizationResult — immutable result for one query: original tree, optimized tree, and the list of transformations applied.
  • the console's optimization report — renders an 80-column audit report in the same style as IrReport.