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