Enum Class TraceAlgorithm

java.lang.Object
java.lang.Enum<TraceAlgorithm>
com.darkcollective.relix.plan.TraceAlgorithm
All Implemented Interfaces:
Serializable, Comparable<TraceAlgorithm>, Constable

public enum TraceAlgorithm extends Enum<TraceAlgorithm>
Physical algorithm choice for a PhysicalNode.Trace optimal-path operator.

The Planner picks the algorithm as a physical-strategy decision — the same class of choice as join algorithm / build side — and surfaces it as a QueryEvent.Stage.PLAN event:

  • RELAXATION — the default Bellman-Ford–style fixpoint that handles any weights (including negative edges, no negative cycle) and any MINIMIZE/MAXIMIZE sense.
  • DIJKSTRA — single-pair shortest path with goal-directed early termination, chosen when both endpoints are bound and the sense is MINIMIZE. It is asymptotically cheaper but only sound for non-negative weights; the executor verifies that precondition at runtime and falls back to RELAXATION if a negative weight is present, so correctness never depends on the planner's optimism.
  • Enum Constant Details

    • RELAXATION

      public static final TraceAlgorithm RELAXATION
      Bellman-Ford–style relaxation fixpoint (default; any weights, any sense).
    • DIJKSTRA

      public static final TraceAlgorithm DIJKSTRA
      Single-pair Dijkstra with early exit (bounded source+target, MINIMIZE, non-negative weights).
  • Method Details

    • values

      public static TraceAlgorithm[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static TraceAlgorithm valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null