## org.h2.constant
Class SysProperties

    java.lang.Object
      org.h2.constant.SysProperties

    public class SysProperties

extends java.lang.Object

The constants defined in this class are initialized from system properties. Those properties can be set when starting the virtual machine:

     java -Dh2.baseDir=/temp

They can be set within the application, but this must be done before loading any classes of this database (before loading the JDBC driver):

     System.setProperty("h2.baseDir", "/temp");

Field Summary
`static boolean` `ALIAS_COLUMN_NAME` System property `h2.aliasColumnName`.
`static boolean` `ALLOW_BIG_DECIMAL_EXTENSIONS` System property `h2.allowBigDecimalExtensions` (default: false).
`static java.lang.String` `ALLOWED_CLASSES` System property `h2.allowedClasses` (default: *).
`static java.lang.String` `BIND_ADDRESS` System property `h2.bindAddress` (default: *).
`static java.lang.String` `BROWSER` System property `h2.browser` (default: null).
`static int` `CACHE_SIZE_DEFAULT` System property `h2.cacheSizeDefault` (default: 16384).
`static int` `CACHE_SIZE_INDEX_DEFAULT` INTERNAL
`static int` `CACHE_SIZE_INDEX_SHIFT` System property `h2.cacheSizeIndexShift` (default: 3).
`static java.lang.String` `CACHE_TYPE_DEFAULT` System property `h2.cacheTypeDefault` (default: LRU).
`static boolean` `CHECK` System property `h2.check` (default: true).
`static boolean` `CHECK2` System property `h2.check2` (default: true).
`static java.lang.String` `CLIENT_TRACE_DIRECTORY` System property `h2.clientTraceDirectory` (default: trace.db/).
`static int` `COLLATOR_CACHE_SIZE` System property `h2.collatorCacheSize` (default: 10000).
`static int` `DATASOURCE_TRACE_LEVEL` System property `h2.dataSourceTraceLevel` (default: 1).
`static java.lang.Character` `DEFAULT_ESCAPE_CHAR` System property `h2.defaultEscape` (default: \).
`static int` `DEFAULT_LOCK_MODE` System property `h2.defaultLockMode` (default: 3).
`static int` `DEFAULT_MAX_LENGTH_INPLACE_LOB` System property `h2.defaultMaxLengthInplaceLob`.
`static int` `DEFAULT_MAX_MEMORY_UNDO` System property `h2.defaultMaxMemoryUndo` (default: 50000).
`static int` `DEFAULT_MAX_OPERATION_MEMORY` System property `h2.defaultMaxOperationMemory` (default: 100000).
`static int` `DEFAULT_RESULT_SET_CONCURRENCY` System property `h2.defaultResultSetConcurrency` (default: ResultSet.CONCUR_READ_ONLY).
`static int` `DELAY_WRONG_PASSWORD_MAX` System property `h2.delayWrongPasswordMax` (default: 4000).
`static int` `DELAY_WRONG_PASSWORD_MIN` System property `h2.delayWrongPasswordMin` (default: 250).
`static boolean` `DOLLAR_QUOTING` System property `h2.dollarQuoting` (default: true).
`static boolean` `ENABLE_ANONYMOUS_SSL` System property `h2.enableAnonymousSSL` (default: true).
`static int` `ESTIMATED_FUNCTION_TABLE_ROWS` System property `h2.estimatedFunctionTableRows` (default: 1000).
`static java.lang.String` `FILE_ENCODING` System property `file.encoding` (default: Cp1252).
`static java.lang.String` `FILE_SEPARATOR` System property `file.separator` (default: /).
`static java.lang.String` `H2_COLLATOR_CACHE_SIZE` INTERNAL
`static java.lang.String` `H2_LOG_DELETE_DELAY` INTERNAL
`static java.lang.String` `H2_MAX_QUERY_TIMEOUT` INTERNAL
`static java.lang.String` `H2_PAGE_STORE` INTERNAL
`static java.lang.String` `JAVA_SPECIFICATION_VERSION` System property `java.specification.version`.
`static int` `LARGE_RESULT_BUFFER_SIZE` System property `h2.largeResultBufferSize` (default: 4096).
`static java.lang.String` `LINE_SEPARATOR` System property `line.separator` (default: \n).
`static boolean` `LOB_FILES_IN_DIRECTORIES` System property `h2.lobFilesInDirectories`.
`static int` `LOB_FILES_PER_DIRECTORY` System property `h2.lobFilesPerDirectory` (default: 256).
`static boolean` `lobCloseBetweenReads` System property `h2.lobCloseBetweenReads` (default: false).
`static boolean` `LOG_ALL_ERRORS` System property `h2.logAllErrors` (default: false).
`static java.lang.String` `LOG_ALL_ERRORS_FILE` System property `h2.logAllErrorsFile` (default: h2errors.txt).
`static int` `MAX_COMPACT_COUNT` System property `h2.maxCompactCount` (default: Integer.MAX_VALUE).
`static int` `MAX_COMPACT_TIME` System property `h2.maxCompactTime` (default: 1000).
`static int` `MAX_FILE_RETRY` System property `h2.maxFileRetry` (default: 16).
`static int` `MAX_MEMORY_ROWS_DISTINCT` System property `h2.maxMemoryRowsDistinct` (default: Integer.MAX_VALUE).
`static int` `MAX_QUERY_TIMEOUT` System property `h2.maxQueryTimeout` (default: 0).
`static int` `MAX_RECONNECT` System property `h2.maxReconnect` (default: 3).
`static long` `MAX_TRACE_DATA_LENGTH` System property `h2.maxTraceDataLength` (default: 65535).
`static int` `MIN_COLUMN_NAME_MAP` System property `h2.minColumnNameMap` (default: 3).
`static int` `MIN_WRITE_DELAY` System property `h2.minWriteDelay` (default: 5).
`static boolean` `NIO_CLEANER_HACK` System property `h2.nioCleanerHack` (default: true).
`static boolean` `NIO_LOAD_MAPPED` System property `h2.nioLoadMapped` (default: false).
`static boolean` `NULL_CONCAT_IS_NULL` System property `h2.nullConcatIsNull`.
`static boolean` `OBJECT_CACHE` System property `h2.objectCache` (default: true).
`static int` `OBJECT_CACHE_MAX_PER_ELEMENT_SIZE` System property `h2.objectCacheMaxPerElementSize` (default: 4096).
`static int` `OBJECT_CACHE_SIZE` System property `h2.objectCacheSize` (default: 1024).
`static boolean` `OLD_COMMAND_LINE_OPTIONS` System property `h2.oldCommandLineOptions`.
`static boolean` `OPTIMIZE_DISTINCT` System property `h2.optimizeDistinct` (default: true).
`static boolean` `OPTIMIZE_DROP_DEPENDENCIES` System property `h2.optimizeDropDependencies` (default: true).
`static boolean` `OPTIMIZE_EVALUATABLE_SUBQUERIES` System property `h2.optimizeEvaluatableSubqueries` (default: true).
`static boolean` `OPTIMIZE_GROUP_SORTED` System property `h2.optimizeGroupSorted`.
`static boolean` `OPTIMIZE_IN` System property `h2.optimizeIn` (default: true).
`static boolean` `OPTIMIZE_IN_LIST` System property `h2.optimizeInList` (default: false).
`static boolean` `OPTIMIZE_MIN_MAX` System property `h2.optimizeMinMax` (default: true).
`static boolean` `OPTIMIZE_NOT` System property `h2.optimizeNot` (default: true).
`static boolean` `OPTIMIZE_OR` System property `h2.optimizeOr` (default: false).
`static boolean` `OPTIMIZE_SUBQUERY_CACHE` System property `h2.optimizeSubqueryCache` (default: true).
`static boolean` `OPTIMIZE_TWO_EQUALS` System property `h2.optimizeTwoEquals` (default: true).
`static boolean` `optimizeInJoin` System property `h2.optimizeInJoin` (default: false).
`static boolean` `OVERFLOW_EXCEPTIONS` System property `h2.overflowExceptions` (default: true).
`static boolean` `PAGE_STORE` System property `h2.pageStore`.
`static boolean` `PAGE_STORE_INTERNAL_COUNT` System property `h2.pageStoreInternalCount` (default: false).
`static boolean` `PAGE_STORE_TRIM` System property `h2.pageStoreTrim` (default: true).
`static java.lang.String` `PG_DEFAULT_CLIENT_ENCODING` System property `h2.pgClientEncoding` (default: UTF-8).
`static boolean` `RECOMPILE_ALWAYS` System property `h2.recompileAlways` (default: false).
`static int` `RECONNECT_CHECK_DELAY` System property `h2.reconnectCheckDelay` (default: 200).
`static int` `REDO_BUFFER_SIZE` System property `h2.redoBufferSize` (default: 262144).
`static int` `RESERVE_MEMORY` System property `h2.reserveMemory` (default: 524288).
`static boolean` `RETURN_LOB_OBJECTS` System property `h2.returnLobObjects`.
`static int` `REUSE_SPACE_AFTER` System property `h2.reuseSpaceAfter` (default: 16).
`static boolean` `REUSE_SPACE_BTREE_INDEX` System property `h2.reuseSpaceBtreeIndex` (default: true).
`static boolean` `REUSE_SPACE_QUICKLY` System property `h2.reuseSpaceQuickly` (default: true).
`static boolean` `runFinalize` System property `h2.runFinalize` (default: true).
`static int` `SERVER_CACHED_OBJECTS` System property `h2.serverCachedObjects` (default: 64).
`static int` `SERVER_RESULT_SET_FETCH_SIZE` System property `h2.serverResultSetFetchSize` (default: 100).
`static boolean` `SHARE_LINKED_CONNECTIONS` System property `h2.shareLinkedConnections`.
`static int` `SOCKET_CONNECT_TIMEOUT` System property `h2.socketConnectTimeout` (default: 2000).
`static boolean` `SORT_NULLS_HIGH` System property `h2.sortNullsHigh` (default: false).
`static long` `SPLIT_FILE_SIZE_SHIFT` System property `h2.splitFileSizeShift` (default: 30).
`static long` `TIME_START` The current time this class was loaded (in milliseconds).
`static boolean` `TRACE_IO` System property `h2.traceIO` (default: false).
`static java.lang.String` `USER_HOME` System property `user.home` (default: empty string).
`static int` `WEB_MAX_VALUE_LENGTH` System property `h2.webMaxValueLength` (default: 10000).

