[
https://issues.apache.org/jira/browse/DERBY-6009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13539105#comment-13539105
]
Dag H. Wanvik commented on DERBY-6009:
--------------------------------------
There are more anomalies, this time with a select, cf. this statement:
>create table t(i int, j int, k float);
>insert into t values (1,1,1.0),(3,9,9.0),(2,4,4.0);
>select * from t;
I |J |K
----------------------------------------------
1 |1 |1.0
3 |9 |9.0
2 |4 |4.0
>select * from t order by 3+1;
I |J |K
----------------------------------------------
2 |4 |4.0
3 |9 |9.0
1 |1 |1.0
So, the constant expression (which even if evaluated) would give a number of a
non-present column, #4, isn't flagged, and strangely, the rows are returned
backwards.
> Need stricter checking of ORDER BY clause in VALUES expressions
> ---------------------------------------------------------------
>
> Key: DERBY-6009
> URL: https://issues.apache.org/jira/browse/DERBY-6009
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.9.1.0
> Reporter: Knut Anders Hatlen
> Priority: Minor
>
> We only support column numbers in ORDER BY clauses in VALUES expression, as
> seen by this error message:
> ij> values 1,2 order by 1+2;
> ERROR 42878: The ORDER BY clause of a SELECT UNION statement only supports
> unqualified column references and column position numbers. Other expressions
> are not currently supported. (errorCode = 30000)
> However, the checks let some unsupported expressions through and produce
> strange results. For example:
> ij> values 1 order by 1+2;
> 1 |2
> -----------------------
> 1 |3
> 1 row selected
> It should probably have raised the same exception as the first query. And if
> not, the result should only have had one column.
> And the next example should probably have raised a syntax error too, instead
> of a NullPointerException:
> ij> values 1 order by int(1);
> ERROR XJ001: Java exception: ': java.lang.NullPointerException'. (errorCode =
> 0)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira