[ https://issues.apache.org/jira/browse/DERBY-2998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12566285#action_12566285 ]
A B commented on DERBY-2998: ---------------------------- Thank you for the quick replies, Thomas. > The MaterializedResultSet does not materialize the complete lower result > before > pulling rows from it to the upper result. Okay, thanks for setting me straight on that. I scanned the code in MaterializedResultSet and confirmed what you said, i.e. that rows are fetched one at a time and stored into a temporary conglomerate. It is only when (if) the scan is RE-opened again later that the temporary conglomerate is then used for subsequent scanning. > It might be worth looking into generating all window functions belonging to a > given RCL in the > same WindowNode and/or WindowResultSet For what it's worth, I tend to like that approach better, as it seems (to me) to be a more intuitive way to handle multiple window functions in the same RCL. > Doing that is still only valid if the functions operate on the exact same > window definition Would this be a requirement or just a preference? If you define some kind of WindowFunctionResult that takes "source" rows and orders/groups/filters them according to its own window definition, then would it not be possible for each instance of WindowFunctionResult to take the same "source" row and deal with it as necessary? I.e. the WindowResultSet would read the source row and then pass it down to each of its WindowFunctionResult columns, letting the latter handle the row as needed (discard it, sort it, group it, etc.). Not sure exactly how that might work, but it seems feasible... > adding handling of multiple window definitions to WindowNode and/or > WindowResultSet will > probably introduce some unnecessary complexity It would certainly require more work to get your current code to support that, but from a high-level view, would it result in a more complex overall design/implementation? I don't know one way or the other, I'm just asking the question. And "I don't know because I haven't tried" would be a perfectly valid answer :) > 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-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.