Method Summary
`static java.lang.String` `getBaseDir()` INTERNAL
`static int` `getCollatorCacheSize()` INTERNAL
`static int` `getIntSetting(java.lang.String name, int defaultValue)` INTERNAL
`static int` `getLogFileDeleteDelay()` INTERNAL
`static int` `getMaxQueryTimeout()` INTERNAL
`static boolean` `getPageStore()` INTERNAL
`static java.lang.String` `getScriptDirectory()` INTERNAL.
`static java.lang.String` `getStringSetting(java.lang.String name, java.lang.String defaultValue)` INTERNAL
`static void` `setBaseDir(java.lang.String dir)` INTERNAL
`static void` `setScriptDirectory(java.lang.String dir)` INTERNAL

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### H2_MAX_QUERY_TIMEOUT

    public static final java.lang.String H2_MAX_QUERY_TIMEOUT

  INTERNAL

  See Also:
    Constant Field Values

### H2_LOG_DELETE_DELAY

    public static final java.lang.String H2_LOG_DELETE_DELAY

  INTERNAL

  See Also:
    Constant Field Values

### H2_COLLATOR_CACHE_SIZE

    public static final java.lang.String H2_COLLATOR_CACHE_SIZE

  INTERNAL

  See Also:
    Constant Field Values

