public class SQLServerDictionary extends AbstractSQLServerDictionary
DBDictionary.DateMillisecondBehaviors, DBDictionary.SerializedData| Modifier and Type | Field and Description |
|---|---|
Boolean |
sendTimeAsString
SQLServer doesn't like a java.sql.Time as default.
|
boolean |
uniqueIdentifierAsVarbinary
Flag whether to treat UNIQUEIDENTIFIER as VARBINARY or VARCHAR
|
static String |
VENDOR_JTDS |
static String |
VENDOR_MICROSOFT |
static String |
VENDOR_NETDIRECT |
_procs, _proxyManager, allowQueryTimeoutOnFindUpdate, allowsAliasInBulkClause, arrayTypeName, autoAssignClause, autoAssignTypeName, batchLimit, bigintTypeName, binaryTypeName, bitLengthFunction, bitTypeName, blobBufferSize, blobTypeName, booleanRepresentation, booleanTypeName, castFunction, catalogSeparator, CENTI, characterColumnSize, charTypeName, clobBufferSize, clobTypeName, closePoolSQL, concatenateDelimiter, concatenateFunction, conf, connected, CONS_NAME_AFTER, CONS_NAME_BEFORE, CONS_NAME_MID, constraintNameMode, createPrimaryKeys, crossJoinClause, currentDateFunction, currentTimeFunction, currentTimestampFunction, databaseProductName, databaseProductVersion, dateFractionDigits, datePrecision, dateTypeName, DECI, decimalTypeName, defaultSchemaName, delimitedCase, disableAlterSeqenceIncrementBy, disableSchemaFactoryColumnTypeErrors, distinctCountColumnSeparator, distinctTypeName, doubleTypeName, driverVendor, dropTableSQL, fixedSizeTypeNames, fixedSizeTypeNameSet, floatTypeName, forUpdateClause, fractionalTypeNameSet, fullResultCollectionInOrderByRelation, getStringVal, inClauseLimit, indexPhysicalForeignKeys, initializationSQL, innerJoinClause, integerTypeName, invalidColumnWordSet, isJDBC3, isJDBC4, javaObjectTypeName, javaToDbColumnNameProcessing, joinSyntax, lastGeneratedKeyQuery, leadingDelimiter, log, longVarbinaryTypeName, longVarcharTypeName, maxAutoAssignNameLength, maxColumnNameLength, maxConstraintNameLength, maxEmbeddedBlobSize, maxEmbeddedClobSize, maxIndexesPerTable, maxIndexNameLength, maxTableNameLength, MICRO, MILLI, NAME_ANY, NAME_SEQUENCE, NAME_TABLE, nameConcatenator, NANO, nativeSequenceType, nextSequenceQuery, NO_BATCH, nullTypeName, numericTypeName, otherTypeName, outerJoinClause, platform, RANGE_POST_DISTINCT, RANGE_POST_LOCK, RANGE_POST_SELECT, RANGE_PRE_DISTINCT, rangePosition, realTypeName, refTypeName, reportsSuccessNoInfoOnBatchUpdates, requiresAliasForSubselect, requiresAutoCommitForMetaData, requiresCastForComparisons, requiresCastForMathFunctions, requiresConditionForCrossJoin, requiresSearchStringEscapeForLike, requiresTargetForDelete, reservedWords, reservedWordSet, roundTimeToMillisec, SCHEMA_CASE_LOWER, SCHEMA_CASE_PRESERVE, SCHEMA_CASE_UPPER, searchStringEscape, SEC, selectWords, selectWordSet, sequenceNameSQL, sequenceSchemaSQL, sequenceSQL, setStringRightTruncationOn, simulateLocking, smallintTypeName, sqlStateCodes, storageLimitationsFatal, storeCharsAsNumbers, storeLargeNumbersAsStrings, stringLengthFunction, structTypeName, substringFunctionName, supportsAlterTableWithAddColumn, supportsAlterTableWithDropColumn, supportsAutoAssign, supportsCascadeDeleteAction, supportsCascadeUpdateAction, supportsCaseConversionForLob, supportsComments, supportsCorrelatedSubselect, supportsDefaultDeleteAction, supportsDefaultUpdateAction, supportsDeferredConstraints, supportsDelimitedIdentifiers, supportsForeignKeys, supportsForeignKeysComposite, supportsGeneralCaseExpression, supportsGetGeneratedKeys, supportsHaving, supportsLockingWithDistinctClause, supportsLockingWithInnerJoin, supportsLockingWithMultipleTables, supportsLockingWithOrderClause, supportsLockingWithOuterJoin, supportsLockingWithSelectRange, supportsModOperator, supportsMultipleNontransactionalResultSets, supportsNullDeleteAction, supportsNullTableForGetColumns, supportsNullTableForGetImportedKeys, supportsNullTableForGetIndexInfo, supportsNullTableForGetPrimaryKeys, supportsNullUniqueColumn, supportsNullUpdateAction, supportsParameterInSelect, supportsQueryTimeout, supportsRestrictDeleteAction, supportsRestrictUpdateAction, supportsSchemaForGetColumns, supportsSchemaForGetTables, supportsSelectEndIndex, supportsSelectForUpdate, supportsSelectFromFinalTable, supportsSelectStartIndex, supportsSimpleCaseExpression, supportsSubselect, supportsUniqueConstraints, supportsXMLColumn, systemSchemas, systemSchemaSet, systemTables, systemTableSet, tableForUpdateClause, tableLengthIncludesSchema, tableTypes, timestampTypeName, timestampWithZoneTypeName, timeTypeName, timeWithZoneTypeName, tinyintTypeName, toLowerCaseFunction, toUpperCaseFunction, trailingDelimiter, trimBothFunction, trimLeadingFunction, trimSchemaName, trimStringColumns, trimTrailingFunction, typeModifierSet, UNLIMITED, useGetBestRowIdentifierForPrimaryKeys, useGetBytesForBlobs, useGetObjectForBlobs, useGetStringForClobs, useJDBC4SetBinaryStream, useNativeSequenceCache, useSchemaName, useSetBytesForBlobs, useSetStringForClobs, useWildCardForCount, validationSQL, varbinaryTypeName, varcharTypeName, VENDOR_DATADIRECT, VENDOR_OTHER, xmlTypeEncoding, xmlTypeNameSYNTAX_DATABASE, SYNTAX_SQL92, SYNTAX_TRADITIONAL| Constructor and Description |
|---|
SQLServerDictionary() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
appendLength(SQLBuffer buf,
int type) |
protected void |
appendSelectRange(SQLBuffer buf,
long start,
long end,
boolean subselect)
If this dictionary can select ranges,
use this method to append the range SQL.
|
void |
appendXmlComparison(SQLBuffer buf,
String op,
FilterValue lhs,
FilterValue rhs,
boolean lhsxml,
boolean rhsxml)
If this dictionary supports XML type, use this method to append xml
predicate.
|
void |
connectedConfiguration(Connection conn)
This method is called when the dictionary first sees any connection.
|
Reader |
getCharacterStream(ResultSet rs,
int column)
|
Column[] |
getColumns(DatabaseMetaData meta,
DBIdentifier catalog,
DBIdentifier schemaName,
DBIdentifier tableName,
DBIdentifier columnName,
Connection conn)
Reflect on the schema to find columns matching the given table and
column patterns.
|
Column[] |
getColumns(DatabaseMetaData meta,
String catalog,
String schemaName,
String tableName,
String columnName,
Connection conn)
Reflect on the schema to find columns matching the given table and
column patterns.
|
InputStream |
getLOBStream(JDBCStore store,
ResultSet rs,
int column)
|
LocalDate |
getLocalDate(ResultSet rs,
int column)
Retrieve the specified column of the SQL ResultSet to the proper
LocalDate java type. |
LocalDateTime |
getLocalDateTime(ResultSet rs,
int column)
Retrieve the specified column of the SQL ResultSet to the proper
LocalDateTime java type. |
LocalTime |
getLocalTime(ResultSet rs,
int column)
Retrieve the specified column of the SQL ResultSet to the proper
LocalTime java type. |
OffsetDateTime |
getOffsetDateTime(ResultSet rs,
int column)
h2 does intentionally not support
getTimestamp() for 'TIME WITH TIME ZONE' columns. |
String |
getSchemaCase()
Return DB specific schemaCase
|
void |
indexOf(SQLBuffer buf,
FilterValue str,
FilterValue find,
FilterValue start)
Invoke this database's indexOf function.
|
boolean |
isFatalException(int subtype,
SQLException ex)
Determine if the given SQL Exception is fatal or recoverable (such as a timeout).
|
void |
setLocalDateTime(PreparedStatement stmnt,
int idx,
LocalDateTime val,
Column col)
Set the given LocalTime value as a parameter to the statement.
|
void |
setLocalTime(PreparedStatement stmnt,
int idx,
LocalTime val,
Column col)
Set the given LocalTime value as a parameter to the statement.
|
void |
setOffsetDateTime(PreparedStatement stmnt,
int idx,
OffsetDateTime val,
Column col)
Set the given LocalTime value as a parameter to the statement.
|
void |
setSupportsXMLColumn(boolean b) |
void |
setTime(PreparedStatement stmnt,
int idx,
Time val,
Calendar cal,
Column col)
Set the given value as a parameter to the statement.
|
getFullName, setNull, substringaddCastAsType, addErrorCode, appendCast, appendNumericCast, appendSelect, appendSize, appendUpdates, applyRange, assertSupport, calculateValue, canOuterJoin, closeDataSource, combineForeignKey, comment, comparison, configureNamingRules, convertSchemaCase, convertSchemaCase, copy, copy, createIndexIfNecessary, createIndexIfNecessary, decorate, deleteStream, delimitAll, endConfiguration, executeQuery, fromDBName, getAddColumnSQL, getAddForeignKeySQL, getAddPrimaryKeySQL, getAlterSequenceSQL, getArray, getAsciiStream, getBatchFetchSize, getBatchLimit, getBatchUpdateCount, getBigDecimal, getBigInteger, getBinaryStream, getBlob, getBlobObject, getBoolean, getBooleanRepresentation, getByte, getBytes, getCalendar, getCastFunction, getCastFunction, getCatalogNameForMetadata, getCatalogNameForMetadata, getChar, getClob, getClobString, getColumnDBName, getColumnIdentifier, getColumnNameForMetadata, getColumnNameForMetadata, getConversionKey, getCreateIndexSQL, getCreateSequenceSQL, getCreateTableSQL, getCreateTableSQL, getDate, getDate, getDateFractionDigits, getDeclareColumnSQL, getDefaultIdentifierRule, getDefaultSchemaName, getDeleteTableContentsSQL, getDeleteTargets, getDelimitedCase, getDelimitIdentifiers, getDouble, getDropColumnSQL, getDropForeignKeySQL, getDropIndexSQL, getDropPrimaryKeySQL, getDropSequenceSQL, getDropTableSQL, getFloat, getForeignKeyConstraintSQL, getForUpdateClause, getFrom, getFromSelect, getFullIdentifier, getFullName, getFullName, getGeneratedKey, getGeneratedKeySequenceName, getGenKeySeqName, getIdentifierConcatenator, getIdentifierDelimiter, getIdentifierRule, getIdentifierRules, getIdentityColumnName, getImportedKeys, getImportedKeys, getImportedKeys, getImportedKeys, getIndexInfo, getIndexInfo, getInt, getInvalidColumnWordSet, getIsNotNullSQL, getIsNullSQL, getJDBCType, getJDBCType, getJDBCType, getKey, getLeadingDelimiter, getLocale, getLog, getLong, getMajorVersion, getMarkerForInsertUpdate, getMillisecondBehavior, getMinorVersion, getNamingUtil, getNumber, getObject, getOffsetTime, getPlaceholderValueString, getPreferredType, getPrimaryKeyConstraintSQL, getPrimaryKeys, getPrimaryKeys, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromGetPrimaryKeys, getPrimaryKeysFromGetPrimaryKeys, getRef, getSchemaNameForMetadata, getSchemaNameForMetadata, getSelectOperation, getSelects, getSelectTableAliases, getSequence, getSequences, getSequences, getSequencesSQL, getSequencesSQL, getShort, getStoredProcedure, getString, getSupportsDelimitedIdentifiers, getSupportsXMLColumn, getTableNameForMetadata, getTableNameForMetadata, getTables, getTables, getTime, getTimestamp, getTrailingDelimiter, getTrimSchemaName, getTypeName, getTypeName, getUniqueConstraintSQL, getValidColumnName, getValidColumnName, getValidColumnName, getValidColumnName, getValidForeignKeyName, getValidForeignKeyName, getValidIndexName, getValidIndexName, getValidPrimaryKeyName, getValidSequenceName, getValidSequenceName, getValidTableName, getValidTableName, getValidUniqueName, getValidUniqueName, getVersionColumn, getVersionColumn, getWhere, getXMLTypeEncoding, handleWarning, insertBlobForStreamingLoad, insertClobForStreamingLoad, insertSize, isImplicitJoin, isSelect, isSystemIndex, isSystemIndex, isSystemSequence, isSystemSequence, isSystemSequence, isSystemTable, isSystemTable, isUsingLimit, isUsingOffset, isUsingOrderBy, isUsingRange, makeNameValid, makeNameValid, makeNameValid, makeNameValid, matchErrorState, mathFunction, needsToCreateIndex, needsToCreateIndex, newColumn, newForeignKey, newIndex, newPrimaryKey, newSequence, newStoreException, newTable, prepareStatement, processDBColumnName, putBytes, putChars, putString, refSchemaComponents, serialize, setArray, setAsciiStream, setBatchLimit, setBigDecimal, setBigInteger, setBinaryStream, setBlob, setBlobObject, setBoolean, setBooleanRepresentation, setByte, setBytes, setCalendar, setChar, setCharacterStream, setClob, setClobString, setConfiguration, setDate, setDate, setDateMillisecondBehavior, setDefaultSchemaName, setDelimitedCase, setDelimitIdentifiers, setDouble, setFloat, setInt, setJoinSyntax, setLeadingDelimiter, setLocalDate, setLocale, setLong, setMajorVersion, setMinorVersion, setNumber, setObject, setOffsetTime, setQueryTimeout, setRef, setShort, setStatementQueryTimeout, setString, setSupportsDelimitedIdentifiers, setTimeouts, setTimeouts, setTimestamp, setTrailingDelimiter, setTrimSchemaName, setTyped, setUnknown, setUnknown, setXMLTypeEncoding, shorten, startConfiguration, storageWarning, supportsDeferredForeignKeyConstraints, supportsDeferredUniqueConstraints, supportsDeleteAction, supportsIsolationForUpdate, supportsLocking, supportsRandomAccessResultSet, supportsUpdateAction, toBulkOperation, toDBName, toDBName, toDelete, toNativeJoin, toOperation, toOperation, toSelect, toSelect, toSelect, toSelect, toSelect, toSelectCount, toSnakeCase, toSQL92Join, toTraditionalJoin, toUpdate, updateBlob, updateClob, validateBatchProcess, validateDBSpecificBatchProcess, versionEqualOrEarlierThan, versionEqualOrLaterThan, versionLaterThanpublic static final String VENDOR_MICROSOFT
public static final String VENDOR_NETDIRECT
public static final String VENDOR_JTDS
public boolean uniqueIdentifierAsVarbinary
public Boolean sendTimeAsString
public void connectedConfiguration(Connection conn) throws SQLException
DBDictionarysuper.connectedConfiguration.connectedConfiguration in class DBDictionarySQLExceptionpublic Column[] getColumns(DatabaseMetaData meta, String catalog, String schemaName, String tableName, String columnName, Connection conn) throws SQLException
DBDictionarygetColumns in class AbstractSQLServerDictionarySQLExceptionpublic Column[] getColumns(DatabaseMetaData meta, DBIdentifier catalog, DBIdentifier schemaName, DBIdentifier tableName, DBIdentifier columnName, Connection conn) throws SQLException
DBDictionarygetColumns in class DBDictionarySQLExceptionprotected void appendLength(SQLBuffer buf, int type)
appendLength in class DBDictionarypublic void appendXmlComparison(SQLBuffer buf, String op, FilterValue lhs, FilterValue rhs, boolean lhsxml, boolean rhsxml)
appendXmlComparison in class DBDictionarybuf - the SQL buffer to write the comparisonop - the comparison operation to performlhs - the left hand side of the comparisonrhs - the right hand side of the comparisonlhsxml - indicates whether the left operand maps to xmlrhsxml - indicates whether the right operand maps to xmlpublic String getSchemaCase()
getSchemaCase in interface IdentifierConfigurationgetSchemaCase in class DBDictionarypublic void setSupportsXMLColumn(boolean b)
setSupportsXMLColumn in class DBDictionaryb - boolean representing if XML columns are supportedpublic boolean isFatalException(int subtype,
SQLException ex)
DBDictionaryisFatalException in class DBDictionarysubtype - A constant indicating the category of error as defined in StoreException.ex - original SQL Exception as raised by the database driver.public InputStream getLOBStream(JDBCStore store, ResultSet rs, int column) throws SQLException
InputStream by using ResultSet.getBlob(int) and
Blob.getBinaryStream().
Unfortunately this will load entire BLOB into memory.
The alternative ResultSet.getBinaryStream(int) provides true streaming but
the stream can be consumed only as long as ResultSet is open.getLOBStream in class DBDictionarySQLExceptionpublic Reader getCharacterStream(ResultSet rs, int column) throws SQLException
Reader by using ResultSet.getClob(int) and
Clob.getCharacterStream().
Unfortunately this will load entire CLOB into memory.
The alternative ResultSet.getCharacterStream(int) provides true streaming but
the stream can be consumed only as long as ResultSet is open.getCharacterStream in class DBDictionarySQLExceptionpublic LocalDate getLocalDate(ResultSet rs, int column) throws SQLException
DBDictionaryLocalDate java type.getLocalDate in class DBDictionarySQLExceptionpublic void setLocalTime(PreparedStatement stmnt, int idx, LocalTime val, Column col) throws SQLException
DBDictionarysetLocalTime in class DBDictionarySQLExceptionpublic LocalTime getLocalTime(ResultSet rs, int column) throws SQLException
DBDictionaryLocalTime java type.getLocalTime in class DBDictionarySQLExceptionpublic void setLocalDateTime(PreparedStatement stmnt, int idx, LocalDateTime val, Column col) throws SQLException
DBDictionarysetLocalDateTime in class DBDictionarySQLExceptionpublic LocalDateTime getLocalDateTime(ResultSet rs, int column) throws SQLException
DBDictionaryLocalDateTime java type.getLocalDateTime in class DBDictionarySQLExceptionpublic void setOffsetDateTime(PreparedStatement stmnt, int idx, OffsetDateTime val, Column col) throws SQLException
DBDictionarysetOffsetDateTime in class DBDictionarySQLExceptionpublic OffsetDateTime getOffsetDateTime(ResultSet rs, int column) throws SQLException
getTimestamp() for 'TIME WITH TIME ZONE' columns.
See h2 ticket #413.getOffsetDateTime in class DBDictionarySQLExceptionpublic void setTime(PreparedStatement stmnt, int idx, Time val, Calendar cal, Column col) throws SQLException
DBDictionarysetTime in class DBDictionarySQLExceptionpublic void indexOf(SQLBuffer buf, FilterValue str, FilterValue find, FilterValue start)
DBDictionaryindexOf in class DBDictionarybuf - the SQL buffer to write the indexOf invocation tostr - a query value representing the target stringfind - a query value representing the search stringstart - a query value representing the start index, or null
to start at the beginningprotected void appendSelectRange(SQLBuffer buf, long start, long end, boolean subselect)
DBDictionaryappendSelectRange in class AbstractSQLServerDictionaryCopyright © 2006–2022 Apache Software Foundation. All rights reserved.