public class SybaseDictionary extends AbstractSQLServerDictionary
CreateIdentityColumn=false. The
name of the unique column can be changed by setting the property
IdentityColumnName=COLUMN_NAME.
A good Sybase type reference is can be found here.| Modifier and Type | Class and Description |
|---|---|
protected static class |
SybaseDictionary.SybaseConnection
Connection wrapper to cache the
Connection.getCatalog() result,
which takes a very long time with the Sybase Connection (and
which we frequently invoke). |
DBDictionary.DateMillisecondBehaviors, DBDictionary.SerializedData| Modifier and Type | Field and Description |
|---|---|
boolean |
createIdentityColumn
If true, then whenever the
schematool creates a
table, it will append an additional IDENTITY column to the
table's creation SQL. |
String |
identityColumnName
If
createIdentityColumn is true, then the
identityColumnName will be the name of the
additional unique column that will be created. |
boolean |
ignoreNumericTruncation
If true, Sybase will ignore numeric truncation on insert or
update operations.
|
static String |
NUMERIC_TRUNCATION_OFF_SQL |
static String |
RIGHT_TRUNCATION_ON_SQL |
_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, schemaCase, 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 |
|---|
SybaseDictionary() |
| Modifier and Type | Method and Description |
|---|---|
Connection |
decorate(Connection conn)
Decorate the given connection if needed.
|
void |
endConfiguration()
Invoked upon completion of bean property configuration for this object.
|
protected boolean |
getBooleanFromResultSet(ResultSet rs,
String jdbcName,
String sybaseName)
Helper method obtains a boolean value from a given column in a ResultSet.
|
String[] |
getCreateTableSQL(Table table)
Return a series of SQL statements to create the given table, complete
with columns.
|
protected String |
getDeclareColumnSQL(Column col,
boolean alter)
Return the declaration SQL for the given column.
|
String[] |
getDropColumnSQL(Column column)
Return a series of SQL statements to drop the given column from
its table.
|
String |
getIdentityColumnName() |
String |
getIsNotNullSQL(String colAlias,
int colType) |
String |
getIsNullSQL(String colAlias,
int colType) |
int |
getJDBCType(int metaTypeCode,
boolean lob)
|
protected String |
getStringFromResultSet(ResultSet rs,
String jdbcName,
String sybaseName)
Helper method obtains a string value from a given column in a ResultSet.
|
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).
|
protected Index |
newIndex(ResultSet idxMeta)
Create a new index from the information in the index metadata.
|
protected PrimaryKey |
newPrimaryKey(ResultSet pkMeta)
Create a new primary key from the information in the schema metadata.
|
void |
refSchemaComponents(Table table)
Increment the reference count of any table components that this
dictionary adds that are not used by mappings.
|
void |
setBigInteger(PreparedStatement stmnt,
int idx,
BigInteger val,
Column col)
Set the given value as a parameter to the statement.
|
appendSelectRange, getColumns, getFullName, setNull, substringaddCastAsType, addErrorCode, appendCast, appendLength, appendNumericCast, appendSelect, appendSize, appendUpdates, appendXmlComparison, applyRange, assertSupport, calculateValue, canOuterJoin, closeDataSource, combineForeignKey, comment, comparison, configureNamingRules, connectedConfiguration, convertSchemaCase, convertSchemaCase, copy, copy, createIndexIfNecessary, createIndexIfNecessary, deleteStream, delimitAll, 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, getCharacterStream, getClob, getClobString, getColumnDBName, getColumnIdentifier, getColumnNameForMetadata, getColumnNameForMetadata, getColumns, getConversionKey, getCreateIndexSQL, getCreateSequenceSQL, getCreateTableSQL, getDate, getDate, getDateFractionDigits, getDefaultIdentifierRule, getDefaultSchemaName, getDeleteTableContentsSQL, getDeleteTargets, getDelimitedCase, getDelimitIdentifiers, getDouble, getDropForeignKeySQL, getDropIndexSQL, getDropPrimaryKeySQL, getDropSequenceSQL, getDropTableSQL, getFloat, getForeignKeyConstraintSQL, getForUpdateClause, getFrom, getFromSelect, getFullIdentifier, getFullName, getFullName, getGeneratedKey, getGeneratedKeySequenceName, getGenKeySeqName, getIdentifierConcatenator, getIdentifierDelimiter, getIdentifierRule, getIdentifierRules, getImportedKeys, getImportedKeys, getImportedKeys, getImportedKeys, getIndexInfo, getIndexInfo, getInt, getInvalidColumnWordSet, getJDBCType, getJDBCType, getKey, getLeadingDelimiter, getLOBStream, getLocalDate, getLocalDateTime, getLocale, getLocalTime, getLog, getLong, getMajorVersion, getMarkerForInsertUpdate, getMillisecondBehavior, getMinorVersion, getNamingUtil, getNumber, getObject, getOffsetDateTime, getOffsetTime, getPlaceholderValueString, getPreferredType, getPrimaryKeyConstraintSQL, getPrimaryKeys, getPrimaryKeys, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromGetPrimaryKeys, getPrimaryKeysFromGetPrimaryKeys, getRef, getSchemaCase, 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, newSequence, newStoreException, newTable, prepareStatement, processDBColumnName, putBytes, putChars, putString, serialize, setArray, setAsciiStream, setBatchLimit, setBigDecimal, 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, setLocalDateTime, setLocale, setLocalTime, setLong, setMajorVersion, setMinorVersion, setNumber, setObject, setOffsetDateTime, setOffsetTime, setQueryTimeout, setRef, setShort, setStatementQueryTimeout, setString, setSupportsDelimitedIdentifiers, setSupportsXMLColumn, setTime, 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 String RIGHT_TRUNCATION_ON_SQL
public static String NUMERIC_TRUNCATION_OFF_SQL
public boolean createIdentityColumn
schematool creates a
table, it will append an additional IDENTITY column to the
table's creation SQL. This is so Sybase will be able to
perform SELECT...FOR UPDATE statements.public String identityColumnName
createIdentityColumn is true, then the
identityColumnName will be the name of the
additional unique column that will be created.public boolean ignoreNumericTruncation
public int getJDBCType(int metaTypeCode,
boolean lob)
DBDictionarygetJDBCType in class DBDictionarypublic void setBigInteger(PreparedStatement stmnt, int idx, BigInteger val, Column col) throws SQLException
DBDictionarysetBigInteger in class DBDictionarySQLExceptionpublic String[] getCreateTableSQL(Table table)
DBDictionarygetCreateTableSQL in class DBDictionaryprotected String getDeclareColumnSQL(Column col, boolean alter)
DBDictionaryDBDictionary.getCreateTableSQL(org.apache.openjpa.jdbc.schema.Table, org.apache.openjpa.jdbc.schema.SchemaGroup) and
DBDictionary.getAddColumnSQL(org.apache.openjpa.jdbc.schema.Column).getDeclareColumnSQL in class DBDictionarypublic String[] getDropColumnSQL(Column column)
DBDictionaryALTER TABLE <table name> DROP COLUMN <col name>
by default.getDropColumnSQL in class DBDictionarypublic void refSchemaComponents(Table table)
DBDictionaryrefSchemaComponents in class DBDictionarypublic void endConfiguration()
ConfigurableendConfiguration in interface ConfigurableendConfiguration in class DBDictionarypublic Connection decorate(Connection conn) throws SQLException
DBDictionaryDBDictionary.initializationSQL that has been set for the dictionary but
does not decorate the connection.decorate in interface ConnectionDecoratordecorate in class DBDictionarySQLExceptionprotected String getStringFromResultSet(ResultSet rs, String jdbcName, String sybaseName) throws SQLException
SQLExceptionprotected boolean getBooleanFromResultSet(ResultSet rs, String jdbcName, String sybaseName) throws SQLException
SQLExceptionprotected PrimaryKey newPrimaryKey(ResultSet pkMeta) throws SQLException
newPrimaryKey in class DBDictionarySQLExceptionprotected Index newIndex(ResultSet idxMeta) throws SQLException
newIndex in class DBDictionarySQLExceptionpublic 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 String getIsNullSQL(String colAlias, int colType)
getIsNullSQL in class DBDictionarypublic String getIsNotNullSQL(String colAlias, int colType)
getIsNotNullSQL in class DBDictionarypublic String getIdentityColumnName()
getIdentityColumnName in class DBDictionarypublic 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 beginningCopyright © 2006–2022 Apache Software Foundation. All rights reserved.