### H2_PAGE_STORE

    public static final java.lang.String H2_PAGE_STORE

  INTERNAL

  See Also:
    Constant Field Values

### FILE_ENCODING

    public static final java.lang.String FILE_ENCODING

  System property `file.encoding` (default: Cp1252).
  It is usually set by the system and is the default encoding used for the RunScript and CSV tool.

### FILE_SEPARATOR

    public static final java.lang.String FILE_SEPARATOR

  System property `file.separator` (default: /).
  It is usually set by the system, and used to build absolute file names.

### JAVA_SPECIFICATION_VERSION

    public static final java.lang.String JAVA_SPECIFICATION_VERSION

  System property `java.specification.version`.
  It is set by the system. Examples: 1.4, 1.5, 1.6.

### LINE_SEPARATOR

    public static final java.lang.String LINE_SEPARATOR

  System property `line.separator` (default: \n).
  It is usually set by the system, and used by the script and trace tools.

### USER_HOME

    public static final java.lang.String USER_HOME

  System property `user.home` (default: empty string).
  It is usually set by the system, and used as a replacement for ~ in file names.

### ALIAS_COLUMN_NAME

    public static final boolean ALIAS_COLUMN_NAME

  System property `h2.aliasColumnName`.
  When enabled, aliased columns (as in SELECT ID AS I FROM TEST) return the alias (I in this case) in ResultSetMetaData.getColumnName() and 'null' in getTableName(). If disabled, the real column name (ID in this case) and table name is returned. This setting only affects the default mode.

  When using different modes, this feature is disabled for compatibility for all databases except MySQL. For MySQL, it is always enabled.

  In version 1.0, it is enabled by default.

  In version 1.1, it is disabled by default.

