db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-672) Re-enable user defined aggregates
Date Fri, 22 Mar 2013 15:19:14 GMT

     [ 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

Mime
View raw message