[
https://issues.apache.org/jira/browse/DERBY-4397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12762908#action_12762908
]
Knut Anders Hatlen commented on DERBY-4397:
-------------------------------------------
Thanks for writing the spec, Dag. It generally looks good, but I have a couple
of questions:
1) If I read the syntax copied from the spec correctly, this query should be
allowed:
SELECT * FROM T1 ORDER BY X UNION SELECT * FROM T2 ORDER BY Y
With the suggested changes to the grammar, I think this query is not allowed
unless it's rewritten with parentheses around the sub-queries:
(SELECT * FROM T1 ORDER BY X) UNION (SELECT * FROM T2 ORDER BY Y)
2) Do you think this issue will address DERBY-4? If so, it would be good to
mention in the spec how INSERT INTO ... SELECT ... ORDER BY is supposed to
behave (in particular with respect to identity columns).
3) The spec mentions that ORDER BY in a sub-select can probably be ignored if
there's no windowing or offset/fetch on the same query level. I think that's
true (perhaps with the exception if INSERT INTO, see (2)). However, I think the
ORDER BY can be ignored even if there is a windowing clause, since the
windowing should be applied before the ORDER BY (see DERBY-4069) and would
therefore not guarantee that for instance row numbers have the same ordering as
the ORDER BY columns.
4) The spec says that a release note is needed. Are you aware of any
backwards-compatibility issues that require special mentioning, or is it
sufficient to put it in the list of new features?
> Allow ORDER BY in subqueries
> ----------------------------
>
> Key: DERBY-4397
> URL: https://issues.apache.org/jira/browse/DERBY-4397
> Project: Derby
> Issue Type: Improvement
> Components: SQL
> Reporter: Dag H. Wanvik
> Attachments: orderBySpec.html
>
>
> SQL 2008 allows ORDER BY to be specified in subqueries. In conjunction with
> OFFSET/FETCH and/or ROW_NUMBER
> meaningful subqueries with row ordering may be formulated. Cf. MySQL's LIMIT
> may be used in subqueries as well.
> Note that OFFSET/FETCH is currently not allowed in subqueries, either.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.