Class NoSolverInstalledException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
com.darkcollective.relix.plan.internal.NoSolverInstalledException
All Implemented Interfaces:
Serializable

public final class NoSolverInstalledException extends RuntimeException
Thrown at plan time when a query needs a mathematical-programming solver and none is installed.

Two operators state a mixed-integer program rather than computing an answer directly: OPTIMIZE, and COVER EXACT. Both are useless without a solver, and both would otherwise discover that deep inside execution, after the inputs had already been read. Reporting it while the plan is being built keeps the failure where the cause is — the runtime's configuration, not the data.

This is a user-facing planning error, not a bug: the fix is to put a solver provider on the module path. Every other operator works without one, which is why the check is per-operator rather than a startup requirement.

See Also:
  • Constructor Details

    • NoSolverInstalledException

      public NoSolverInstalledException(String operator)
      Parameters:
      operator - the operator that needs a solver, named as the user wrote it