You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by Apache Wiki <wi...@apache.org> on 2013/03/21 05:26:15 UTC
[Db-derby Wiki] Update of "TenTenOneBuddyTesting" by DagWanvik
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Db-derby Wiki" for change notification.
The "TenTenOneBuddyTesting" page has been changed by DagWanvik:
http://wiki.apache.org/db-derby/TenTenOneBuddyTesting?action=diff&rev1=13&rev2=14
Buddy testing completed 2013-02-27 dag
+ == New feature in 10.10 ==
+ || '''New Feature'''|| '''Link to JIRA entries''' || '''Buddy tester''' || ''' Documentation Available''' ||'''Comments''' ||
+ || UDA || [[https://issues.apache.org/jira/browse/DERBY-672|DERBY-672]] || Dag || [[https://issues.apache.org/jira/browse/DERBY-5926|DERBY-5926]] || see below ||
+
+
+ === Buddy testing/review of user defined aggregates feature ===
+
+ *
+ {{{
+ "An unqualified UDA name may not be the name of an aggregate defined in part 2 of the SQL Standard, section 10.9:
+
+ ANY..
+
+ But even when name is qualified, I see:
+ ij> create derby aggregate app.ANY for int returns int external name 'foo.Agg';
+ ERROR 42X01: Syntax error: Encountered "ANY" at line 1, column 28.
+ }}}
+ I need to quote it:
+ {{{
+ ij> create derby aggregate app."ANY" for int returns int external name 'foo.Agg';
+ 0 rows inserted/updated/deleted
+ }}}
+ Code or doc correct?
+
+ *
+ {{{
+ "In general, UDAs live in the same namespace as one-argument user-defined functions (see CREATE FUNCTION statement)."
+ }}}
+ But ij doesn't show aggregates:
+ {{{
+ ij> create function app."ANY" (i int) returns int parameter style java language java external name 'foo.bar';
+
+ ERROR X0Y87: There is already an aggregate or function with one argument whose name is 'APP'.'ANY'.
+
+ ij> show functions in app;
+ FUNCTION_SCHEM|FUNCTION_NAME |REMARKS
+ -------------------------------------------------------------------------------
+ 0 rows selected
+ }}}
+
+ * checked simple int aggregator: found agg class could not be static nested class in another(?)
+ Expected or pilot error? If expected, why? document?
+
+ Currently we say:
+ {{{
+ "The !ClassNameString is a single-quoted string. It is the full name of a Java class which implements the org.apache.derby.agg.Aggregator interface."
+ }}}
+ * checked USAGE privilege +/- via both user and role privilege grants: OK
+
+ * The merge method wasn't used in my simple example. When is it used?
+ If only needed in compex queries, we might want to warn the user on
+ how to construct test cases to debug it...
+
+
+ * In the GRANT-statement refman page, we are inconsisten when it comes to explaining
+ identifiers (seen when looking at GRANT USAGE of aggregates):
+
+ "table-Name" occurences are linked to a section explainig them (rreftablename.html), but
+ UDA names are defined in-lined as
+ {{{
+ GRANT USAGE ON DERBY AGGREGATE [ schemaName. ] SQL92Identifier TO grantees
+ }}}
+ In a third variant,
+ {{{
+ GRANT EXECUTE ON { FUNCTION | PROCEDURE } routine-designator TO grantees
+ }}}
+ routine-designator is defined locally as
+ {{{
+ routine-designator { function-name | procedure-name }
+ }}}
+ without links to what "function-name" or "procedure-name" might look like.
+
+ It would be good to harmonize the latter two forms to a central
+ definition as for "table-Name".
+
+ Finally, I noted that the definition page for !SchemaName doesn't link to
+ the SQL92Identifier page...
+