Class IncomparableArgumentsException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
dev.frostlake.functions.IncomparableArgumentsException
All Implemented Interfaces:
Serializable

public class IncomparableArgumentsException extends RuntimeException
Raised by a function that ORDERS its arguments when two of them belong to families it cannot bring together — GREATEST(<binary>, <string>) and its kin.

It carries no user-facing sentence on purpose. The refusal the account gives names the operand and both DECLARED types ("Can not convert parameter 'T.S' of type [VARCHAR(10)] into expected type [BINARY(4)]"), and a function that sees only VALUES cannot spell that: the qualified column name lives in the expression tree. So this type is a SIGNAL — the evaluator catches it and re-asks the static type channel, which has the tree and produces the account's own wording. What must never happen is the alternative it replaced: a raw ClassCastException from a Comparable pairing, quoting Java class names at whoever ran the query.

See Also:
  • Constructor Details

    • IncomparableArgumentsException

      public IncomparableArgumentsException(String detail)