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 km...@apache.org on 2007/04/17 23:10:45 UTC

svn commit: r529766 - /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SimpleTest.java

Author: kmarsden
Date: Tue Apr 17 14:10:44 2007
New Revision: 529766

URL: http://svn.apache.org/viewvc?view=rev&rev=529766
Log:
DERBY-2554 convert supersimple.sql


Added:
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SimpleTest.java   (with props)

Added: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SimpleTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SimpleTest.java?view=auto&rev=529766
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SimpleTest.java (added)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SimpleTest.java Tue Apr 17 14:10:44 2007
@@ -0,0 +1,150 @@
+/**
+ *  Derby - Class org.apache.derbyTesting.functionTests.tests.lang.SimpleTest
+ *  
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.derbyTesting.functionTests.tests.lang;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import junit.framework.Test;
+
+import org.apache.derbyTesting.junit.BaseJDBCTestCase;
+import org.apache.derbyTesting.junit.DatabasePropertyTestSetup;
+import org.apache.derbyTesting.junit.JDBC;
+import org.apache.derbyTesting.junit.TestConfiguration;
+
+public class SimpleTest extends BaseJDBCTestCase {
+
+    public SimpleTest(String name) {
+        super(name);
+    
+    }
+    
+    /**
+     * converted from supersimple.sql.  Data limits seems a 
+     * more relevant name.
+     * 
+     * @throws SQLException
+     */
+    public void testBasicOperations() throws SQLException {
+        Connection conn = getConnection();
+        Statement s = conn.createStatement();
+        s.executeUpdate("create table b (si smallint,i int, bi bigint, r real, f float, d double precision, n5_2 numeric(5,2), dec10_3 decimal(10,3), ch20 char(20),vc varchar(20), lvc long varchar, blobCol blob(1000),  clobCol clob(1000))");
+        s.executeUpdate(" insert into b values(2,3,4,5.3,5.3,5.3,31.13,123456.123, 'one','one','one',cast(X'01ABCD' as blob(1000)),'one')");
+        s.executeUpdate("insert into b values(-32768,-2147483648, -9223372036854775808 ,1.2E-37, 2.225E-307, +2.225E-307,-56.12, -123456.123,'one','one','one', cast(X'01ABCD' as blob(1000)),'one')");
+        s.executeUpdate(" insert into b values(null,null,null,null,null,null,null,null,null,null,null,null,null)");
+        s.executeUpdate(" insert into b values(32767,2147483647, 9223372036854775807 ,1.4 , 3.4028235E38 ,3.4028235E38  ,999.99, 9999999.999,'one','one','one',cast(X'01ABCD' as blob(1000)), 'one')");
+        ResultSet rs = s.executeQuery("select * from b");
+        String [][] expectedRows = {{"2","3","4","5.3","5.3","5.3","31.13","123456.123","one                 ","one","one","01abcd","one"},
+        {"-32768","-2147483648","-9223372036854775808","1.2E-37","2.225E-307","2.225E-307","-56.12","-123456.123","one                 ","one","one","01abcd","one"},
+        {null,null,null,null,null,null,null,null,null,null,null,null,null},
+        {"32767","2147483647","9223372036854775807","1.4","3.4028235E38","3.4028235E38","999.99","9999999.999","one                 ","one","one","01abcd","one"},
+        };
+        
+        JDBC.assertFullResultSet(rs,expectedRows);
+        s.executeUpdate("drop table b");
+        s.executeUpdate("create table c  (si smallint not null,i int not null , bi bigint not null, r real not null, f float not null, d double precision not null, n5_2 numeric(5,2) not null , dec10_3 decimal(10,3) not null, ch20 char(20) not null ,vc varchar(20) not null, lvc long varchar not null,  blobCol blob(1000) not null,  clobCol clob(1000) not null)");
+        s.executeUpdate("insert into c values(2,3,4,5.3,5.3,5.3,31.13,123456.123, 'one','one','one', cast(X'01ABCD' as blob(1000)), 'one')");
+        s.executeUpdate("insert into c values(-32768,-2147483648, -9223372036854775808 ,1.2E-37, 2.225E-307, +2.225E-307,-56.12, -123456.123,'one','one','one', cast(X'01ABCD' as blob(1000)),'one')");
+        rs = s.executeQuery("select * from c");
+        expectedRows = new String [][] {{"2","3","4","5.3","5.3","5.3","31.13","123456.123","one                 ","one","one","01abcd","one"},
+                {"-32768","-2147483648","-9223372036854775808","1.2E-37","2.225E-307","2.225E-307","-56.12","-123456.123","one                 ","one","one","01abcd","one"}};
+
+        JDBC.assertFullResultSet(rs, expectedRows);
+        s.executeUpdate("drop table c");
+       
+        // test large number of columns
+        rs = s.executeQuery("values ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84)");
+        expectedRows = new String[][] {{"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84"}};
+        JDBC.assertFullResultSet(rs, expectedRows);
+        rs = s.executeQuery("values(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,91, 92, 93, 94, 95, 96, 97, 98, 99, 100)");
+        expectedRows = new String[][] {{"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100"}};
+        JDBC.assertFullResultSet(rs, expectedRows);
+       // test commit and rollback
+        conn.setAutoCommit(false);
+        s.executeUpdate("create table a (a int)");
+        s.executeUpdate("insert into a values(1)");
+        rs = s.executeQuery("select * from a");
+        JDBC.assertFullResultSet(rs, new String [][] {{"1"}});
+        conn.commit();
+        s.executeUpdate("drop table a");
+        conn.rollback();
+        rs = s.executeQuery("select * from a");
+        JDBC.assertFullResultSet(rs, new String [][] {{"1"}});
+        s.executeUpdate("drop table a");
+        conn.commit();            
+    }
+    
+    
+    public void testBugFixes() throws SQLException {
+        Connection conn= getConnection();
+        Statement s = conn.createStatement();
+        // -- bug 4430 aliasinfo nullability problem
+        ResultSet rs = s.executeQuery("select aliasinfo from sys.sysaliases where aliasinfo is null");
+        JDBC.assertEmpty(rs);
+        //-- test SQL Error with non-string arguments
+        //-- Make sure connection still ok (Bug 4657)
+        s.executeUpdate("create table a (a int)");
+        assertStatementError("22003",s,"insert into a values(2342323423)");
+        s.executeUpdate("drop table a");
+      
+        conn.setAutoCommit(false);
+        
+        // bug 4758 Store error does not return properly to client
+        s.executeUpdate("create table t (i int)");
+        s.executeUpdate("insert into t values(1)");
+        conn.commit();
+        s.executeUpdate("insert into t values(2)");
+        conn.setHoldability(ResultSet.CLOSE_CURSORS_AT_COMMIT);
+        Connection conn2 = openDefaultConnection();
+        PreparedStatement ps2 = conn2.prepareStatement("select * from t");
+        assertStatementError("40XL1",ps2);
+        assertStatementError("40XL1",ps2);
+        
+        //-- Bug 5967 - Selecting from 2 lob columns w/ the first one having data of length 0
+        Statement s2 = conn2.createStatement();
+        s2.executeUpdate("create table t1 (c1 clob(10), c2 clob(10))");
+        s2.executeUpdate("insert into t1 values ('', 'some clob')");
+        rs = s.executeQuery("select * from t1");
+        JDBC.assertFullResultSet(rs, new String[][]{{"","some clob"}});
+        rs = s2.executeQuery("select c2 from t1");
+        JDBC.assertFullResultSet(rs, new String[][]{{"some clob"}});
+        s2.executeUpdate("drop table t1");
+        conn2.commit();
+        s2.close();
+        ps2.close();
+        conn2.close();
+        
+        s.executeUpdate("drop table t");
+        s.close();
+        conn.commit();
+        conn.close();
+    }
+
+    public static Test suite() {
+        Test suite = TestConfiguration.defaultSuite(SimpleTest.class);
+        return DatabasePropertyTestSetup.setLockTimeouts(suite,3,3);
+    }
+}

Propchange: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SimpleTest.java
------------------------------------------------------------------------------
    svn:eol-style = native