org.apache.openjpa.jdbc.sql
Class SybaseDictionary
java.lang.Object
   org.apache.openjpa.jdbc.sql.DBDictionary
org.apache.openjpa.jdbc.sql.DBDictionary
       org.apache.openjpa.jdbc.sql.AbstractSQLServerDictionary
org.apache.openjpa.jdbc.sql.AbstractSQLServerDictionary
           org.apache.openjpa.jdbc.sql.SybaseDictionary
org.apache.openjpa.jdbc.sql.SybaseDictionary
- All Implemented Interfaces: 
- JoinSyntaxes, Configurable, IdentifierConfiguration, ConnectionDecorator, LoggingConnectionDecorator.SQLWarningHandler
- public class SybaseDictionary 
- extends AbstractSQLServerDictionary
Dictionary for Sybase.
  The main point of interest is that by default, every table
 that is created will have a unique column named "UNQ_INDEX" of
 the "IDENTITY" type. OpenJPA will not ever utilize this column. However,
 due to internal Sybase restrictions, this column is required
 in order to support pessimistic (datastore) locking, since Sybase
 requires that any tables in a "SELECT ... FOR UPDATE" clause have
 a unique index that is not included in the list
 of columns, as described in the
 Sybase documentation. This behavior can be surpressed by setting the
 dictionary property 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.
 
 
 
| Fields inherited from class org.apache.openjpa.jdbc.sql.DBDictionary | 
| _proxyManager, 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, defaultSchemaName, delimitedCase, distinctCountColumnSeparator, distinctTypeName, doubleTypeName, driverVendor, dropTableSQL, fixedSizeTypeNames, fixedSizeTypeNameSet, floatTypeName, forUpdateClause, getStringVal, inClauseLimit, initializationSQL, innerJoinClause, integerTypeName, invalidColumnWordSet, isJDBC3, isJDBC4, 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, 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, timeTypeName, 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, xmlTypeName | 
 
 
 
| Method Summary | 
|  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)Return the preferred
 Typesconstant for the givenJavaTypesorJavaSQLTypesconstant. | 
| 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.
 | 
 
 
| Methods inherited from class org.apache.openjpa.jdbc.sql.DBDictionary | 
| addCastAsType, addErrorCode, appendCast, appendLength, appendNumericCast, appendSelect, appendSize, appendUpdates, appendXmlComparison, assertSupport, calculateValue, canOuterJoin, checkNameLength, checkNameLength, checkNameLength, 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, getByte, getBytes, getCalendar, getCastFunction, getCastFunction, getCatalogNameForMetadata, getCatalogNameForMetadata, getChar, getCharacterStream, getClob, getClobString, getColumnDBName, getColumnIdentifier, getColumnNameForMetadata, getColumnNameForMetadata, getColumns, getConversionKey, getCreateIndexSQL, getCreateSequenceSQL, getCreateTableSQL, getDate, getDate, 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, getLocale, getLog, getLong, getMarkerForInsertUpdate, 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, isImplicitJoin, isSelect, isSystemIndex, isSystemIndex, isSystemSequence, isSystemSequence, isSystemSequence, isSystemTable, isSystemTable, makeNameValid, makeNameValid, makeNameValid, makeNameValid, matchErrorState, mathFunction, narrow, needsToCreateIndex, 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, setUnknown, setXMLTypeEncoding, shorten, startConfiguration, storageWarning, supportsDeferredForeignKeyConstraints, supportsDeferredUniqueConstraints, supportsDeleteAction, supportsIsolationForUpdate, supportsLocking, supportsRandomAccessResultSet, supportsUpdateAction, toBulkOperation, toDBName, toDBName, toDelete, toLong, toNativeJoin, toOperation, toOperation, toSelect, toSelect, toSelect, toSelect, toSelect, toSelectCount, toSQL92Join, toTraditionalJoin, toUpdate, updateBlob, updateClob, validateBatchProcess, validateDBSpecificBatchProcess | 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
RIGHT_TRUNCATION_ON_SQL
public static String RIGHT_TRUNCATION_ON_SQL
NUMERIC_TRUNCATION_OFF_SQL
public static String NUMERIC_TRUNCATION_OFF_SQL
createIdentityColumn
public boolean createIdentityColumn
- If true, then whenever the schematoolcreates a
 table, it will append an additional IDENTITY column to the
 table's creation SQL. This is so Sybase will be able to
 performSELECT...FOR UPDATEstatements.
 
 
identityColumnName
public String identityColumnName
- If createIdentityColumnis true, then theidentityColumnNamewill be the name of the
 additional unique column that will be created.
 
 
ignoreNumericTruncation
public boolean ignoreNumericTruncation
- If true, Sybase will ignore numeric truncation on insert or
 update operations.  Otherwise, the operation will fail. The default
 value, false is in accordance with SQL92.
 
 
SybaseDictionary
public SybaseDictionary()
getJDBCType
public int getJDBCType(int metaTypeCode,
                       boolean lob)
- Description copied from class: DBDictionary
- Return the preferred Typesconstant for the givenJavaTypesorJavaSQLTypesconstant.
 
- 
- Overrides:
- getJDBCTypein class- DBDictionary
 
- 
 
setBigInteger
public void setBigInteger(PreparedStatement stmnt,
                          int idx,
                          BigInteger val,
                          Column col)
                   throws SQLException
- Description copied from class: DBDictionary
- Set the given value as a parameter to the statement.
 
