[
https://issues.apache.org/jira/browse/DERBY-2998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12574892#action_12574892
]
Thomas Nielsen commented on DERBY-2998:
---------------------------------------
I considered your proposed change, but turned it down as I thought it too
general. That's why I ended up checking for the WindowNodes - we know it's at
the top of the child *if* it's there. I'll do some tracing to see whether my
conclusion was wrong or not.
Wrt to window functions and ordering:
Yes, the below ResultSets can return rows in an arbitrary order depending on
indexes or not - and on other characteristics of the database engine. Very
familiar with this from the distributed database I've worked on earlier. And,
yes, my experience is it's something most users run into somehow :) The same
goes for joins - think 2 rows joined with 3 rows. No *guarantee* that the join
is performed a certain way and presence of an index may cause different row
ordering that without. This really applies to all queries, as long as there is
no ORDER BY clause, there is really no guarantee for the ordering. Since Derby
does not support ordering in subqueries, we have no option but to take what the
selected conglomorate supplies of row ordering.
I'll add a paragraph about this behaviour to the row_number page in the
reference manual.
Note that once we get better/full window support, we should be able to specify
ordering of the window in the window definition. This will hopefully help those
that require the window to be ordered, and *may* work around the
no-orderby-in-subquery limitation currently in Derby :)
> Add support for ROW_NUMBER() window function
> --------------------------------------------
>
> Key: DERBY-2998
> URL: https://issues.apache.org/jira/browse/DERBY-2998
> Project: Derby
> Issue Type: Sub-task
> Components: SQL
> Reporter: Thomas Nielsen
> Assignee: Thomas Nielsen
> Priority: Minor
> Attachments: d2998-10.diff, d2998-10.stat, d2998-11.diff,
> d2998-12.diff, d2998-12.stat, d2998-13.diff, d2998-13.stat, d2998-14.diff,
> d2998-14.stat, d2998-15.diff, d2998-15.stat, d2998-16.diff, d2998-16.stat,
> d2998-17.diff, d2998-17.stat, d2998-18.diff, d2998-18.stat, d2998-19.diff,
> d2998-19.stat, d2998-4.diff, d2998-4.stat, d2998-5.diff, d2998-5.stat,
> d2998-6.diff, d2998-6.stat, d2998-7.diff, d2998-7.stat, d2998-8.diff,
> d2998-8.stat, d2998-9-derby.log, d2998-9.diff, d2998-9.stat,
> d2998-doc-1.diff, d2998-doc-1.stat, d2998-doc-2.diff, d2998-doc-2.stat,
> d2998-followup-2.diff, d2998-followup-2.stat, d2998-followup-distinct.diff,
> d2998-followup-distinct.stat, d2998-followup-issue1.diff,
> d2998-followup-issue1.stat, d2998-followup-issue4.diff,
> d2998-followup-issue4.stat, d2998-followup-testsuite.diff,
> d2998-followup-testsuite.stat, d2998-test.diff, d2998-test.stat,
> d2998-test2.diff, d2998-test2.stat, d2998-test3.diff, d2998-test3.stat,
> d2998-test4.diff, d2998-test4.stat, d2998-test6.diff, d2998-test7.diff,
> d2998-test8.diff, d2998-test9.diff
>
>
> As part of implementing the overall OLAP Operations features of SQL
> (DERBY-581), implement the ROW_NUMBER() window function.
> More information about this feature is available at
> http://wiki.apache.org/db-derby/OLAPRowNumber
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.