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 li...@apache.org on 2011/03/18 23:25:53 UTC
svn commit: r1083094 - in
/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4:
ConnectionMethodsTest.java ConnectionTest.java
Author: lilywei
Date: Fri Mar 18 22:25:52 2011
New Revision: 1083094
URL: http://svn.apache.org/viewvc?rev=1083094&view=rev
Log:
DERBY-4869 Implement JDBC 4.1, th api increment introduced by Java 7. Add tests for Connection.setTypeMap(Map) when Map is not null. Add extra tests for case in Connection.abort(executor) when executor is null
Modified:
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ConnectionMethodsTest.java
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ConnectionTest.java
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ConnectionMethodsTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ConnectionMethodsTest.java?rev=1083094&r1=1083093&r2=1083094&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ConnectionMethodsTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ConnectionMethodsTest.java Fri Mar 18 22:25:52 2011
@@ -509,6 +509,14 @@ public class ConnectionMethodsTest exten
( conn1, "insert into app.abort_table( a ) values ( 1 )" );
ps.execute();
ps.close();
+
+ ps = prepareStatement( conn1, "select * from app.abort_table");
+ ResultSet rsconn1 = ps.executeQuery();
+ assertTrue(rsconn1.next());
+ rsconn1.close();
+ ps.close();
+
+
// abort the connection
try {
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ConnectionTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ConnectionTest.java?rev=1083094&r1=1083093&r2=1083094&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ConnectionTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ConnectionTest.java Fri Mar 18 22:25:52 2011
@@ -31,6 +31,8 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.*;
+import java.util.ArrayList;
+import java.util.Map;
import java.util.Properties;
import javax.sql.*;
@@ -185,6 +187,64 @@ public class ConnectionTest
public void testGetTypeMapReturnsEmptyMap() throws SQLException {
assertTrue(getConnection().getTypeMap().isEmpty());
}
+
+ /**
+ * Tests that <code>getTypeMap()</code> returns the input map
+ * @exception SQLException if an error occurs
+ */
+ public void testGetTypeMapReturnsasExcepted() throws SQLException {
+ Statement s = getConnection().createStatement();
+ int ret;
+ try {
+ ret = s.executeUpdate("DROP TABLE T1");
+ ret = s.executeUpdate("DROP TYPE JAVA_UTIL_LIST RESTRICT");
+ } catch (Exception e) {}
+
+ ret = s.executeUpdate("CREATE TYPE JAVA_UTIL_LIST " +
+ "EXTERNAL NAME 'java.util.List'" +
+ "LANGUAGE JAVA");
+
+ s.execute("CREATE TABLE T1 (A1 JAVA_UTIL_LIST)");
+
+ PreparedStatement ps = getConnection().prepareStatement(
+ "INSERT INTO T1(A1) VALUES (?)");
+
+ ArrayList lst = new ArrayList();
+ lst.add("First element");
+ lst.add("Second element");
+
+ ps.setObject(1, lst);
+ ps.execute();
+
+ Map<String, Class<?>> map = getConnection().getTypeMap();
+ try {
+ map.put("JAVA_UTIL_LIST", Class.forName("java.util.List"));
+ } catch (ClassNotFoundException se) {
+ se.printStackTrace();
+ println("map.put has exception");
+ }
+
+ try {
+ getConnection().setTypeMap(map);
+ fail( "Should raise an Unimplemented Feature exception." );
+ }
+ catch (SQLException se)
+ {
+ assertEquals( SQLFeatureNotSupportedException.class.getName(), se.getClass().getName() );
+ }
+
+ ResultSet rs = s.executeQuery("select * from T1");
+ assertTrue(rs.next());
+ for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
+ Object o = rs.getObject(i);
+ assertEquals(lst, o);
+ //System.out.print(o + "(Type " + o.getClass().getName() + " )");
+ }
+ s.executeUpdate("DROP TABLE T1");
+ s.executeUpdate("DROP TYPE JAVA_UTIL_LIST RESTRICT");
+ s.close();
+ ps.close();
+ }
public void testIsWrapperReturnsFalse()
throws SQLException {