### ALLOW_BIG_DECIMAL_EXTENSIONS

    public static final boolean ALLOW_BIG_DECIMAL_EXTENSIONS

  System property `h2.allowBigDecimalExtensions` (default: false).
  When enabled, classes that extend BigDecimal are supported in PreparedStatement.setBigDecimal.

### ALLOWED_CLASSES

    public static final java.lang.String ALLOWED_CLASSES

  System property `h2.allowedClasses` (default: *).
  Comma separated list of class names or prefixes.

### BROWSER

    public static final java.lang.String BROWSER

  System property `h2.browser` (default: null).
  The preferred browser to use. If not set, the default browser is used. For Windows, to use the Internet Explorer, set this property to 'explorer'. For Mac OS, if the default browser is not Safari and you want to use Safari, use: `java -Dh2.browser="open,-a,Safari,%url" ...`.

### ENABLE_ANONYMOUS_SSL

    public static final boolean ENABLE_ANONYMOUS_SSL

  System property `h2.enableAnonymousSSL` (default: true).
  When using SSL connection, the anonymous cipher suite SSL_DH_anon_WITH_RC4_128_MD5 should be enabled.

### BIND_ADDRESS

    public static final java.lang.String BIND_ADDRESS

  System property `h2.bindAddress` (default: *).
  Comma separated list of class names or prefixes.

### CACHE_SIZE_DEFAULT

    public static final int CACHE_SIZE_DEFAULT

  System property `h2.cacheSizeDefault` (default: 16384).
  The default cache size in KB.

### CACHE_SIZE_INDEX_SHIFT

    public static final int CACHE_SIZE_INDEX_SHIFT

  System property `h2.cacheSizeIndexShift` (default: 3).
  How many time the cache size value is divided by two to get the index cache size. The index cache size is calculated like this: cacheSize >> cacheSizeIndexShift.

### CACHE_SIZE_INDEX_DEFAULT

    public static final int CACHE_SIZE_INDEX_DEFAULT

  INTERNAL

### CACHE_TYPE_DEFAULT

    public static final java.lang.String CACHE_TYPE_DEFAULT

  System property `h2.cacheTypeDefault` (default: LRU).
  How many time the cache size value is divided by two to get the index cache size. The index cache size is calculated like this: cacheSize >> cacheSizeIndexShift.

### CHECK

    public static final boolean CHECK

  System property `h2.check` (default: true).
  Assertions in the database engine.

### CHECK2

    public static final boolean CHECK2

  System property `h2.check2` (default: true).
  Additional assertions in the database engine.

### CLIENT_TRACE_DIRECTORY

    public static final java.lang.String CLIENT_TRACE_DIRECTORY

  System property `h2.clientTraceDirectory` (default: trace.db/).
  Directory where the trace files of the JDBC client are stored (only for client / server).

### DEFAULT_ESCAPE_CHAR

    public static final java.lang.Character DEFAULT_ESCAPE_CHAR

  System property `h2.defaultEscape` (default: \).
  The default escape character for LIKE comparisons. To select no escape character, use an empty string.

### DEFAULT_MAX_OPERATION_MEMORY

    public static final int DEFAULT_MAX_OPERATION_MEMORY

  System property `h2.defaultMaxOperationMemory` (default: 100000).
  The default for the setting MAX_OPERATION_MEMORY.

### DEFAULT_MAX_LENGTH_INPLACE_LOB

    public static final int DEFAULT_MAX_LENGTH_INPLACE_LOB

  System property `h2.defaultMaxLengthInplaceLob`.
  The default maximum length of an LOB that is stored in the data file itself.

  In version 1.1, the default is 1024.

  In version 1.2, the default is 4096.

### DEFAULT_RESULT_SET_CONCURRENCY

    public static final int DEFAULT_RESULT_SET_CONCURRENCY

  System property `h2.defaultResultSetConcurrency` (default: ResultSet.CONCUR_READ_ONLY).
  The default result set concurrency for statements created with Connection.createStatement() or prepareStatement(String sql).

### DATASOURCE_TRACE_LEVEL

    public static final int DATASOURCE_TRACE_LEVEL

  System property `h2.dataSourceTraceLevel` (default: 1).
  The trace level of the data source implementation. Default is 1 for error.

### DEFAULT_MAX_MEMORY_UNDO

    public static final int DEFAULT_MAX_MEMORY_UNDO

  System property `h2.defaultMaxMemoryUndo` (default: 50000).
  The default value for the MAX_MEMORY_UNDO setting.

### DEFAULT_LOCK_MODE

    public static final int DEFAULT_LOCK_MODE

  System property `h2.defaultLockMode` (default: 3).
  The default value for the LOCK_MODE setting.

### DELAY_WRONG_PASSWORD_MIN

    public static final int DELAY_WRONG_PASSWORD_MIN

  System property `h2.delayWrongPasswordMin` (default: 250).
  The minimum delay in milliseconds before an exception is thrown for using the wrong user name or password. This slows down brute force attacks. The delay is reset to this value after a successful login. Unsuccessful logins will double the time until DELAY_WRONG_PASSWORD_MAX.

### DELAY_WRONG_PASSWORD_MAX

    public static final int DELAY_WRONG_PASSWORD_MAX

  System property `h2.delayWrongPasswordMax` (default: 4000).
  The maximum delay in milliseconds before an exception is thrown for using the wrong user name or password. This slows down brute force attacks. The delay is reset after a successful login. The value 0 means there is no maximum delay.

### DOLLAR_QUOTING

    public static final boolean DOLLAR_QUOTING

  System property `h2.dollarQuoting` (default: true).
  Dollar quoting is used to quote text without having to use escape characters. A dollar quoted string starts and ends with $$. Inside the text, $$ is not allowed.

### ESTIMATED_FUNCTION_TABLE_ROWS

    public static final int ESTIMATED_FUNCTION_TABLE_ROWS

  System property `h2.estimatedFunctionTableRows` (default: 1000).
  The estimated number of rows in a function table (for example, CSVREAD or FTL_SEARCH). This value is used by the optimizer.

### LARGE_RESULT_BUFFER_SIZE

    public static final int LARGE_RESULT_BUFFER_SIZE

  System property `h2.largeResultBufferSize` (default: 4096).
  Buffer size for large result sets. Set this value to 0 to disable the buffer.

### lobCloseBetweenReads

    public static boolean lobCloseBetweenReads

  System property `h2.lobCloseBetweenReads` (default: false).
  Close LOB files between read operations.

### LOB_FILES_IN_DIRECTORIES

    public static final boolean LOB_FILES_IN_DIRECTORIES

  System property `h2.lobFilesInDirectories`.
  Store LOB files in subdirectories.

  In version 1.0, it is disabled by default.

  In version 1.1, it is enabled by default.

### LOB_FILES_PER_DIRECTORY

    public static final int LOB_FILES_PER_DIRECTORY

  System property `h2.lobFilesPerDirectory` (default: 256).
  Maximum number of LOB files per directory.

### LOG_ALL_ERRORS

    public static final boolean LOG_ALL_ERRORS

  System property `h2.logAllErrors` (default: false).
  Write stack traces of any kind of error to a file.

### LOG_ALL_ERRORS_FILE

    public static final java.lang.String LOG_ALL_ERRORS_FILE

  System property `h2.logAllErrorsFile` (default: h2errors.txt).
  File name to log errors.

### MAX_COMPACT_COUNT

    public static final int MAX_COMPACT_COUNT

  System property `h2.maxCompactCount` (default: Integer.MAX_VALUE).
  The maximum number of pages to move when closing a database.

### MAX_COMPACT_TIME

    public static final int MAX_COMPACT_TIME

  System property `h2.maxCompactTime` (default: 1000).
  The maximum time in milliseconds used to compact a database when closing.

### MAX_FILE_RETRY

    public static final int MAX_FILE_RETRY

  System property `h2.maxFileRetry` (default: 16).
  Number of times to retry file delete and rename. in Windows, files can't be deleted if they are open. Waiting a bit can help (sometimes the Windows Explorer opens the files for a short time) may help. Sometimes, running garbage collection may close files if the user forgot to call Connection.close() or InputStream.close().

