[
https://issues.apache.org/jira/browse/DERBY-6008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13526542#comment-13526542
]
Dag H. Wanvik edited comment on DERBY-6008 at 12/7/12 5:03 PM:
---------------------------------------------------------------
The problem with the intersect is that, as part of its implementation, it
pushes its own ORDER BY into the select, effectively clobbering the one
specified by the user. I need to find a way to add another level in the result
set tree so the two kinds of ordering can co-exist, ideally eliminating the
implementation sort if the one specified gives the same ordering.
was (Author: dagw):
The problem with the intersect is that, as pat tof its implementation, it
pushes its own ORDER BY into the select, effectively clobbering the one
specified by the user. I need to find a way to add another level in the result
set tree so the two kinds of ordering can co-exist, ideally eliminating the
implementation sort if the one specified gives the same ordering.
> Allow ORDER BY and FETCH/OFFSET in set operands
> -----------------------------------------------
>
> Key: DERBY-6008
> URL: https://issues.apache.org/jira/browse/DERBY-6008
> Project: Derby
> Issue Type: Improvement
> Components: SQL
> Reporter: Dag H. Wanvik
> Assignee: Dag H. Wanvik
> Attachments: derby-6008-a.diff, derby-6008-a.stat, derby-6008-b.diff,
> derby-6008-b.stat, derby-6008-c.diff, derby-6008-c.stat
>
>
> Currently, Derby doesn't allow ORDER BY nested in a set operand, e.g. in the
> following construct:
> (select i from t1 order by j offset 1 row) union
> (select i from t2 order by j desc offset 2 rows)
> This is allowed by the standard, as far as I can understand, cf. this quote
> from section 7.12 in SQL 2011:
> <query expression body> ::=
> <query term>
> | <query expression body> UNION [ ALL | DISTINCT ]
> [ <corresponding spec> ] <query term>
> | <query expression body> EXCEPT [ ALL | DISTINCT ]
> [ <corresponding spec> ] <query term>
> <query term> ::=
> <query primary>
> | <query term> INTERSECT [ ALL | DISTINCT ]
> [ <corresponding spec> ] <query primary>
> <query primary> ::=
> <simple table>
> | <left paren> <query expression body>
> [ <order by clause> ] [ <result offset clause> ] [ <fetch first clause>
> ] <right paren>
> I.e. the left paren chooses the second alternative in the production for
> <query primary>.
--
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