Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface PhysicalPlanConsumer
Callback that receives one query's planned PhysicalNode, without executing it.

Used by QueryExecutor.plan(com.darkcollective.relix.semantic.SemanticModel, java.util.List<com.darkcollective.relix.ast.RelNode>, com.darkcollective.relix.events.QueryEventListener, com.darkcollective.relix.processor.internal.PhysicalPlanConsumer) to hand each query statement's physical plan object to the caller — unlike PlanConsumer, which renders the plan to text. A caller that needs the structured plan (e.g. to serialize it to JSON for the query bundle) uses this; a caller that only wants a human-readable rendering uses PlanConsumer.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    accept(String label, PhysicalNode plan, PlanEstimates estimates)
    Consumes one query's physical plan and the cardinality estimates that go with it.
  • Method Details

    • accept

      void accept(String label, PhysicalNode plan, PlanEstimates estimates)
      Consumes one query's physical plan and the cardinality estimates that go with it.

      The estimates arrive separately because they are a side table, not a component of the nodes — see PlanEstimates.

      Parameters:
      label - the query's display label (relation name or "<expression N>")
      plan - the planned physical tree
      estimates - the per-node estimated row counts; never null, possibly empty