Unverified 提交 ebb7d972 authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov 提交者: GitHub

Merge pull request #1105 from katzyn/misc

Assorted minor changes
......@@ -329,10 +329,10 @@ public class DbSettings extends SettingsBase {
/**
* Database setting <code>MV_STORE</code>
* (default: false for version 1.3, true for version 1.4).<br />
* (default: true).<br />
* Use the MVStore storage engine.
*/
public boolean mvStore = get("MV_STORE", Constants.VERSION_MINOR >= 4);
public boolean mvStore = get("MV_STORE", true);
/**
* Database setting <code>COMPRESS</code>
......
......@@ -332,12 +332,11 @@ public class SysProperties {
/**
* System property <code>h2.oldStyleOuterJoin</code>
* (default: true for version 1.3, false for version 1.4).<br />
* (default: false).<br />
* Limited support for the old-style Oracle outer join with "(+)".
*/
public static final boolean OLD_STYLE_OUTER_JOIN =
Utils.getProperty("h2.oldStyleOuterJoin",
Constants.VERSION_MINOR < 4);
Utils.getProperty("h2.oldStyleOuterJoin", false);
/**
* System property {@code h2.oldResultSetGetObject}, {@code true} by default.
......@@ -439,13 +438,12 @@ public class SysProperties {
/**
* System property <code>h2.sortBinaryUnsigned</code>
* (default: false with version 1.3, true with version 1.4).<br />
* (default: true).<br />
* Whether binary data should be sorted in unsigned mode
* (0xff is larger than 0x00).
*/
public static final boolean SORT_BINARY_UNSIGNED =
Utils.getProperty("h2.sortBinaryUnsigned",
Constants.VERSION_MINOR >= 4);
Utils.getProperty("h2.sortBinaryUnsigned", true);
/**
* System property <code>h2.sortNullsHigh</code> (default: false).<br />
......@@ -493,13 +491,12 @@ public class SysProperties {
/**
* System property <code>h2.implicitRelativePath</code>
* (default: true for version 1.3, false for version 1.4).<br />
* (default: false).<br />
* If disabled, relative paths in database URLs need to be written as
* jdbc:h2:./test instead of jdbc:h2:test.
*/
public static final boolean IMPLICIT_RELATIVE_PATH =
Utils.getProperty("h2.implicitRelativePath",
Constants.VERSION_MINOR < 4);
Utils.getProperty("h2.implicitRelativePath", false);
/**
* System property <code>h2.urlMap</code> (default: null).<br />
......
......@@ -288,7 +288,7 @@ public class ObjectDataType implements DataType {
* @return true if yes
*/
static boolean isBigInteger(Object obj) {
return obj instanceof BigInteger && obj.getClass() == BigInteger.class;
return obj != null && obj.getClass() == BigInteger.class;
}
/**
......@@ -298,7 +298,7 @@ public class ObjectDataType implements DataType {
* @return true if yes
*/
static boolean isBigDecimal(Object obj) {
return obj instanceof BigDecimal && obj.getClass() == BigDecimal.class;
return obj != null && obj.getClass() == BigDecimal.class;
}
/**
......@@ -308,7 +308,7 @@ public class ObjectDataType implements DataType {
* @return true if yes
*/
static boolean isDate(Object obj) {
return obj instanceof Date && obj.getClass() == Date.class;
return obj != null && obj.getClass() == Date.class;
}
/**
......
......@@ -1420,7 +1420,8 @@ public class WebApp {
}
private static boolean isBuiltIn(String sql, String builtIn) {
return StringUtils.startsWithIgnoreCase(sql, builtIn);
int len = builtIn.length();
return sql.length() >= len && sql.regionMatches(true, 0, builtIn, 0, len);
}
private String executeLoop(Connection conn, int count, String sql)
......
......@@ -110,20 +110,6 @@ public class StringUtils {
return s.toLowerCase(Locale.ENGLISH);
}
/**
* Check is a string starts with another string, ignoring the case.
*
* @param s the string to check (must be longer than start)
* @param start the prefix of s
* @return true if start is a prefix of s
*/
public static boolean startsWithIgnoreCase(String s, String start) {
if (s.length() < start.length()) {
return false;
}
return s.substring(0, start.length()).equalsIgnoreCase(start);
}
/**
* Convert a string to a SQL literal. Null is converted to NULL. The text is
* enclosed in single quotes. If there are any special characters, the
......
......@@ -57,7 +57,7 @@ public class ValueDecimal extends Value {
private ValueDecimal(BigDecimal value) {
if (value == null) {
throw new IllegalArgumentException("null");
} else if (!value.getClass().equals(BigDecimal.class)) {
} else if (value.getClass() != BigDecimal.class) {
throw DbException.get(ErrorCode.INVALID_CLASS_2,
BigDecimal.class.getName(), value.getClass().getName());
}
......
......@@ -286,7 +286,7 @@ java org.h2.test.TestAll timer
/**
* Whether the MVStore storage is used.
*/
public boolean mvStore = Constants.VERSION_MINOR >= 4;
public boolean mvStore = true;
/**
* If the test should run with many rows.
......
......@@ -20,7 +20,7 @@ import java.util.List;
import java.util.Random;
import java.util.concurrent.TimeUnit;
import org.h2.api.ErrorCode;
import org.h2.engine.Constants;
import org.h2.engine.SysProperties;
import org.h2.store.fs.FileUtils;
import org.h2.test.TestBase;
......@@ -1265,8 +1265,8 @@ public class TestCases extends TestBase {
Statement stat = conn.createStatement();
ResultSet rs;
// test the default (SIGNED)
if (Constants.VERSION_MINOR < 4) {
// test the SIGNED mode
stat.execute("SET BINARY_COLLATION SIGNED");
stat.execute("create table bin( x binary(1) );");
stat.execute("insert into bin(x) values (x'09'),(x'0a'),(x'99'),(x'aa');");
rs = stat.executeQuery("select * from bin order by x;");
......@@ -1279,9 +1279,7 @@ public class TestCases extends TestBase {
rs.next();
assertEquals("0a", rs.getString(1));
stat.execute("drop table bin");
}
// test UNSIGNED mode
// test UNSIGNED mode (default)
stat.execute("SET BINARY_COLLATION UNSIGNED");
stat.execute("create table bin( x binary(1) );");
stat.execute("insert into bin(x) values (x'09'),(x'0a'),(x'99'),(x'aa');");
......@@ -1294,6 +1292,9 @@ public class TestCases extends TestBase {
assertEquals("99", rs.getString(1));
rs.next();
assertEquals("aa", rs.getString(1));
stat.execute("drop table bin");
stat.execute("SET BINARY_COLLATION "
+ (SysProperties.SORT_BINARY_UNSIGNED ? "UNSIGNED" : "SIGNED"));
conn.close();
}
......
......@@ -45,7 +45,7 @@ public class TestSpaceReuse extends TestBase {
conn.createStatement().execute("delete from t");
conn.close();
String fileName = getBaseDir() + "/spaceReuse";
if (Constants.VERSION_MINOR >= 4) {
if (config.mvStore) {
fileName += Constants.SUFFIX_MV_FILE;
} else {
fileName += Constants.SUFFIX_PAGE_FILE;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论