[ 
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.

Reply via email to