### MAX_MEMORY_ROWS_DISTINCT

    public static final int MAX_MEMORY_ROWS_DISTINCT

  System property `h2.maxMemoryRowsDistinct` (default: Integer.MAX_VALUE).
  The maximum number of rows kept in-memory for SELECT DISTINCT queries. If more than this number of rows are in a result set, a temporary table is used.

### MAX_QUERY_TIMEOUT

    public static final int MAX_QUERY_TIMEOUT

  System property `h2.maxQueryTimeout` (default: 0).
  The maximum timeout of a query. The default is 0, meaning no limit.

### MAX_RECONNECT

    public static final int MAX_RECONNECT

  System property `h2.maxReconnect` (default: 3).
  The maximum number of tries to reconnect in a row.

### MAX_TRACE_DATA_LENGTH

    public static final long MAX_TRACE_DATA_LENGTH

  System property `h2.maxTraceDataLength` (default: 65535).
  The maximum size of a LOB value that is written as data to the trace system.

### MIN_COLUMN_NAME_MAP

    public static final int MIN_COLUMN_NAME_MAP

  System property `h2.minColumnNameMap` (default: 3).
  The minimum number of columns where a hash table is created when result set methods with column name (instead of column index) parameter are called.

### MIN_WRITE_DELAY

    public static final int MIN_WRITE_DELAY

  System property `h2.minWriteDelay` (default: 5).
  The minimum write delay that causes commits to be delayed.

### NIO_LOAD_MAPPED

    public static final boolean NIO_LOAD_MAPPED

  System property `h2.nioLoadMapped` (default: false).
  If the mapped buffer should be loaded when the file is opened. This can improve performance.

### NIO_CLEANER_HACK

    public static final boolean NIO_CLEANER_HACK

  System property `h2.nioCleanerHack` (default: true).
  If possible, use a hack to un-map the mapped file. See also http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4724038

### NULL_CONCAT_IS_NULL

    public static final boolean NULL_CONCAT_IS_NULL

  System property `h2.nullConcatIsNull`.
  Concatenation with NULL results in NULL. Usually, NULL is treated as an empty string if only one of the operands is NULL, and NULL is only returned if both operands are NULL.

  In version 1.1, it is disabled by default.

  In version 1.2, it is enabled by default.

### OBJECT_CACHE

    public static final boolean OBJECT_CACHE

  System property `h2.objectCache` (default: true).
  Cache commonly used objects (integers, strings).

### OBJECT_CACHE_MAX_PER_ELEMENT_SIZE

    public static final int OBJECT_CACHE_MAX_PER_ELEMENT_SIZE

  System property `h2.objectCacheMaxPerElementSize` (default: 4096).
  Maximum size of an object in the cache.

### OBJECT_CACHE_SIZE

    public static final int OBJECT_CACHE_SIZE

  System property `h2.objectCacheSize` (default: 1024).
  Maximum size of an object in the cache. This value must be a power of 2.

### OLD_COMMAND_LINE_OPTIONS

    public static final boolean OLD_COMMAND_LINE_OPTIONS

  System property `h2.oldCommandLineOptions`.
  Support old command line options.

  In version 1.0, it is enabled by default.

  In version 1.1, it is disabled by default.

### OPTIMIZE_DROP_DEPENDENCIES

    public static final boolean OPTIMIZE_DROP_DEPENDENCIES

  System property `h2.optimizeDropDependencies` (default: true).
  Improve the performance of DROP and DROP ALL OBJECTS by quicker scanning if other objects depend on this object.

### OPTIMIZE_DISTINCT

    public static final boolean OPTIMIZE_DISTINCT

  System property `h2.optimizeDistinct` (default: true).
  Improve the performance of simple DISTINCT queries if an index is available for the given column. The optimization is used if:
  - The select is a single column query without condition
  - The query contains only one table, and no group by
  - There is only one table involved
  - There is an ascending index on the column
  - The selectivity of the column is below 20

### OPTIMIZE_EVALUATABLE_SUBQUERIES

    public static final boolean OPTIMIZE_EVALUATABLE_SUBQUERIES

  System property `h2.optimizeEvaluatableSubqueries` (default: true).
  Optimize subqueries that are not dependent on the outer query.

### OPTIMIZE_GROUP_SORTED

    public static final boolean OPTIMIZE_GROUP_SORTED

  System property `h2.optimizeGroupSorted`.
  Optimize GROUP BY queries if an index can be used that matches the group by columns.

  In version 1.0, it is disabled by default.

  In version 1.1, it is enabled by default.