- 
- Overrides:
- setBigIntegerin class- DBDictionary
 
- 
- Throws:
- SQLException
 
getCreateTableSQL
public String[] getCreateTableSQL(Table table)
- Description copied from class: DBDictionary
- Return a series of SQL statements to create the given table, complete
 with columns. Indexes and constraints will be created separately.
 
- 
- Overrides:
- getCreateTableSQLin class- DBDictionary
 
- 
 
getDeclareColumnSQL
protected String getDeclareColumnSQL(Column col,
                                     boolean alter)
- Description copied from class: DBDictionary
- Return the declaration SQL for the given column. This method is used
 for each column from within DBDictionary.getCreateTableSQL(org.apache.openjpa.jdbc.schema.Table, org.apache.openjpa.jdbc.schema.SchemaGroup)andDBDictionary.getAddColumnSQL(org.apache.openjpa.jdbc.schema.Column).
 
- 
- Overrides:
- getDeclareColumnSQLin class- DBDictionary
 
- 
 
getDropColumnSQL
public String[] getDropColumnSQL(Column column)
- Description copied from class: DBDictionary
- Return a series of SQL statements to drop the given column from
 its table. Return an empty array if operation not supported. Returns
 ALTER TABLE <table name> DROP COLUMN <col name>by default.
 
- 
- Overrides:
- getDropColumnSQLin class- DBDictionary
 
- 
 
refSchemaComponents
public void refSchemaComponents(Table table)
- Description copied from class: DBDictionary
- Increment the reference count of any table components that this
 dictionary adds that are not used by mappings. Does nothing by default.
 
- 
- Overrides:
- refSchemaComponentsin class- DBDictionary
 
- 
 
endConfiguration
public void endConfiguration()
- Description copied from interface: Configurable
- Invoked upon completion of bean property configuration for this object.
 
- 
- Specified by:
- endConfigurationin interface- Configurable
- Overrides:
- endConfigurationin class- DBDictionary
 
- 
 
decorate
public Connection decorate(Connection conn)
                    throws SQLException
- Description copied from class: DBDictionary
- Decorate the given connection if needed. Some databases require special
 handling for JDBC bugs. This implementation issues any
 DBDictionary.initializationSQLthat has been set for the dictionary but
 does not decorate the connection.
 
- 
- Specified by:
- decoratein interface- ConnectionDecorator
- Overrides:
- decoratein class- DBDictionary
 
- 
- Throws:
- SQLException
 
getStringFromResultSet
protected String getStringFromResultSet(ResultSet rs,
                                        String jdbcName,
                                        String sybaseName)
                                 throws SQLException
- Helper method obtains a string value from a given column in a ResultSet. Strings provided are column names,
 jdbcName will be tried first if an SQLException occurs we'll try the sybase name.
 
- 
- Throws:
- SQLException
 
getBooleanFromResultSet
protected boolean getBooleanFromResultSet(ResultSet rs,
                                          String jdbcName,
                                          String sybaseName)
                                   throws SQLException
- Helper method obtains a boolean value from a given column in a ResultSet. Strings provided are column names,
 jdbcName will be tried first if an SQLException occurs we'll try the sybase name.
 
- 
- Throws:
- SQLException
 
newPrimaryKey
protected PrimaryKey newPrimaryKey(ResultSet pkMeta)
                            throws SQLException
- Create a new primary key from the information in the schema metadata.
 
- 
- Overrides:
- newPrimaryKeyin class- DBDictionary
 
- 
- Throws:
- SQLException
 
newIndex
protected Index newIndex(ResultSet idxMeta)
                  throws SQLException
- Create a new index from the information in the index metadata.
 
- 
- Overrides:
- newIndexin class- DBDictionary
 
- 
- Throws:
- SQLException
 
isFatalException
public boolean isFatalException(int subtype,
                                SQLException ex)
- Description copied from class: DBDictionary
- Determine if the given SQL Exception is fatal or recoverable (such as a timeout).
 This implementation always returns true (i.e. all exceptions are fatal).
 The current dictionary implementation can overwrite this method to mark certain
 exception conditions as recoverable error.
 
- 
- Overrides:
- isFatalExceptionin class- DBDictionary
 
- 
- Parameters:
- subtype- A constant indicating the category of error as defined in- StoreException.
- ex- original SQL Exception as raised by the database driver.
- Returns:
- false if the error is fatal.
 
getIsNullSQL
public String getIsNullSQL(String colAlias,
                           int colType)
- 
- Overrides:
- getIsNullSQLin class- DBDictionary
 
- 
 
getIsNotNullSQL
public String getIsNotNullSQL(String colAlias,
                              int colType)
- 
- Overrides:
- getIsNotNullSQLin class- DBDictionary
 
- 
 
getIdentityColumnName
public String getIdentityColumnName()
- 
- Overrides:
- getIdentityColumnNamein class- DBDictionary
 
- 
 
indexOf
public void indexOf(SQLBuffer buf,
                    FilterValue str,
                    FilterValue find,
                    FilterValue start)
- Description copied from class: DBDictionary
- Invoke this database's indexOf function.
 
- 
- Overrides:
- indexOfin class- DBDictionary
 
- 
- Parameters:
- buf- the SQL buffer to write the indexOf invocation to
- str- a query value representing the target string
- find- a query value representing the search string
- start- a query value representing the start index, or null
 to start at the beginning
 
Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.