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