ModeThe compatibility modes. There is a fixed set of modes (for example PostgreSQL, MySQL). Each mode has different settings.
aliasColumnNameWhen 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.
allNumericTypesHavePrecisionIf {@code true} all numeric data types may have precision and 'UNSIGNED'
clause.
allowDB2TimestampFormatWhether DB2 TIMESTAMP formats are allowed.
allowEmptyInPredicateWhether IN predicate may have an empty value list.
allowEmptySchemaValuesAsDefaultSchemaIf {@code true} constructs like 'CREATE TABLE CATALOG..TABLE_NAME' are allowed,
the default schema is used.
allowPlusForStringConcatText can be concatenated using '+'.
allowUnrelatedOrderByExpressionsInDistinctQueriesIf {@code true} unrelated ORDER BY expression are allowed in DISTINCT
queries, if {@code false} they are disallowed.
allowUsingFromClauseInUpdateStatementIf {@code true}, allow using from clause in update statement.
alterTableExtensionsMySQLIf {@code true} some additional non-standard ALTER TABLE commands are allowed.
alterTableModifyColumnIf {@code true} non-standard ALTER TABLE MODIFY COLUMN is allowed.
autoIncrementClauseWhether MySQL-style AUTO_INCREMENT clause is supported.
charAndByteLengthUnitsIf {@code true} 'CHAR' and 'BYTE' length units are allowed.
charPaddingHow to pad or trim CHAR values.
convertOnlyToSmallerScaleWhen converting the scale of decimal data, the number is only converted
if the new scale is smaller than the current scale. Usually, the scale is
converted and 0s are added if required.
createUniqueConstraintForReferencedColumnsIf {@code true}, referential constraints will create a unique constraint
on referenced columns if it doesn't exist instead of throwing an
exception.
dateTimeValueWithinTransactionIf {@code true}, datetime value function return the same value within a
transaction, if {@code false} datetime value functions return the same
value within a command.
decimalSequencesIf {@code true} NEXT VALUE FOR SEQUENCE, CURRENT VALUE FOR SEQUENCE,
SEQUENCE.NEXTVAL, and SEQUENCE.CURRVAL return values with DECIMAL/NUMERIC
data type instead of BIGINT.
disallowedTypesAn optional Set of hidden/disallowed column types.
Certain DBMSs don't support all column types provided by H2, such as
"NUMBER" when using PostgreSQL mode.
discardWithTableHintsDiscard SQLServer table hints (e.g. "SELECT * FROM table WITH (NOLOCK)")
expressionNamesHow column names are generated for expressions.
forBitDataIf {@code true} 'FOR BIT DATA' clauses are allowed for character string
data types.
groupByColumnIndexAllow to use GROUP BY n, where n is column index in the SELECT list, similar to ORDER BY
identityClauseWhether SQL Server-style IDENTITY clause is supported.
identityColumnsHaveDefaultOnNullIf {@code true}, identity columns have DEFAULT ON NULL clause.
identityDataTypeWhether IDENTITY pseudo data type is supported.
indexDefinitionInCreateTableCreating indexes in the CREATE TABLE statement is allowed using
INDEX(..) or KEY(..) .
Example: create table test(id int primary key, name varchar(255),
key idx_name(name)); insertOnConflictPostgreSQL style INSERT ... ON CONFLICT DO NOTHING.
isolationLevelInSelectOrInsertStatementcan set the isolation level using WITH {RR|RS|CS|UR}
limitWhether LIMIT / OFFSET clauses are supported.
logIsLogBase10The single-argument function LOG() uses base 10 instead of E.
mergeWhereIf {@code true}, merge when matched clause may have WHERE clause.
nextValueReturnsDifferentValuesIf {@code true}, the next value expression returns different values when
invoked multiple times within a row. This setting does not affect
NEXTVAL() function.
nextvalAndCurrvalPseudoColumnsIf {@code true}, sequence.NEXTVAL and sequence.CURRVAL pseudo columns are
supported.
numericWithBooleanComparisonAllow to compare numeric with BOOLEAN.
onDuplicateKeyUpdateMySQL style INSERT ... ON DUPLICATE KEY UPDATE ... and INSERT IGNORE.
regexpReplaceBackslashReferencesThe function REGEXP_REPLACE() uses \ for back-references.
replaceIntoMySQL style REPLACE INTO.
serialDataTypesWhether SERIAL and BIGSERIAL pseudo data types are supported.
squareBracketQuotedNamesIdentifiers may be quoted using square brackets as in [Test].
supportPoundSymbolForColumnNamesSupport the # for column names
supportedClientInfoPropertiesRegExPattern describing the keys the java.sql.Connection.setClientInfo()
method accepts.
swapConvertFunctionParametersSwap the parameters of the CONVERT function.
swapLogFunctionParametersSwap the parameters of LOG() function.
sysDummy1Support the pseudo-table SYSIBM.SYSDUMMY1.
systemColumnsThe system columns 'ctid' and 'oid' are supported.
takeGeneratedSequenceValueIf {@code true}, last identity of the session is updated on generation of
a new sequence value.
takeInsertedIdentityIf {@code true}, last identity of the session is updated on insertion of
a new value into identity column.
topInDMLWhether TOP clause in DML commands is supported.
topInSelectWhether TOP clause in SELECT queries is supported.
treatEmptyStringsAsNullEmpty strings are treated like NULL values. Useful for Oracle emulation.
truncateTableRestartIdentityIf {@code true} TRUNCATE TABLE uses RESTART IDENTITY by default.
typeByNameMapCustom mappings from type names to data types.
uniqueIndexNullsHandlingDetermines how rows with {@code NULL} values in indexed columns are handled
in unique indexes.
updateSequenceOnManualIdentityInsertionIf {@code true}, sequences of generated by default identity columns are
updated when value is provided by user.
viewExpressionNamesHow column names are generated for views.
zeroExLiteralsAreBinaryStringsIf {@code true} {@code 0x}-prefixed numbers are parsed as binary string
literals, if {@code false} they are parsed as hexadecimal numeric values.
|