提交 810a0771 authored 作者: Noel Grandin's avatar Noel Grandin 提交者: GitHub

Merge pull request #563 from andreitokar/issue#556.2

Issue#556 close connections in tests (at least in case of successful execution)
...@@ -23,6 +23,7 @@ import java.util.concurrent.TimeUnit; ...@@ -23,6 +23,7 @@ import java.util.concurrent.TimeUnit;
import org.h2.fulltext.FullText; import org.h2.fulltext.FullText;
import org.h2.store.fs.FileUtils; import org.h2.store.fs.FileUtils;
import org.h2.test.TestBase; import org.h2.test.TestBase;
import org.h2.util.IOUtils;
import org.h2.util.Task; import org.h2.util.Task;
/** /**
...@@ -90,9 +91,9 @@ public class TestFullText extends TestBase { ...@@ -90,9 +91,9 @@ public class TestFullText extends TestBase {
deleteDb("fullTextReopen"); deleteDb("fullTextReopen");
} }
private static void close(Collection<Connection> list) throws SQLException { private static void close(Collection<Connection> list) {
for (Connection conn : list) { for (Connection conn : list) {
conn.close(); IOUtils.closeSilently(conn);
} }
} }
...@@ -491,8 +492,7 @@ public class TestFullText extends TestBase { ...@@ -491,8 +492,7 @@ public class TestFullText extends TestBase {
return; return;
} }
deleteDb("fullText"); deleteDb("fullText");
ArrayList<Connection> connList = new ArrayList<Connection>(); Connection conn = getConnection("fullText");
Connection conn = getConnection("fullText", connList);
String prefix = lucene ? "FTL_" : "FT_"; String prefix = lucene ? "FTL_" : "FT_";
Statement stat = conn.createStatement(); Statement stat = conn.createStatement();
String className = lucene ? "FullTextLucene" : "FullText"; String className = lucene ? "FullTextLucene" : "FullText";
...@@ -590,15 +590,15 @@ public class TestFullText extends TestBase { ...@@ -590,15 +590,15 @@ public class TestFullText extends TestBase {
if (!config.memory) { if (!config.memory) {
conn.close(); conn.close();
conn = getConnection("fullText");
} }
conn = getConnection("fullText", connList);
stat = conn.createStatement(); stat = conn.createStatement();
stat.executeQuery("SELECT * FROM " + prefix + "SEARCH('World', 0, 0)"); stat.executeQuery("SELECT * FROM " + prefix + "SEARCH('World', 0, 0)");
stat.execute("CALL " + prefix + "DROP_ALL()"); stat.execute("CALL " + prefix + "DROP_ALL()");
close(connList); conn.close();
} }
private void testDropIndex(boolean lucene) throws SQLException { private void testDropIndex(boolean lucene) throws SQLException {
...@@ -625,7 +625,6 @@ public class TestFullText extends TestBase { ...@@ -625,7 +625,6 @@ public class TestFullText extends TestBase {
"_CREATE_INDEX('PUBLIC', 'TEST', 'NAME1, NAME2')"); "_CREATE_INDEX('PUBLIC', 'TEST', 'NAME1, NAME2')");
stat.execute("UPDATE TEST SET NAME2=NULL WHERE ID=1"); stat.execute("UPDATE TEST SET NAME2=NULL WHERE ID=1");
stat.execute("UPDATE TEST SET NAME2='Hello World' WHERE ID=1"); stat.execute("UPDATE TEST SET NAME2='Hello World' WHERE ID=1");
conn.close();
conn.close(); conn.close();
FileUtils.deleteRecursive(getBaseDir() + "/fullTextDropIndex", false); FileUtils.deleteRecursive(getBaseDir() + "/fullTextDropIndex", false);
......
...@@ -1285,6 +1285,7 @@ public class TestFunctions extends TestBase implements AggregateFunction { ...@@ -1285,6 +1285,7 @@ public class TestFunctions extends TestBase implements AggregateFunction {
String.format("SELECT ORA_HASH('%s', 0) FROM DUAL", testStr)); String.format("SELECT ORA_HASH('%s', 0) FROM DUAL", testStr));
assertResult(String.valueOf("foo".hashCode()), stat, assertResult(String.valueOf("foo".hashCode()), stat,
String.format("SELECT ORA_HASH('%s', 0, 0) FROM DUAL", testStr)); String.format("SELECT ORA_HASH('%s', 0, 0) FROM DUAL", testStr));
conn.close();
} }
private void testToDateException() { private void testToDateException() {
...@@ -2058,6 +2059,7 @@ public class TestFunctions extends TestBase implements AggregateFunction { ...@@ -2058,6 +2059,7 @@ public class TestFunctions extends TestBase implements AggregateFunction {
assertFalse(parsed.before(before)); assertFalse(parsed.before(before));
assertFalse(parsed.after(after)); assertFalse(parsed.after(after));
conn.close();
} }
...@@ -2083,6 +2085,7 @@ public class TestFunctions extends TestBase implements AggregateFunction { ...@@ -2083,6 +2085,7 @@ public class TestFunctions extends TestBase implements AggregateFunction {
rs.close(); rs.close();
assertEquals(first, second); assertEquals(first, second);
conn.close();
} }
private void testThatCurrentTimestampUpdatesOutsideATransaction() private void testThatCurrentTimestampUpdatesOutsideATransaction()
...@@ -2107,11 +2110,12 @@ public class TestFunctions extends TestBase implements AggregateFunction { ...@@ -2107,11 +2110,12 @@ public class TestFunctions extends TestBase implements AggregateFunction {
rs.close(); rs.close();
assertTrue(second.after(first)); assertTrue(second.after(first));
conn.close();
} }
private void callCompiledFunction(String functionName) throws SQLException { private void callCompiledFunction(String functionName) throws SQLException {
deleteDb("functions"); deleteDb("functions");
Connection conn = getConnection("functions"); try (Connection conn = getConnection("functions")) {
Statement stat = conn.createStatement(); Statement stat = conn.createStatement();
ResultSet rs; ResultSet rs;
stat.execute("create alias " + functionName + " AS " stat.execute("create alias " + functionName + " AS "
...@@ -2125,8 +2129,7 @@ public class TestFunctions extends TestBase implements AggregateFunction { ...@@ -2125,8 +2129,7 @@ public class TestFunctions extends TestBase implements AggregateFunction {
assertEquals(Boolean.class.getName(), rs.getObject(1).getClass().getName()); assertEquals(Boolean.class.getName(), rs.getObject(1).getClass().getName());
stat.execute("drop alias " + functionName + ""); stat.execute("drop alias " + functionName + "");
}
conn.close();
} }
private void assertCallResult(String expected, Statement stat, String sql) private void assertCallResult(String expected, Statement stat, String sql)
......
...@@ -36,7 +36,7 @@ public class TestQueryCache extends TestBase { ...@@ -36,7 +36,7 @@ public class TestQueryCache extends TestBase {
} }
private void test1() throws Exception { private void test1() throws Exception {
Connection conn = getConnection("queryCache;QUERY_CACHE_SIZE=10"); try (Connection conn = getConnection("queryCache;QUERY_CACHE_SIZE=10")) {
Statement stat = conn.createStatement(); Statement stat = conn.createStatement();
stat.execute("create table test(id int, name varchar)"); stat.execute("create table test(id int, name varchar)");
PreparedStatement prep; PreparedStatement prep;
...@@ -91,11 +91,11 @@ public class TestQueryCache extends TestBase { ...@@ -91,11 +91,11 @@ public class TestQueryCache extends TestBase {
// usually this is true // usually this is true
assertSmaller(firstSmaller, firstGreater); assertSmaller(firstSmaller, firstGreater);
stat.execute("drop table test"); stat.execute("drop table test");
conn.close(); }
} }
private void testClearingCacheWithTableStructureChanges() throws Exception { private void testClearingCacheWithTableStructureChanges() throws Exception {
Connection conn = getConnection("queryCache;QUERY_CACHE_SIZE=10"); try (Connection conn = getConnection("queryCache;QUERY_CACHE_SIZE=10")) {
assertThrows(ErrorCode.TABLE_OR_VIEW_NOT_FOUND_1, conn). assertThrows(ErrorCode.TABLE_OR_VIEW_NOT_FOUND_1, conn).
prepareStatement("SELECT * FROM TEST"); prepareStatement("SELECT * FROM TEST");
Statement stat = conn.createStatement(); Statement stat = conn.createStatement();
...@@ -105,6 +105,6 @@ public class TestQueryCache extends TestBase { ...@@ -105,6 +105,6 @@ public class TestQueryCache extends TestBase {
stat.executeUpdate("DROP TABLE TEST"); stat.executeUpdate("DROP TABLE TEST");
assertThrows(ErrorCode.TABLE_OR_VIEW_NOT_FOUND_1, conn). assertThrows(ErrorCode.TABLE_OR_VIEW_NOT_FOUND_1, conn).
prepareStatement("SELECT * FROM TEST"); prepareStatement("SELECT * FROM TEST");
conn.close(); }
} }
} }
...@@ -33,7 +33,7 @@ public class TestShow extends TestBase { ...@@ -33,7 +33,7 @@ public class TestShow extends TestBase {
} }
private void testPgCompatibility() throws SQLException { private void testPgCompatibility() throws SQLException {
Connection conn = getConnection("mem:pg"); try (Connection conn = getConnection("mem:pg")) {
Statement stat = conn.createStatement(); Statement stat = conn.createStatement();
assertResult("UNICODE", stat, "SHOW CLIENT_ENCODING"); assertResult("UNICODE", stat, "SHOW CLIENT_ENCODING");
...@@ -43,9 +43,10 @@ public class TestShow extends TestBase { ...@@ -43,9 +43,10 @@ public class TestShow extends TestBase {
assertResult("8.1.4", stat, "SHOW SERVER_VERSION"); assertResult("8.1.4", stat, "SHOW SERVER_VERSION");
assertResult("UTF8", stat, "SHOW SERVER_ENCODING"); assertResult("UTF8", stat, "SHOW SERVER_ENCODING");
} }
}
private void testMysqlCompatibility() throws SQLException { private void testMysqlCompatibility() throws SQLException {
Connection conn = getConnection("mem:pg"); try (Connection conn = getConnection("mem:pg")) {
Statement stat = conn.createStatement(); Statement stat = conn.createStatement();
ResultSet rs; ResultSet rs;
...@@ -63,4 +64,5 @@ public class TestShow extends TestBase { ...@@ -63,4 +64,5 @@ public class TestShow extends TestBase {
// columns // columns
assertResultRowCount(2, stat.executeQuery("SHOW COLUMNS FROM person")); assertResultRowCount(2, stat.executeQuery("SHOW COLUMNS FROM person"));
} }
}
} }
...@@ -1064,7 +1064,7 @@ public class TestSpatial extends TestBase { ...@@ -1064,7 +1064,7 @@ public class TestSpatial extends TestBase {
private void testInsertNull() throws SQLException { private void testInsertNull() throws SQLException {
deleteDb("spatial"); deleteDb("spatial");
Connection conn = getConnection(URL); try (Connection conn = getConnection(URL)) {
Statement stat = conn.createStatement(); Statement stat = conn.createStatement();
stat.execute("\n" + stat.execute("\n" +
"drop table if exists PUBLIC.DUMMY_12;\n" + "drop table if exists PUBLIC.DUMMY_12;\n" +
...@@ -1137,12 +1137,13 @@ public class TestSpatial extends TestBase { ...@@ -1137,12 +1137,13 @@ public class TestSpatial extends TestBase {
try (ResultSet rs = stat.executeQuery("select * from DUMMY_12")) { try (ResultSet rs = stat.executeQuery("select * from DUMMY_12")) {
assertTrue(rs.next()); assertTrue(rs.next());
} }
}
deleteDb("spatial");
} }
private void testSpatialIndexWithOrder() throws SQLException { private void testSpatialIndexWithOrder() throws SQLException {
deleteDb("spatial"); deleteDb("spatial");
Connection conn = getConnection(URL); try (Connection conn = getConnection(URL)) {
Statement stat = conn.createStatement(); Statement stat = conn.createStatement();
stat.execute("DROP TABLE IF EXISTS BUILDINGS;" + stat.execute("DROP TABLE IF EXISTS BUILDINGS;" +
"CREATE TABLE BUILDINGS (PK serial, THE_GEOM geometry);" + "CREATE TABLE BUILDINGS (PK serial, THE_GEOM geometry);" +
...@@ -1156,4 +1157,6 @@ public class TestSpatial extends TestBase { ...@@ -1156,4 +1157,6 @@ public class TestSpatial extends TestBase {
assertTrue(rs.getString(1).contains("PRIMARY_KEY")); assertTrue(rs.getString(1).contains("PRIMARY_KEY"));
} }
} }
deleteDb("spatial");
}
} }
...@@ -45,6 +45,7 @@ public class TestConnection extends TestBase { ...@@ -45,6 +45,7 @@ public class TestConnection extends TestBase {
assertThrows(SQLClientInfoException.class, conn).setClientInfo("numServers", "SomeValue"); assertThrows(SQLClientInfoException.class, conn).setClientInfo("numServers", "SomeValue");
assertThrows(SQLClientInfoException.class, conn).setClientInfo("server23", "SomeValue"); assertThrows(SQLClientInfoException.class, conn).setClientInfo("server23", "SomeValue");
conn.close();
} }
private void testSetUnsupportedClientInfoProperties() throws SQLException { private void testSetUnsupportedClientInfoProperties() throws SQLException {
...@@ -54,6 +55,7 @@ public class TestConnection extends TestBase { ...@@ -54,6 +55,7 @@ public class TestConnection extends TestBase {
properties.put("ClientUser", "someUser"); properties.put("ClientUser", "someUser");
assertThrows(SQLClientInfoException.class, conn).setClientInfo(properties); assertThrows(SQLClientInfoException.class, conn).setClientInfo(properties);
conn.close();
} }
private void testSetSupportedClientInfoProperties() throws SQLException { private void testSetSupportedClientInfoProperties() throws SQLException {
...@@ -67,6 +69,7 @@ public class TestConnection extends TestBase { ...@@ -67,6 +69,7 @@ public class TestConnection extends TestBase {
assertNull(conn.getClientInfo("ApplicationName")); assertNull(conn.getClientInfo("ApplicationName"));
// new property has been set // new property has been set
assertEquals(conn.getClientInfo("ClientUser"), "someUser"); assertEquals(conn.getClientInfo("ClientUser"), "someUser");
conn.close();
} }
private void testSetSupportedClientInfo() throws SQLException { private void testSetSupportedClientInfo() throws SQLException {
...@@ -74,17 +77,20 @@ public class TestConnection extends TestBase { ...@@ -74,17 +77,20 @@ public class TestConnection extends TestBase {
conn.setClientInfo("ApplicationName", "Connection Test"); conn.setClientInfo("ApplicationName", "Connection Test");
assertEquals(conn.getClientInfo("ApplicationName"), "Connection Test"); assertEquals(conn.getClientInfo("ApplicationName"), "Connection Test");
conn.close();
} }
private void testSetUnsupportedClientInfo() throws SQLException { private void testSetUnsupportedClientInfo() throws SQLException {
Connection conn = getConnection("clientInfoDB2;MODE=DB2"); Connection conn = getConnection("clientInfoDB2;MODE=DB2");
assertThrows(SQLClientInfoException.class, conn).setClientInfo( assertThrows(SQLClientInfoException.class, conn).setClientInfo(
"UnsupportedName", "SomeValue"); "UnsupportedName", "SomeValue");
conn.close();
} }
private void testGetUnsupportedClientInfo() throws SQLException { private void testGetUnsupportedClientInfo() throws SQLException {
Connection conn = getConnection("clientInfo"); Connection conn = getConnection("clientInfo");
assertNull(conn.getClientInfo("UnknownProperty")); assertNull(conn.getClientInfo("UnknownProperty"));
conn.close();
} }
private void testSetGetSchema() throws SQLException { private void testSetGetSchema() throws SQLException {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论