### OPTIMIZE_IN

    public static final boolean OPTIMIZE_IN

  System property `h2.optimizeIn` (default: true).
  Optimize IN(...) comparisons.

### OPTIMIZE_IN_LIST

    public static final boolean OPTIMIZE_IN_LIST

  System property `h2.optimizeInList` (default: false).
  Optimize IN(...) and IN(SELECT ...) comparisons. This includes optimization for SELECT, DELETE, and UPDATE. Overrides h2.optimizeIn and h2.optimizeInJoin if enabled.

  In version 1.1, it is disabled by default.

  In version 1.2, it is enabled by default.

### optimizeInJoin

    public static boolean optimizeInJoin

  System property `h2.optimizeInJoin` (default: false).
  Optimize IN(...) comparisons by converting them to inner joins.

  In version 1.0, it is disabled by default.

  In version 1.1, it is enabled by default.

### OPTIMIZE_MIN_MAX

    public static final boolean OPTIMIZE_MIN_MAX

  System property `h2.optimizeMinMax` (default: true).
  Optimize MIN and MAX aggregate functions.

### OPTIMIZE_NOT

    public static final boolean OPTIMIZE_NOT

  System property `h2.optimizeNot` (default: true).
  Optimize NOT conditions by removing the NOT and inverting the condition.

### OPTIMIZE_OR

    public static final boolean OPTIMIZE_OR

  System property `h2.optimizeOr` (default: false).
  Convert (C=? OR C=?) to (C IN(?, ?)).

### OPTIMIZE_SUBQUERY_CACHE

    public static final boolean OPTIMIZE_SUBQUERY_CACHE

  System property `h2.optimizeSubqueryCache` (default: true).
  Cache subquery results.

### OPTIMIZE_TWO_EQUALS

    public static final boolean OPTIMIZE_TWO_EQUALS

  System property `h2.optimizeTwoEquals` (default: true).
  Optimize expressions of the form A=B AND B=1. In this case, AND A=1 is added so an index on A can be used.

### OVERFLOW_EXCEPTIONS

    public static final boolean OVERFLOW_EXCEPTIONS

  System property `h2.overflowExceptions` (default: true).
  Throw an exception on integer overflows.

### PAGE_STORE

    public static final boolean PAGE_STORE

  System property `h2.pageStore`.
  Use the 'page store' database file format for new databases.

  In version 1.1, it is disabled by default.

  In version 1.2, it is enabled by default.

### PAGE_STORE_TRIM

    public static final boolean PAGE_STORE_TRIM

  System property `h2.pageStoreTrim` (default: true).
  Trim the database size when closing.

### PAGE_STORE_INTERNAL_COUNT

    public static final boolean PAGE_STORE_INTERNAL_COUNT

  System property `h2.pageStoreInternalCount` (default: false).
  Update the row counts on a node level.

### PG_DEFAULT_CLIENT_ENCODING

    public static final java.lang.String PG_DEFAULT_CLIENT_ENCODING

  System property `h2.pgClientEncoding` (default: UTF-8).
  Default client encoding for PG server. It is used if the client does not sends his encoding.

### RECOMPILE_ALWAYS

    public static final boolean RECOMPILE_ALWAYS

  System property `h2.recompileAlways` (default: false).
  Always recompile prepared statements.

### RECONNECT_CHECK_DELAY

    public static final int RECONNECT_CHECK_DELAY

  System property `h2.reconnectCheckDelay` (default: 200).
  Check the .lock.db file every this many milliseconds to detect that the database was changed. The process writing to the database must first notify a change in the .lock.db file, then wait twice this many milliseconds before updating the database.

### REDO_BUFFER_SIZE

    public static final int REDO_BUFFER_SIZE

  System property `h2.redoBufferSize` (default: 262144).
  Size of the redo buffer (used at startup when recovering).

### RESERVE_MEMORY

    public static final int RESERVE_MEMORY

  System property `h2.reserveMemory` (default: 524288).
  This many bytes in main memory are allocated as a reserve. This reserve is freed up when if no memory is available, so that rolling back a large transaction is easier.

