[
https://issues.apache.org/jira/browse/DERBY-2998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12565493#action_12565493
]
A B commented on DERBY-2998:
----------------------------
Is there any kind of detailed write-up or functional spec for the approach that
is being pursued in the patches thus far (esp. d2998-9.diff)? I took a look at:
http://wiki.apache.org/db-derby/OLAPRowNumber
but the "proposed changes" section on that page is rather abbreviated. In
particular, a description of how the query tree will look at various points
during compilation (esp. 1) when created, 2) after preprocessing, and 3) after
"modification of access paths"--i.e. just before code generation) might be
useful in trying to a) evaluate the approach, and b) offer feedback/suggestions
on the various issues that are occurring. Also useful would be a simple
example of the intended compilation- and execution-time processing that should
occur when ROW_NUMBER() is in play.
Apologies if the write-up already exists and I just missed it...
One quick comment from scanning d2998-9.diff: Can you explain the purpose of
the following change in SelectNode.java?
/* Intentionally hide this.resultColumns */
ResultColumnList resultColumns =
this.resultColumns.copyListAndObjects();
It appears to cause any RCL expression referenced by an outer query to fail
with the same error as what Rick reported for ROW_ORDER(), ex:
ij> select * from (select i+j as x from hmm) a(x) where x > 0;
ERROR XJ001: Java exception: 'ASSERT FAILED sourceResultSetNumber
expected to be >= 0 for null.X
But that same statement succeeds if you remove the above lines. Of course, if
you remove those lines then the simple ROW_ORDER() queries that work with
d2998-9.diff applied stop working, so something is amiss somewhere. A writeup
of what the intended behavior/query tree structure is meant to be here might
help...
> 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-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-test.diff, d2998-test.stat,
> d2998-test2.diff, d2998-test2.stat, d2998-test3.diff, d2998-test3.stat
>
>
> 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.