Unverified 提交 c489addf authored 作者: Noel Grandin's avatar Noel Grandin 提交者: GitHub

Merge pull request #1193 from grandinj/random_sql

enable TestRandomSQL on non-memory databases
......@@ -11,7 +11,6 @@ import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.h2.api.ErrorCode;
import org.h2.store.fs.FileUtils;
import org.h2.test.TestBase;
......@@ -29,7 +28,10 @@ public class TestUpgrade extends TestBase {
* @param a ignored
*/
public static void main(String... a) throws Exception {
TestBase.createCaller().init().test();
TestBase base = TestBase.createCaller().init();
base.config.mvcc = false;
base.config.mvStore = false;
base.test();
}
@Override
......@@ -106,15 +108,16 @@ public class TestUpgrade extends TestBase {
private void testNoUpgradeOldAndNew() throws Exception {
deleteDb("upgrade");
deleteDb("upgradeOld");
String additionalParameters = ";AUTO_SERVER=TRUE;OPEN_NEW=TRUE";
final String additionalParametersOld = ";AUTO_SERVER=TRUE;OPEN_NEW=TRUE";
final String additionalParametersNew = ";AUTO_SERVER=TRUE;OPEN_NEW=TRUE;MV_STORE=FALSE";
// Create old db
Utils.callStaticMethod("org.h2.upgrade.v1_1.Driver.load");
Connection connOld = DriverManager.getConnection("jdbc:h2v1_1:" +
getBaseDir() + "/upgradeOld;PAGE_STORE=FALSE" + additionalParameters);
getBaseDir() + "/upgradeOld;PAGE_STORE=FALSE" + additionalParametersOld);
// Test auto server, too
Connection connOld2 = DriverManager.getConnection("jdbc:h2v1_1:" +
getBaseDir() + "/upgradeOld;PAGE_STORE=FALSE" + additionalParameters);
getBaseDir() + "/upgradeOld;PAGE_STORE=FALSE" + additionalParametersOld);
Statement statOld = connOld.createStatement();
statOld.execute("create table testOld(id int)");
connOld.close();
......@@ -123,16 +126,16 @@ public class TestUpgrade extends TestBase {
// Create new DB
Connection connNew = DriverManager.getConnection("jdbc:h2:" +
getBaseDir() + "/upgrade" + additionalParameters);
getBaseDir() + "/upgrade" + additionalParametersNew);
Connection connNew2 = DriverManager.getConnection("jdbc:h2:" +
getBaseDir() + "/upgrade" + additionalParameters);
getBaseDir() + "/upgrade" + additionalParametersNew);
Statement statNew = connNew.createStatement();
statNew.execute("create table test(id int)");
// Link to old DB without upgrade
statNew.executeUpdate("CREATE LOCAL TEMPORARY LINKED TABLE " +
"linkedTestOld('org.h2.Driver', 'jdbc:h2v1_1:" +
getBaseDir() + "/upgradeOld" + additionalParameters + "', '', '', 'TestOld')");
"linkedTestOld('org.h2.upgrade.v1_1.Driver', 'jdbc:h2v1_1:" +
getBaseDir() + "/upgradeOld" + additionalParametersOld + "', '', '', 'TestOld')");
statNew.executeQuery("select * from linkedTestOld");
connNew.close();
connNew2.close();
......@@ -140,17 +143,14 @@ public class TestUpgrade extends TestBase {
assertTrue(FileUtils.exists(getBaseDir() + "/upgrade.h2.db"));
connNew = DriverManager.getConnection("jdbc:h2:" +
getBaseDir() + "/upgrade" + additionalParameters);
connNew2 = DriverManager.getConnection("jdbc:h2:" +
getBaseDir() + "/upgrade" + additionalParameters);
getBaseDir() + "/upgrade" + additionalParametersNew);
statNew = connNew.createStatement();
// Link to old DB with upgrade
statNew.executeUpdate("CREATE LOCAL TEMPORARY LINKED TABLE " +
"linkedTestOld('org.h2.Driver', 'jdbc:h2:" +
getBaseDir() + "/upgradeOld" + additionalParameters + "', '', '', 'TestOld')");
getBaseDir() + "/upgradeOld" + additionalParametersNew + "', '', '', 'TestOld')");
statNew.executeQuery("select * from linkedTestOld");
connNew.close();
connNew2.close();
assertTrue(FileUtils.exists(getBaseDir() + "/upgradeOld.h2.db"));
assertTrue(FileUtils.exists(getBaseDir() + "/upgrade.h2.db"));
......@@ -176,7 +176,7 @@ public class TestUpgrade extends TestBase {
// Upgrade
Connection connOldViaNew = DriverManager.getConnection(
"jdbc:h2:" + getBaseDir() + "/upgrade;ifexists=true");
"jdbc:h2:" + getBaseDir() + "/upgrade;ifexists=true;MV_STORE=FALSE");
Statement statOldViaNew = connOldViaNew.createStatement();
statOldViaNew.executeQuery("select * from test");
connOldViaNew.close();
......@@ -200,7 +200,7 @@ public class TestUpgrade extends TestBase {
// Connect to old DB with upgrade
conn = DriverManager.getConnection("jdbc:h2:" +
getBaseDir() + "/upgrade;CIPHER=AES", "abc", "abc abc");
getBaseDir() + "/upgrade;CIPHER=AES;MV_STORE=false", "abc", "abc abc");
stat = conn.createStatement();
stat.executeQuery("select * from test");
conn.close();
......
......@@ -19,7 +19,6 @@ import javax.sql.DataSource;
import javax.sql.XAConnection;
import javax.transaction.xa.XAResource;
import javax.transaction.xa.Xid;
import org.h2.api.ErrorCode;
import org.h2.jdbcx.JdbcDataSource;
import org.h2.jdbcx.JdbcDataSourceFactory;
......@@ -76,6 +75,8 @@ public class TestDataSource extends TestBase {
testDataSource();
testUnwrap();
testXAConnection();
// otherwise we sometimes can't delete the trace file when the TestAll cleanup code runs
JdbcDataSourceFactory.getTraceSystem().close();
deleteDb("dataSource");
}
......
......@@ -34,7 +34,6 @@ public class TestRandomSQL extends TestBase {
if (config.networked) {
return;
}
config.memory = true;
int len = getSize(2, 6);
for (int a = 0; a < len; a++) {
int s = MathUtils.randomInt(Integer.MAX_VALUE);
......
......@@ -5,13 +5,12 @@
*/
package org.h2.test.synth;
import org.h2.test.TestBase;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.concurrent.CountDownLatch;
import org.h2.test.TestBase;
/**
* Tests lock releasing for concurrent select statements
......@@ -26,15 +25,15 @@ public class TestReleaseSelectLock extends TestBase {
* @param a ignored
*/
public static void main(String... a) throws Exception {
TestBase.createCaller().init().test();
TestBase test = TestBase.createCaller().init();
test.config.mvStore = false;
test.config.mvcc = false;
test.config.multiThreaded = true;
test.test();
}
@Override
public void test() throws Exception {
config.mvStore = false;
config.mvcc = false;
config.multiThreaded = true;
deleteDb(TEST_DB_NAME);
Connection conn = getConnection(TEST_DB_NAME);
......
......@@ -16,7 +16,9 @@ import javax.management.MBeanInfo;
import javax.management.MBeanOperationInfo;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.h2.engine.Constants;
import org.h2.test.TestBase;
import org.h2.util.Utils;
/**
* Tests the JMX feature.
......@@ -29,7 +31,10 @@ public class TestJmx extends TestBase {
* @param a ignored
*/
public static void main(String... a) throws Exception {
TestBase.createCaller().init().test();
TestBase base = TestBase.createCaller().init();
base.config.mvStore = false;
base.config.mvcc = false;
base.test();
}
@Override
......@@ -143,9 +148,14 @@ public class TestJmx extends TestBase {
if (config.memory) {
assertEquals("0", mbeanServer.
getAttribute(name, "CacheSizeMax").toString());
} else {
} else if (config.mvStore) {
assertEquals("16384", mbeanServer.
getAttribute(name, "CacheSizeMax").toString());
} else {
int cacheSize = Utils.scaleForAvailableMemory(
Constants.CACHE_SIZE_DEFAULT);
assertEquals("" + cacheSize, mbeanServer.
getAttribute(name, "CacheSizeMax").toString());
}
mbeanServer.setAttribute(name, new Attribute("CacheSizeMax", 1));
if (config.memory) {
......
......@@ -25,7 +25,6 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import org.h2.api.ErrorCode;
import org.h2.test.TestBase;
import org.h2.tools.Server;
......@@ -41,15 +40,16 @@ public class TestPgServer extends TestBase {
* @param a ignored
*/
public static void main(String... a) throws Exception {
TestBase.createCaller().init().test();
TestBase test = TestBase.createCaller().init();
test.config.memory = true;
test.test();
}
@Override
public void test() throws Exception {
config.multiThreaded = true;
config.memory = true;
config.mvStore = true;
config.mvcc = true;
if (!config.memory) {
return;
}
// testPgAdapter() starts server by itself without a wait so run it first
testPgAdapter();
testLowerCaseIdentifiers();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论