### RETURN_LOB_OBJECTS

    public static final boolean RETURN_LOB_OBJECTS

  System property `h2.returnLobObjects`.
  When true, ResultSet.getObject for CLOB or BLOB will return a java.sql.Clob / java.sql.Blob object. When set to false, it will return a java.io.Reader / java.io.InputStream.

  In version 1.0, it is disabled by default.

  In version 1.1, it is enabled by default.

### REUSE_SPACE_AFTER

    public static final int REUSE_SPACE_AFTER

  System property `h2.reuseSpaceAfter` (default: 16).
  Reuse space in database files after this many pages are free.

### REUSE_SPACE_BTREE_INDEX

    public static final boolean REUSE_SPACE_BTREE_INDEX

  System property `h2.reuseSpaceBtreeIndex` (default: true).
  Reuse space after deleting or updating many rows in a b-tree index.

### REUSE_SPACE_QUICKLY

    public static final boolean REUSE_SPACE_QUICKLY

  System property `h2.reuseSpaceQuickly` (default: true).
  Reuse space in database files quickly.

### runFinalize

    public static boolean runFinalize

  System property `h2.runFinalize` (default: true).
  Run finalizers to detect unclosed connections.

### SERVER_CACHED_OBJECTS

    public static final int SERVER_CACHED_OBJECTS

  System property `h2.serverCachedObjects` (default: 64).
  TCP Server: number of cached objects per session.

### SERVER_RESULT_SET_FETCH_SIZE

    public static final int SERVER_RESULT_SET_FETCH_SIZE

  System property `h2.serverResultSetFetchSize` (default: 100).
  The default result set fetch size when using the server mode.

### SHARE_LINKED_CONNECTIONS

    public static final boolean SHARE_LINKED_CONNECTIONS

  System property `h2.shareLinkedConnections`.
  Linked connections should be shared, that means connections to the same database should be used for all linked tables that connect to the same database.

  In version 1.0, it is disabled by default.

  In version 1.1, it is enabled by default.

### SOCKET_CONNECT_TIMEOUT

    public static final int SOCKET_CONNECT_TIMEOUT

  System property `h2.socketConnectTimeout` (default: 2000).
  The timeout in milliseconds to connect to a server.

### SORT_NULLS_HIGH

    public static final boolean SORT_NULLS_HIGH

  System property `h2.sortNullsHigh` (default: false).
  Invert the default sorting behavior for NULL values, such that NULL values are sorted to the end of a result set in an ascending sort and to the beginning of a result set in a descending sort.

### SPLIT_FILE_SIZE_SHIFT

    public static final long SPLIT_FILE_SIZE_SHIFT

  System property `h2.splitFileSizeShift` (default: 30).
  The maximum file size of a split file is 1L << x.

### TRACE_IO

    public static final boolean TRACE_IO

  System property `h2.traceIO` (default: false).
  Trace all I/O operations.

### WEB_MAX_VALUE_LENGTH

    public static final int WEB_MAX_VALUE_LENGTH

  System property `h2.webMaxValueLength` (default: 10000).
  The H2 Console will abbreviate (truncate) result values larger than this size.

### COLLATOR_CACHE_SIZE

    public static final int COLLATOR_CACHE_SIZE

  System property `h2.collatorCacheSize` (default: 10000).
  The cache size for collation keys (in elements). Used when a collator has been set for the database.

### TIME_START

    public static final long TIME_START

  The current time this class was loaded (in milliseconds).

Method Detail

### getStringSetting

    public static java.lang.String getStringSetting(java.lang.String name,
                                                    java.lang.String defaultValue)

  INTERNAL

### getIntSetting

    public static int getIntSetting(java.lang.String name,
                                    int defaultValue)

  INTERNAL

### setBaseDir

    public static void setBaseDir(java.lang.String dir)

  INTERNAL

### getBaseDir

    public static java.lang.String getBaseDir()

  INTERNAL

### getScriptDirectory

    public static java.lang.String getScriptDirectory()

  INTERNAL. System property `h2.scriptDirectory` (default: empty string).
  Relative or absolute directory where the script files are stored to or read from.

### setScriptDirectory

    public static void setScriptDirectory(java.lang.String dir)

  INTERNAL

### getMaxQueryTimeout

    public static int getMaxQueryTimeout()

  INTERNAL

### getLogFileDeleteDelay

    public static int getLogFileDeleteDelay()

  INTERNAL

### getCollatorCacheSize

    public static int getCollatorCacheSize()

  INTERNAL

### getPageStore

    public static boolean getPageStore()

  INTERNAL