Class InvalidRelException
- All Implemented Interfaces:
Serializable
This exception is thrown by the constructor of a subclass of
RelNode
when given parameters it cannot accept. For example,
EnumerableJoinRel
can only implement equi-joins, so its constructor
throws InvalidRelException
when given the condition
input0.x - input1.y = 2
.
Because the exception is checked (i.e. extends Exception
but not
RuntimeException
), constructors that throw this exception will
declare this exception in their throws
clause, and rules that create
those relational expressions will need to handle it. Usually a rule will
not take the exception personally, and will fail to match. The burden of
checking is removed from the rule, which means less code for the author of
the rule to maintain.
The caller that receives an InvalidRelException
(typically a rule
attempting to create a relational expression) should log it at
the DEBUG level.
- See Also:
-
Constructor Summary
ConstructorDescriptionInvalidRelException
(String message) Creates an InvalidRelException.InvalidRelException
(String message, Throwable cause) Creates an InvalidRelException with a cause. -
Method Summary
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Constructor Details
-
InvalidRelException
Creates an InvalidRelException. -
InvalidRelException
Creates an InvalidRelException with a cause.
-