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 dj...@apache.org on 2007/01/10 20:41:46 UTC

svn commit: r494951 - in /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests: lang/RoutineTest.java lang/TimeHandlingTest.java tools/IJRunScriptTest.java

Author: djd
Date: Wed Jan 10 11:41:45 2007
New Revision: 494951

URL: http://svn.apache.org/viewvc?view=rev&rev=494951
Log:
DERBY-2213 Change RoutineTest and TimeHandlingTest not to depend on derbytools.jar.
Ensure IJRunScriptTest runs only if derbytools.jar is present.

Modified:
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/RoutineTest.java
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/TimeHandlingTest.java
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/IJRunScriptTest.java

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/RoutineTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/RoutineTest.java?view=diff&rev=494951&r1=494950&r2=494951
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/RoutineTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/RoutineTest.java Wed Jan 10 11:41:45 2007
@@ -24,6 +24,7 @@
 import java.io.UnsupportedEncodingException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import java.sql.Statement;
 import java.sql.Time;
 import java.sql.Types;
 
@@ -65,24 +66,24 @@
      */
     public void testFunctionNullHandling() throws SQLException, UnsupportedEncodingException
     {
+        Statement s = createStatement();
+        
         // Create three simple functions that take an integer and
         // return its value as a VARCHAR().
-        int errors = runSQLCommands(
+        s.executeUpdate(
         "CREATE FUNCTION SV_NOCALL(INTEGER) RETURNS VARCHAR(10) " +
            "RETURNS NULL ON NULL INPUT " +
            "EXTERNAL NAME 'java.lang.String.valueOf'  " +
-           "LANGUAGE JAVA PARAMETER STYLE JAVA; " +
+           "LANGUAGE JAVA PARAMETER STYLE JAVA");
            
-        "CREATE FUNCTION SV_CALL(INTEGER) RETURNS VARCHAR(10) " +
+        s.executeUpdate("CREATE FUNCTION SV_CALL(INTEGER) RETURNS VARCHAR(10) " +
           "CALLED ON NULL INPUT " +
           "EXTERNAL NAME 'java.lang.String.valueOf' " +
-          "LANGUAGE JAVA PARAMETER STYLE JAVA; " +
+          "LANGUAGE JAVA PARAMETER STYLE JAVA");
           
-        "CREATE FUNCTION SV_DEFAULT(INTEGER) RETURNS VARCHAR(10) " +
+        s.executeUpdate("CREATE FUNCTION SV_DEFAULT(INTEGER) RETURNS VARCHAR(10) " +
           "EXTERNAL NAME 'java.lang.String.valueOf' " +
-          "LANGUAGE JAVA PARAMETER STYLE JAVA; ");
-        
-        assertEquals("errors running DDL", 0, errors);
+          "LANGUAGE JAVA PARAMETER STYLE JAVA");
         
         // Simple cases of calling each function individually
         // Test each function with non-NULL and NULL values.
@@ -116,22 +117,20 @@
         ps.close();
         
         // Test that any single argument being null causes NULL to be returned.
-        errors = runSQLCommands(
+        s.executeUpdate(
                 "CREATE FUNCTION CONCAT_NOCALL(VARCHAR(10), VARCHAR(10)) " +
                    "RETURNS VARCHAR(20) " +
                    "RETURNS NULL ON NULL INPUT " +
                    "EXTERNAL NAME '" +
                    RoutineTest.class.getName() + ".concat'  " +
-                   "LANGUAGE JAVA PARAMETER STYLE JAVA; " +
+                   "LANGUAGE JAVA PARAMETER STYLE JAVA");
+         s.executeUpdate(
                 "CREATE FUNCTION CONCAT_CALL(VARCHAR(10), VARCHAR(10)) " +
                    "RETURNS VARCHAR(20) " +
                    "CALLED ON NULL INPUT " +
                    "EXTERNAL NAME '" +
                    RoutineTest.class.getName() + ".concat'  " +
-                   "LANGUAGE JAVA PARAMETER STYLE JAVA; "
-                   
-        );  
-        assertEquals("errors running DDL", 0, errors);
+                   "LANGUAGE JAVA PARAMETER STYLE JAVA");
         
         ps = prepareStatement("VALUES CONCAT_NOCALL(?, ?)");
         ps.setString(1, "good");
@@ -215,22 +214,21 @@
         
         // Nested calls with SQL types that do not need casts
         // and map to primitive types. This had issues see DERBY-479
-        errors = runSQLCommands(
+        s.executeUpdate(
                 "CREATE FUNCTION SAME_NOCALL(INTEGER) " +
                    "RETURNS INTEGER " +
                    "RETURNS NULL ON NULL INPUT " +
                    "EXTERNAL NAME '" +
                    RoutineTest.class.getName() + ".same'  " +
-                   "LANGUAGE JAVA PARAMETER STYLE JAVA; " +
+                   "LANGUAGE JAVA PARAMETER STYLE JAVA");
+        
+        s.executeUpdate(
                 "CREATE FUNCTION SAME_CALL(INTEGER) " +
                    "RETURNS INTEGER " +
                    "CALLED ON NULL INPUT " +
                    "EXTERNAL NAME '" +
                    RoutineTest.class.getName() + ".same'  " +
-                   "LANGUAGE JAVA PARAMETER STYLE JAVA; "
-                   
-        );  
-        assertEquals("errors running DDL", 0, errors);
+                   "LANGUAGE JAVA PARAMETER STYLE JAVA");
         
         ps = prepareStatement("VALUES SAME_NOCALL(SAME_NOCALL(?))");
         ps.setInt(1, 41);
@@ -260,22 +258,21 @@
         assertStatementError("39004", ps); // Can't pass NULL into primitive type
         ps.close();
 
-        errors = runSQLCommands(
+        s.executeUpdate(
                 "CREATE FUNCTION NOON_NOCALL(TIME) " +
                    "RETURNS TIME " +
                    "RETURNS NULL ON NULL INPUT " +
                    "EXTERNAL NAME '" +
                    RoutineTest.class.getName() + ".nullAtNoon'  " +
-                   "LANGUAGE JAVA PARAMETER STYLE JAVA; " +
+                   "LANGUAGE JAVA PARAMETER STYLE JAVA");
+        
+        s.executeUpdate(
                 "CREATE FUNCTION NOON_CALL(TIME) " +
                    "RETURNS TIME " +
                    "CALLED ON NULL INPUT " +
                    "EXTERNAL NAME '" +
                    RoutineTest.class.getName() + ".nullAtNoon'  " +
-                   "LANGUAGE JAVA PARAMETER STYLE JAVA; "
-                   
-        );  
-        assertEquals("errors running DDL", 0, errors);
+                   "LANGUAGE JAVA PARAMETER STYLE JAVA");
         
         // Function maps:
         // NULL to 11:00:00 (if null can be passed)
@@ -347,6 +344,8 @@
         ps.setTime(1, null); // NULL->11:00:00->11:30:00
         JDBC.assertSingleValueResultSet(ps.executeQuery(), "11:30:00");
         ps.close();
+        
+        s.close();
     }
     
     /*

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/TimeHandlingTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/TimeHandlingTest.java?view=diff&rev=494951&r1=494950&r2=494951
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/TimeHandlingTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/TimeHandlingTest.java Wed Jan 10 11:41:45 2007
@@ -138,7 +138,9 @@
     protected void setUp() throws UnsupportedEncodingException, SQLException
     {
         cal = Calendar.getInstance();
-        runSQLCommands("DELETE FROM TIME_ALL;");
+        Statement s  = createStatement();
+        s.executeUpdate("DELETE FROM TIME_ALL");
+        s.close();
     }
     
     /**

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/IJRunScriptTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/IJRunScriptTest.java?view=diff&rev=494951&r1=494950&r2=494951
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/IJRunScriptTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/IJRunScriptTest.java Wed Jan 10 11:41:45 2007
@@ -31,6 +31,7 @@
 
 import org.apache.derbyTesting.junit.BaseJDBCTestCase;
 import org.apache.derbyTesting.junit.CleanDatabaseTestSetup;
+import org.apache.derbyTesting.junit.Derby;
 
 /**
  * Test the ij.runScript api method.
@@ -40,9 +41,13 @@
     
     public static Test suite()
     {
-        TestSuite suite = new TestSuite("IJRunScriptTest");
-        suite.addTestSuite(IJRunScriptTest.class);
-        return new CleanDatabaseTestSetup(suite);
+        if (Derby.hasTools()) {
+            TestSuite suite = new TestSuite("IJRunScriptTest");
+            suite.addTestSuite(IJRunScriptTest.class);
+            return new CleanDatabaseTestSetup(suite);
+        }
+        
+        return new TestSuite("empty: no tools support");
     }
     
     public IJRunScriptTest(String name)