[
https://issues.apache.org/jira/browse/CALCITE-2591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16625110#comment-16625110
]
Vladimir Sitnikov commented on CALCITE-2591:
--------------------------------------------
Ideally we would like to throw SQLException with a position relevant to input
SQL text (e.g. point which table is not sorted), however current {{RelNode}}
have little-to-no connection with original SQL text.
So +1 for 859 for now.
> EnumerableDefaults#mergeJoin should throw error and not return incorrect
> results when inputs are not ordered
> ------------------------------------------------------------------------------------------------------------
>
> Key: CALCITE-2591
> URL: https://issues.apache.org/jira/browse/CALCITE-2591
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.17.0
> Reporter: Enrico Olivelli
> Assignee: Julian Hyde
> Priority: Critical
> Fix For: 1.18.0
>
>
> The merge join implementation should throw a runtime error in case of
> unsorted inputs.
>
> The assertion is already present but it is done with Java 'assert' keywork,
> this makes the assertion not to be evaluated in production.
> It happened in production that due to a bug (out of the scope of this issue)
> a merge join was fed by an input which was not sorted according to the merge
> sort keys
> This is current code in 1.17
> {code:java}
> int c = leftKey.compareTo(leftKey2);
> if (c != 0) {
> assert c < 0 : "not sorted";
> break;
> }{code}
>
> This change will enable that assertion even when Java assertions are not
> enabled.
> The impact is not very significant (a few CPU cycles) but prevents invalid
> results to be returned by the query.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)