[ 
https://issues.apache.org/jira/browse/DERBY-672?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rick Hillegas updated DERBY-672:
--------------------------------

    Attachment: derby-672-23-aa-improveJavadocForAggregator.merge.diff

Attaching derby-672-23-aa-improveJavadocForAggregator.merge.diff. This patch 
expands the javadoc for the Aggregator.merge() method. Committed at subversion 
revision 1459837.

Buddy-testing raised the following issue: How can users test their merge() 
implementations? It's not clear what kinds of queries cause Derby to call the 
merge() method. The answer is that merge() is called when Derby has to spill 
intermediate results to disk (and retrieve them later) for grouped aggregates 
with a large number of groups. A query like the following can cause Derby to do 
this. The merge() method is called when Derby encounters rows which belong to 
groups which spilled to disk previously:

    select a, mode( b ) from mode_inputs group by a order by a


Touches the following file:

M       java/engine/org/apache/derby/agg/Aggregator.java

                
> Re-enable user defined aggregates
> ---------------------------------
>
>                 Key: DERBY-672
>                 URL: https://issues.apache.org/jira/browse/DERBY-672
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>            Reporter: Rick Hillegas
>            Assignee: Rick Hillegas
>         Attachments: d672-no-exceptions.diff, derby-672-01-aa-ddl.diff, 
> derby-672-02-ac-nonDistinct.diff, derby-672-03-aa-distinct.diff, 
> derby-672-03-ab-distinct.diff, derby-672-04-aa-fixJSR169test.diff, 
> derby-672-05-aa-java7testOrderProblem.diff, derby-672-06-aa-grantRevoke.diff, 
> derby-672-07-aa-fixJSR169again.diff, derby-672-08-aa-fixJSR169yetAgain.diff, 
> derby-672-09-ab-udtAggregates.diff, derby-672-10-af-typeBounds.diff, 
> derby-672-11-aa-tests.diff, derby-672-11-ab-tests.diff, 
> derby-672-12-aa-implicitCasts.diff, derby-672-13-aa-differentReturnType.diff, 
> derby-672-14-aa-collations.diff, derby-672-15-aa-setCollation.diff, 
> derby-672-16-aa-forbidInGroupBy.diff, derby-672-17-aa-moreTests.diff, 
> derby-672-18-aa-udaInJar.diff, derby-672-19-aa-precisionChecks.diff, 
> derby-672-20-aa-exactBounds.diff, derby-672-21-aa-typeDependencies.diff, 
> derby-672-22-aa-makeModeAggregateStateSerializable.diff, 
> derby-672-23-aa-improveJavadocForAggregator.merge.diff, 
> UserDefinedAggregates.html, UserDefinedAggregates.html, 
> UserDefinedAggregates.html, UserDefinedAggregates.html
>
>
> Nicolas Dufour in an email thread titled "functions and list" started on 
> November 2, 2005 requests the ability to create user defined aggregates.
> This functionality used to be in Cloudscape. It was disabled presumably 
> because it was considered non-standard. However, most of the machinery needed 
> for this feature is still in the code. We should re-enable user defined 
> aggregates after we agree on acceptable syntax.

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

Reply via email to