Package dev.frostlake.executor
Class AmbiguousColumnException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
dev.frostlake.executor.AmbiguousColumnException
- All Implemented Interfaces:
Serializable
A bare column name carried by both sides of an ON-joined relation — live's "SQL compilation
error: ambiguous column name 'T'". The join FORM is the rule (measured cell by cell): an ON join
makes every same-named bare reference ambiguous, inner and left alike, while a USING or NATURAL
join resolves EVERY same-named pair to the LEFT side — keys and non-keys both — which is why
SELECT d FROM a JOIN b USING (k) answers a.d where the ON spelling of the same join is
rejected. Typed so the lenient catch-and-retry fallbacks (the expression visitor's multi-table
probe, WhereOperator's strategy chain) can rethrow it: ambiguity is definitive.- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionAmbiguousColumnException(String columnName) Builds the SQL compilation error for a bare column name both sides of an ON join carry. -
Method Summary
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Constructor Details
-
AmbiguousColumnException
Builds the SQL compilation error for a bare column name both sides of an ON join carry.- Parameters:
columnName- the ambiguous bare column name, quoted verbatim in the error message
-