提交 cfefac30 authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Disallow reconnection for set.sql

上级 c582a876
...@@ -195,7 +195,7 @@ public class TestScript extends TestBase { ...@@ -195,7 +195,7 @@ public class TestScript extends TestBase {
stat = conn.createStatement(); stat = conn.createStatement();
out = new PrintStream(new FileOutputStream(outFile)); out = new PrintStream(new FileOutputStream(outFile));
errors = new StringBuilder(); errors = new StringBuilder();
testFile(BASE_DIR + scriptFileName); testFile(BASE_DIR + scriptFileName, !scriptFileName.equals("functions/system/set.sql"));
conn.close(); conn.close();
out.close(); out.close();
if (errors.length() > 0) { if (errors.length() > 0) {
...@@ -252,7 +252,7 @@ public class TestScript extends TestBase { ...@@ -252,7 +252,7 @@ public class TestScript extends TestBase {
} }
} }
private void testFile(String inFile) throws Exception { private void testFile(String inFile, boolean allowReconnect) throws Exception {
InputStream is = getClass().getClassLoader().getResourceAsStream(inFile); InputStream is = getClass().getClassLoader().getResourceAsStream(inFile);
if (is == null) { if (is == null) {
throw new IOException("could not find " + inFile); throw new IOException("could not find " + inFile);
...@@ -274,7 +274,7 @@ public class TestScript extends TestBase { ...@@ -274,7 +274,7 @@ public class TestScript extends TestBase {
buff.append(sql, 0, sql.length() - 1); buff.append(sql, 0, sql.length() - 1);
sql = buff.toString(); sql = buff.toString();
buff = new StringBuilder(); buff = new StringBuilder();
process(sql); process(sql, allowReconnect);
} else { } else {
write(sql); write(sql);
buff.append(sql); buff.append(sql);
...@@ -297,8 +297,8 @@ public class TestScript extends TestBase { ...@@ -297,8 +297,8 @@ public class TestScript extends TestBase {
return false; return false;
} }
private void process(String sql) throws Exception { private void process(String sql, boolean allowReconnect) throws Exception {
if (reconnectOften) { if (allowReconnect && reconnectOften) {
if (!containsTempTables() && ((JdbcConnection) conn).isRegularMode() && conn.getSchema().equals("PUBLIC")) { if (!containsTempTables() && ((JdbcConnection) conn).isRegularMode() && conn.getSchema().equals("PUBLIC")) {
boolean autocommit = conn.getAutoCommit(); boolean autocommit = conn.getAutoCommit();
if (autocommit && random.nextInt(10) < 1) { if (autocommit && random.nextInt(10) < 1) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论