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 rh...@apache.org on 2014/06/06 17:35:56 UTC

svn commit: r1600928 - in /db/derby/code/trunk/java: engine/org/apache/derby/impl/sql/compile/StaticMethodCallNode.java testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneJarLoadingTest.java

Author: rhillegas
Date: Fri Jun  6 15:35:56 2014
New Revision: 1600928

URL: http://svn.apache.org/r1600928
Log:
DERBY-6600: Make it possible to bind functions to methods in the org.apache.derby.optional.api package; tests passed cleanly on derby-6600-02-aa-addAPIpackage.diff.

Modified:
    db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/StaticMethodCallNode.java
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneJarLoadingTest.java

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/StaticMethodCallNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/StaticMethodCallNode.java?rev=1600928&r1=1600927&r2=1600928&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/StaticMethodCallNode.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/StaticMethodCallNode.java Fri Jun  6 15:35:56 2014
@@ -370,6 +370,7 @@ class StaticMethodCallNode extends Metho
                 javaClassName.startsWith( "org.apache.derby." ) &&
                 !javaClassName.startsWith( "org.apache.derby.impl.tools.optional." ) &&
                 !javaClassName.startsWith( "org.apache.derby.optional.lucene." ) &&
+                !javaClassName.startsWith( "org.apache.derby.optional.api." ) &&
                 !javaClassName.startsWith( "org.apache.derby.vti." )
                 )
             {

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneJarLoadingTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneJarLoadingTest.java?rev=1600928&r1=1600927&r2=1600928&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneJarLoadingTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneJarLoadingTest.java Fri Jun  6 15:35:56 2014
@@ -33,6 +33,7 @@ import java.sql.SQLWarning;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
+import org.apache.derby.optional.api.LuceneUtils;
 import org.apache.derbyTesting.junit.BaseJDBCTestCase;
 import org.apache.derbyTesting.junit.JDBC;
 import org.apache.derbyTesting.junit.DatabasePropertyTestSetup;
@@ -196,4 +197,38 @@ public class LuceneJarLoadingTest extend
         LuceneSupportPermsTest.unloadTestTable( ruthConnection );
     }
 
+    /**
+     * <p>
+     * Test that you can declare a function on methods in the Lucene api package.
+     * </p>
+     */
+    public  void    test_002_apiPackage()
+        throws Exception
+    {
+        Connection  dboConnection = openUserConnection( TEST_DBO );
+
+        goodStatement( dboConnection, "create type LuceneVersion external name 'org.apache.lucene.util.Version' language java" );
+        goodStatement
+            (
+             dboConnection,
+             "create function getLuceneVersion() returns LuceneVersion\n" +
+             "language java parameter style java no sql\n" +
+             "external name 'org.apache.derby.optional.api.LuceneUtils.currentVersion'\n"
+             );
+
+        assertResults
+            (
+             dboConnection,
+             "values getLuceneVersion()",
+             new String[][]
+             {
+                 { LuceneUtils.currentVersion().toString() }
+             },
+             false
+             );
+
+        goodStatement( dboConnection, "drop function getLuceneVersion" );
+        goodStatement( dboConnection, "drop type LuceneVersion restrict" );
+    }
+    
 }