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 Mon, 15 Oct 2012 14:28:03 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-12-aa-implicitCasts.diff

Attaching derby-672-12-aa-implicitCasts.diff. This patch attempts to make datatype coercion
work for user-defined aggregates the way that it works for function arguments. I am running
regression tests now.

This patch makes two noteworthy changes:

1) The input arg to the user-defined aggregate is wrapped in a CAST node if we would do the
same thing when invoking a similar user-defined function on that argument.

2) Input datatype checking for user-defined aggregates is relaxed. Instead of demanding exact
type match, we check to see whether the actual datatype can be stored in the expected type.
This is what we do for user-defined functions. This allows implicit casting to occur at runtime.


Touches the following files:

--------------

M       java/engine/org/apache/derby/impl/sql/compile/AggregateNode.java
M       java/engine/org/apache/derby/impl/sql/compile/UserAggregateDefinition.java
M       java/engine/org/apache/derby/impl/sql/compile/StaticMethodCallNode.java

Changes needed for (1) and (2).

--------------

M       java/testing/org/apache/derbyTesting/functionTests/tests/lang/UserDefinedAggregatesTest.java

Additional tests.

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