提交 0db8d5d3 authored 作者: Thomas Mueller's avatar Thomas Mueller

Feature flags for version 1.4

上级 dabea9d2
...@@ -220,6 +220,10 @@ public class Database implements DataHandler { ...@@ -220,6 +220,10 @@ public class Database implements DataHandler {
} else { } else {
fileLockMethod = FileLock.getFileLockMethod(lockMethodName); fileLockMethod = FileLock.getFileLockMethod(lockMethodName);
} }
if (dbSettings.mvStore && fileLockMethod == FileLock.LOCK_SERIALIZED) {
throw DbException.getUnsupportedException(
"MV_STORE combined with FILE_LOCK=SERIALIZED");
}
this.databaseURL = ci.getURL(); this.databaseURL = ci.getURL();
String listener = ci.removeProperty("DATABASE_EVENT_LISTENER", null); String listener = ci.removeProperty("DATABASE_EVENT_LISTENER", null);
if (listener != null) { if (listener != null) {
...@@ -231,7 +235,7 @@ public class Database implements DataHandler { ...@@ -231,7 +235,7 @@ public class Database implements DataHandler {
this.mode = Mode.getInstance(modeName); this.mode = Mode.getInstance(modeName);
} }
this.multiVersion = this.multiVersion =
ci.getProperty("MVCC", false); ci.getProperty("MVCC", Constants.VERSION_MINOR >= 4);
this.logMode = this.logMode =
ci.getProperty("LOG", PageStore.LOG_MODE_SYNC); ci.getProperty("LOG", PageStore.LOG_MODE_SYNC);
this.javaObjectSerializerName = this.javaObjectSerializerName =
......
...@@ -337,7 +337,7 @@ public class DbSettings extends SettingsBase { ...@@ -337,7 +337,7 @@ public class DbSettings extends SettingsBase {
* (default: false).<br /> * (default: false).<br />
* Use the MVStore storage engine. * Use the MVStore storage engine.
*/ */
public final boolean mvStore = get("MV_STORE", false); public final boolean mvStore = get("MV_STORE", Constants.VERSION_MINOR >= 4);
/** /**
* Database setting <code>COMPRESS</code> * Database setting <code>COMPRESS</code>
......
...@@ -311,13 +311,15 @@ public class SysProperties { ...@@ -311,13 +311,15 @@ public class SysProperties {
*/ */
public static final int OBJECT_CACHE_SIZE = public static final int OBJECT_CACHE_SIZE =
MathUtils.nextPowerOf2(Utils.getProperty("h2.objectCacheSize", 1024)); MathUtils.nextPowerOf2(Utils.getProperty("h2.objectCacheSize", 1024));
/** /**
* System property <code>h2.oldStyleOuterJoin</code> (default: true for version 1.3, false for version 1.4).<br /> * System property <code>h2.oldStyleOuterJoin</code>
* (default: true for version 1.3, false for version 1.4).<br />
* Limited support for the old-style Oracle outer join with "(+)". * Limited support for the old-style Oracle outer join with "(+)".
*/ */
public static final boolean OLD_STYLE_OUTER_JOIN = public static final boolean OLD_STYLE_OUTER_JOIN =
Utils.getProperty("h2.oldStyleOuterJoin", Constants.VERSION_MINOR >= 4 ? false : true); Utils.getProperty("h2.oldStyleOuterJoin",
Constants.VERSION_MINOR >= 4 ? false : true);
/** /**
* System property <code>h2.pgClientEncoding</code> (default: UTF-8).<br /> * System property <code>h2.pgClientEncoding</code> (default: UTF-8).<br />
...@@ -365,13 +367,16 @@ public class SysProperties { ...@@ -365,13 +367,16 @@ public class SysProperties {
*/ */
public static final int SOCKET_CONNECT_TIMEOUT = public static final int SOCKET_CONNECT_TIMEOUT =
Utils.getProperty("h2.socketConnectTimeout", 2000); Utils.getProperty("h2.socketConnectTimeout", 2000);
/** /**
* System property <code>h2.sortBinaryUnsigned</code> (default: false with version 1.3, true with version 1.4).<br /> * System property <code>h2.sortBinaryUnsigned</code>
* Whether binary data should be sorted in unsigned mode (0xff is larger than 0x00). * (default: false with version 1.3, true with version 1.4).<br />
* Whether binary data should be sorted in unsigned mode
* (0xff is larger than 0x00).
*/ */
public static final boolean SORT_BINARY_UNSIGNED = public static final boolean SORT_BINARY_UNSIGNED =
Utils.getProperty("h2.sortBinaryUnsigned", Constants.VERSION_MINOR >= 4 ? true : false); Utils.getProperty("h2.sortBinaryUnsigned",
Constants.VERSION_MINOR >= 4 ? true : false);
/** /**
* System property <code>h2.sortNullsHigh</code> (default: false).<br /> * System property <code>h2.sortNullsHigh</code> (default: false).<br />
...@@ -390,12 +395,14 @@ public class SysProperties { ...@@ -390,12 +395,14 @@ public class SysProperties {
Utils.getProperty("h2.splitFileSizeShift", 30); Utils.getProperty("h2.splitFileSizeShift", 30);
/** /**
* System property <code>h2.storeLocalTime</code> (default: false for version 1.3, true for version 1.4).<br /> * System property <code>h2.storeLocalTime</code>
* (default: false for version 1.3, true for version 1.4).<br />
* Store the local time. If disabled, the daylight saving offset is not * Store the local time. If disabled, the daylight saving offset is not
* taken into account. * taken into account.
*/ */
public static final boolean STORE_LOCAL_TIME = public static final boolean STORE_LOCAL_TIME =
Utils.getProperty("h2.storeLocalTime", Constants.VERSION_MINOR >= 4 ? true : false); Utils.getProperty("h2.storeLocalTime",
Constants.VERSION_MINOR >= 4 ? true : false);
/** /**
* System property <code>h2.syncMethod</code> (default: sync).<br /> * System property <code>h2.syncMethod</code> (default: sync).<br />
...@@ -416,14 +423,16 @@ public class SysProperties { ...@@ -416,14 +423,16 @@ public class SysProperties {
*/ */
public static final boolean TRACE_IO = public static final boolean TRACE_IO =
Utils.getProperty("h2.traceIO", false); Utils.getProperty("h2.traceIO", false);
/** /**
* System property <code>h2.implicitRelativePath</code> (default: true for version 1.3, false for version 1.4).<br /> * System property <code>h2.implicitRelativePath</code>
* (default: true for version 1.3, false for version 1.4).<br />
* If disabled, relative paths in database URLs need to be written as * If disabled, relative paths in database URLs need to be written as
* jdbc:h2:./test instead of jdbc:h2:test. * jdbc:h2:./test instead of jdbc:h2:test.
*/ */
public static final boolean IMPLICIT_RELATIVE_PATH = public static final boolean IMPLICIT_RELATIVE_PATH =
Utils.getProperty("h2.implicitRelativePath", Constants.VERSION_MINOR >= 4 ? false : true); Utils.getProperty("h2.implicitRelativePath",
Constants.VERSION_MINOR >= 4 ? false : true);
/** /**
* System property <code>h2.urlMap</code> (default: null).<br /> * System property <code>h2.urlMap</code> (default: null).<br />
......
...@@ -754,4 +754,5 @@ overwrote though randomize readability datagram rsync mongodb divides crypto ...@@ -754,4 +754,5 @@ overwrote though randomize readability datagram rsync mongodb divides crypto
predicted prediction wojtek hops jurczyk cbtree predict vast assumption upside predicted prediction wojtek hops jurczyk cbtree predict vast assumption upside
adjusted lastly sgtatham cleaning gillet prevented adjusted lastly sgtatham cleaning gillet prevented
angus bernd macdonald eckenfels granting moreover exponential transferring angus bernd macdonald eckenfels granting moreover exponential transferring
dedup megabyte breadth traversal dedup megabyte breadth traversal affine tucc jentsch yyyymmdd vertica graf
mutate
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论