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.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. |
java.lang.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.
|
allowsAliasInBulkClause, arrayTypeName, autoAssignClause, autoAssignTypeName, batchLimit, bigintTypeName, binaryTypeName, bitLengthFunction, bitTypeName, blobBufferSize, blobTypeName, 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, datePrecision, dateTypeName, DECI, decimalTypeName, delimitedCase, distinctCountColumnSeparator, distinctTypeName, doubleTypeName, driverVendor, dropTableSQL, fixedSizeTypeNames, fixedSizeTypeNameSet, floatTypeName, forUpdateClause, getStringVal, inClauseLimit, initializationSQL, innerJoinClause, integerTypeName, invalidColumnWordSet, isJDBC3, javaObjectTypeName, 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, 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, supportsNullUpdateAction, supportsParameterInSelect, supportsQueryTimeout, supportsRestrictDeleteAction, supportsRestrictUpdateAction, supportsSchemaForGetColumns, supportsSchemaForGetTables, supportsSelectEndIndex, supportsSelectForUpdate, supportsSelectFromFinalTable, supportsSelectStartIndex, supportsSimpleCaseExpression, supportsSubselect, supportsUniqueConstraints, supportsXMLColumn, systemSchemas, systemSchemaSet, systemTables, systemTableSet, tableForUpdateClause, tableTypes, timestampTypeName, timeTypeName, tinyintTypeName, toLowerCaseFunction, toUpperCaseFunction, trailingDelimiter, trimBothFunction, trimLeadingFunction, trimSchemaName, trimTrailingFunction, typeModifierSet, UNLIMITED, useGetBestRowIdentifierForPrimaryKeys, useGetBytesForBlobs, useGetObjectForBlobs, useGetStringForClobs, useSchemaName, useSetBytesForBlobs, useSetStringForClobs, useWildCardForCount, validationSQL, varbinaryTypeName, varcharTypeName, VENDOR_DATADIRECT, VENDOR_OTHER, xmlTypeEncoding, xmlTypeName
SYNTAX_DATABASE, SYNTAX_SQL92, SYNTAX_TRADITIONAL
Constructor and Description |
---|
SybaseDictionary() |
Modifier and Type | Method and Description |
---|---|
java.sql.Connection |
decorate(java.sql.Connection conn)
Decorate the given connection if needed.
|
void |
endConfiguration()
Invoked upon completion of bean property configuration for this object.
|
java.lang.String[] |
getAddForeignKeySQL(ForeignKey fk)
Return a series of SQL statements to add the given foreign key to
its table.
|
protected boolean |
getBooleanFromResultSet(java.sql.ResultSet rs,
java.lang.String jdbcName,
java.lang.String sybaseName)
Helper method obtains a boolean value from a given column in a ResultSet.
|
java.lang.String[] |
getCreateTableSQL(Table table)
Return a series of SQL statements to create the given table, complete
with columns.
|
protected java.lang.String |
getDeclareColumnSQL(Column col,
boolean alter)
Return the declaration SQL for the given column.
|
java.lang.String[] |
getDropColumnSQL(Column column)
Return a series of SQL statements to drop the given column from
its table.
|
int |
getJDBCType(int metaTypeCode,
boolean lob)
|
protected java.lang.String |
getStringFromResultSet(java.sql.ResultSet rs,
java.lang.String jdbcName,
java.lang.String sybaseName)
Helper method obtains a string value from a given column in a ResultSet.
|
protected Index |
newIndex(java.sql.ResultSet idxMeta)
Create a new index from the information in the index metadata.
|
protected PrimaryKey |
newPrimaryKey(java.sql.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(java.sql.PreparedStatement stmnt,
int idx,
java.math.BigInteger val,
Column col)
Set the given value as a parameter to the statement.
|
appendSelectRange, getColumns, getFullName, indexOf, setNull, substring
addCastAsType, addErrorCode, appendCast, appendLength, appendNumericCast, appendSelect, appendSize, appendUpdates, appendXmlComparison, assertSupport, calculateValue, canOuterJoin, closeDataSource, combineForeignKey, comment, comparison, configureNamingRules, connectedConfiguration, convertSchemaCase, convertSchemaCase, copy, copy, createIndexIfNecessary, createIndexIfNecessary, deleteStream, delimitAll, executeQuery, fromDBName, getAddColumnSQL, getAddPrimaryKeySQL, getArray, getAsciiStream, getBatchFetchSize, getBatchLimit, getBatchUpdateCount, getBigDecimal, getBigInteger, getBinaryStream, getBlob, getBlobObject, getBoolean, getByte, getBytes, getCalendar, getCastFunction, getCastFunction, getCatalogNameForMetadata, getCatalogNameForMetadata, getChar, getCharacterStream, getClob, getClobString, getColumnDBName, getColumnIdentifier, getColumnNameForMetadata, getColumnNameForMetadata, getColumns, getConversionKey, getCreateIndexSQL, getCreateSequenceSQL, getDate, getDate, getDefaultIdentifierRule, getDefaultSchemaName, getDeleteTableContentsSQL, getDeleteTargets, getDelimitedCase, getDelimitIdentifiers, getDouble, getDropForeignKeySQL, getDropIndexSQL, getDropPrimaryKeySQL, getDropSequenceSQL, getDropTableSQL, getFloat, getForeignKeyConstraintSQL, getForUpdateClause, getFrom, getFromSelect, getFullIdentifier, getFullName, getFullName, getGeneratedKey, getGeneratedKeySequenceName, getIdentifierConcatenator, getIdentifierDelimiter, getIdentifierRule, getIdentifierRules, getImportedKeys, getImportedKeys, getImportedKeys, getImportedKeys, getIndexInfo, getIndexInfo, getInt, getInvalidColumnWordSet, getJDBCType, getJDBCType, getKey, getLeadingDelimiter, getLOBStream, getLocale, getLog, getLong, getNamingUtil, getNumber, getObject, getPlaceholderValueString, getPreferredType, getPrimaryKeyConstraintSQL, getPrimaryKeys, getPrimaryKeys, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromGetPrimaryKeys, getPrimaryKeysFromGetPrimaryKeys, getRef, getSchemaCase, getSchemaNameForMetadata, getSchemaNameForMetadata, getSelectOperation, getSelects, getSelectTableAliases, getSequence, getSequences, getSequences, getSequencesSQL, getSequencesSQL, getShort, 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, isFatalException, isSelect, isSystemIndex, isSystemIndex, isSystemSequence, isSystemSequence, isSystemTable, isSystemTable, makeNameValid, makeNameValid, makeNameValid, makeNameValid, matchErrorState, mathFunction, needsToCreateIndex, newColumn, newForeignKey, newSequence, newStoreException, newTable, prepareStatement, putBytes, putChars, putString, serialize, setArray, setAsciiStream, setBatchLimit, setBigDecimal, setBinaryStream, setBlob, setBlobObject, setBoolean, setByte, setBytes, setCalendar, setChar, setCharacterStream, setClob, setClobString, setConfiguration, setDate, setDate, setDefaultSchemaName, setDelimitedCase, setDelimitIdentifiers, setDouble, setFloat, setInt, setJoinSyntax, setLeadingDelimiter, setLocale, setLong, setNumber, setObject, setQueryTimeout, setRef, setShort, setStatementQueryTimeout, setString, setSupportsDelimitedIdentifiers, setSupportsXMLColumn, setTime, setTimeouts, setTimeouts, setTimestamp, setTrailingDelimiter, setTrimSchemaName, setTyped, 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, toSQL92Join, toTraditionalJoin, toUpdate, updateBlob, updateClob, validateBatchProcess, validateDBSpecificBatchProcess
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 java.lang.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)
DBDictionary
getJDBCType
in class DBDictionary
public void setBigInteger(java.sql.PreparedStatement stmnt, int idx, java.math.BigInteger val, Column col) throws java.sql.SQLException
DBDictionary
setBigInteger
in class DBDictionary
java.sql.SQLException
public java.lang.String[] getAddForeignKeySQL(ForeignKey fk)
DBDictionary
ALTER TABLE <table name> ADD
<fk cons sql >
by default.getAddForeignKeySQL
in class DBDictionary
public java.lang.String[] getCreateTableSQL(Table table)
DBDictionary
getCreateTableSQL
in class DBDictionary
protected java.lang.String getDeclareColumnSQL(Column col, boolean alter)
DBDictionary
DBDictionary.getCreateTableSQL(org.apache.openjpa.jdbc.schema.Table)
and
DBDictionary.getAddColumnSQL(org.apache.openjpa.jdbc.schema.Column)
.getDeclareColumnSQL
in class DBDictionary
public java.lang.String[] getDropColumnSQL(Column column)
DBDictionary
ALTER TABLE <table name> DROP COLUMN <col name>
by default.getDropColumnSQL
in class DBDictionary
public void refSchemaComponents(Table table)
DBDictionary
refSchemaComponents
in class DBDictionary
public void endConfiguration()
Configurable
endConfiguration
in interface Configurable
endConfiguration
in class DBDictionary
public java.sql.Connection decorate(java.sql.Connection conn) throws java.sql.SQLException
DBDictionary
DBDictionary.initializationSQL
that has been set for the dictionary but
does not decorate the connection.decorate
in interface ConnectionDecorator
decorate
in class DBDictionary
java.sql.SQLException
protected java.lang.String getStringFromResultSet(java.sql.ResultSet rs, java.lang.String jdbcName, java.lang.String sybaseName) throws java.sql.SQLException
java.sql.SQLException
protected boolean getBooleanFromResultSet(java.sql.ResultSet rs, java.lang.String jdbcName, java.lang.String sybaseName) throws java.sql.SQLException
java.sql.SQLException
protected PrimaryKey newPrimaryKey(java.sql.ResultSet pkMeta) throws java.sql.SQLException
newPrimaryKey
in class DBDictionary
java.sql.SQLException
protected Index newIndex(java.sql.ResultSet idxMeta) throws java.sql.SQLException
newIndex
in class DBDictionary
java.sql.SQLException