|
EclipseLink 2.2.0, build 'v20110202-r8913' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform org.eclipse.persistence.internal.databaseaccess.DatabasePlatform org.eclipse.persistence.platform.database.DatabasePlatform org.eclipse.persistence.platform.database.SybasePlatform
public class SybasePlatform
Purpose: Provides Sybase specific behavior.
Responsibilities:
Field Summary | |
---|---|
protected java.util.Map |
typeStrings
|
Fields inherited from class org.eclipse.persistence.platform.database.DatabasePlatform |
---|
DEFAULT_VARCHAR_SIZE |
Fields inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform |
---|
castSizeForVarcharParameter, classTypes, cursorCode, DEFAULT_MAX_BATCH_WRITING_SIZE, DEFAULT_PARAMETERIZED_MAX_BATCH_WRITING_SIZE, fieldTypes, isCastRequired, maxBatchWritingSize, pingSQL, printOuterJoinInWhereClause, shouldBindAllParameters, shouldBindLiterals, shouldCacheAllStatements, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldOptimizeDataConversion, shouldTrimStrings, statementCacheSize, stringBindingSize, structConverters, supportsAutoCommit, tableCreationSuffix, transactionIsolation, typeConverters, Types_NCLOB, Types_SQLXML, useRownumFiltering, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesStreamsForBinding, usesStringBinding |
Fields inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform |
---|
conversionManager, dataTypesConvertedFromAClass, dataTypesConvertedToAClass, defaultSequence, endDelimiter, platformOperators, sequences, startDelimiter, tableQualifier, timestampQuery |
Constructor Summary | |
---|---|
SybasePlatform()
|
Method Summary | |
---|---|
protected void |
appendByteArray(byte[] bytes,
java.io.Writer writer)
If using native SQL then print a byte[] as '0xFF...' |
protected void |
appendCalendar(java.util.Calendar calendar,
java.io.Writer writer)
Answer a platform correct string representation of a Calendar, suitable for SQL generation. |
protected void |
appendDate(java.sql.Date date,
java.io.Writer writer)
Answer a platform correct string representation of a Date, suitable for SQL generation. |
protected void |
appendSybaseCalendar(java.util.Calendar calendar,
java.io.Writer writer)
Write a timestamp in Sybase specific format ( yyyy-mm-dd-hh.mm.ss.fff) |
protected void |
appendSybaseTimestamp(java.sql.Timestamp timestamp,
java.io.Writer writer)
Write a timestamp in Sybase specific format (yyyy-mm-dd-hh.mm.ss.fff). |
protected void |
appendTime(java.sql.Time time,
java.io.Writer writer)
Answer a platform correct string representation of a Time, suitable for SQL generation. |
protected void |
appendTimestamp(java.sql.Timestamp timestamp,
java.io.Writer writer)
Answer a platform correct string representation of a Timestamp, suitable for SQL generation. |
ExpressionOperator |
atan2Operator()
INTERNAL: Build operator. |
protected java.util.Hashtable |
buildFieldTypes()
|
ValueReadQuery |
buildSelectQueryForIdentity()
INTERNAL: Build the identity query for native sequencing. |
java.lang.Object |
executeStoredProcedure(org.eclipse.persistence.internal.databaseaccess.DatabaseCall dbCall,
java.sql.PreparedStatement statement,
org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor,
org.eclipse.persistence.internal.sessions.AbstractSession session)
because each platform has different requirements for accessing stored procedures and the way that we can combine resultsets and output params the stored procedure call is being executed on the platform. |
java.lang.String |
getBatchDelimiterString()
Used for batch writing and sp defs. |
protected java.lang.String |
getCreateTempTableSqlPrefix()
INTERNAL: |
java.lang.String |
getCreationInOutputProcedureToken()
|
java.lang.String |
getCreationOutputProcedureToken()
|
java.lang.String |
getInOutputProcedureToken()
|
java.lang.String |
getJdbcTypeName(int jdbcType)
INTERNAL: Returns the type name corresponding to the jdbc type |
int |
getMaxFieldNameSize()
INTERNAL: returns the maximum number of characters that can be used in a field name on this platform. |
java.util.Vector |
getNativeTableInfo(java.lang.String table,
java.lang.String creator,
org.eclipse.persistence.internal.sessions.AbstractSession session)
Return the catalog information through using the native SQL catalog selects. |
java.lang.String |
getOutputProcedureToken()
|
java.lang.String |
getProcedureArgumentString()
Used for sp defs. |
java.lang.String |
getProcedureCallHeader()
Used for sp calls. |
java.lang.String |
getSelectForUpdateString()
|
java.lang.String |
getStoredProcedureParameterPrefix()
|
java.lang.String |
getStoredProcedureTerminationToken()
INTERNAL: This method returns the delimiter between stored procedures in multiple stored procedure calls. |
org.eclipse.persistence.internal.helper.DatabaseTable |
getTempTableForTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL: |
ValueReadQuery |
getTimestampQuery()
PUBLIC: This method returns the query to select the timestamp from the server for Sybase. |
protected java.util.Map |
getTypeStrings()
|
protected void |
initializePlatformOperators()
Initialize any platform-specific operators |
protected void |
initializeTypeStrings()
|
boolean |
isSybase()
|
java.util.Hashtable |
maximumNumericValues()
Builds a table of maximum numeric values keyed on java class. |
java.util.Hashtable |
minimumNumericValues()
Builds a table of minimum numeric values keyed on java class. |
ExpressionOperator |
modOperator()
Override the default MOD operator. |
protected ExpressionOperator |
operatorOuterJoin()
|
void |
printFieldIdentityClause(java.io.Writer writer)
Append the receiver's field 'identity' constraint clause to a writer. |
void |
printFieldNullClause(java.io.Writer writer)
Append the receiver's field 'NULL' constraint clause to a writer. |
void |
registerOutputParameter(java.sql.CallableStatement statement,
int index,
int jdbcType)
This method is used to register output parameter on Callable Statements for Stored Procedures as each database seems to have a different method. |
boolean |
requiresProcedureCallBrackets()
USed for sp calls. |
boolean |
requiresProcedureCallOuputToken()
Used for sp calls. |
boolean |
requiresTypeNameToRegisterOutputParameter()
INTERNAL: Indicates whether the version of CallableStatement.registerOutputParameter method that takes type name should be used. |
boolean |
shouldPrintInOutputTokenBeforeType()
|
boolean |
shouldPrintLockingClauseAfterWhereClause()
The sybase syntax for obtaining pessimistic lock is "SELECT ADDRESS_ID, ... |
boolean |
shouldPrintOutputTokenBeforeType()
|
boolean |
shouldUseJDBCOuterJoinSyntax()
JDBC defines and outer join syntax, many drivers do not support this. |
ExpressionOperator |
singleArgumentSubstringOperator()
Override the default SubstringSingleArg operator. |
boolean |
supportsIdentity()
INTERNAL: Indicates whether the platform supports identity. |
boolean |
supportsLocalTempTables()
INTERNAL: |
void |
writeUpdateOriginalFromTempTableSql(java.io.Writer writer,
org.eclipse.persistence.internal.helper.DatabaseTable table,
java.util.Collection pkFields,
java.util.Collection assignedFields)
INTERNAL: |
Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform |
---|
addBatch, addStructConverter, allowsSizeInProcedureArguments, appendBoolean, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, autoCommit, beginTransaction, buildCallWithReturning, buildClassTypes, buildCreateIndex, buildDropIndex, buildProcedureCallString, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, buildSelectQueryForSequenceObject, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBatchWriteWithOptimisticLocking, canBuildCallWithReturning, commitTransaction, computeMaxRowsForSQL, convertToDatabaseType, copyInto, createArray, createArray, createPlatformDefaultSequence, createStruct, createStruct, dontBindUpdateAllQueryUsingTempTables, executeBatch, freeTemporaryObject, getAssignmentString, getBatchBeginString, getBatchEndString, getCastSizeForVarcharParameter, getClassTypes, getConnection, getConstraintDeletionString, getCreateTempTableSqlBodyForTable, getCreateTempTableSqlSuffix, getCreateViewString, getCursorCode, getCustomModifyValueForCall, getDefaultSequenceTableName, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getIdentifierQuoteCharacter, getInputProcedureToken, getJDBCOuterJoinString, getJDBCType, getJDBCType, getMaxBatchWritingSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getObjectFromResultSet, getPingSQL, getProcedureArgumentSetter, getProcedureAsString, getProcedureBeginString, getProcedureCallTail, getProcedureEndString, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getRefValue, getSelectForUpdateNoWaitString, getSelectForUpdateOfString, getSelectForUpdateWaitString, getSequenceCounterFieldName, getSequenceNameFieldName, getSequencePreallocationSize, getSequenceTableName, getStatementCacheSize, getStringBindingSize, getStructConverters, getTableCreationSuffix, getTransactionIsolation, getTypeConverters, initialize, isAlterSequenceObjectSupported, isCastRequired, isDynamicSQLRequiredForFunctions, isForUpdateCompatibleWithDistinct, isInformixOuterJoin, isLockTimeoutException, isNullAllowedInSelectClause, isXDBDocument, prepareBatchStatement, printFieldNotNullClause, printFieldTypeSize, printFieldTypeSize, printFieldUnique, printFieldUnique, printSQLSelectStatement, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, processResultSet, requiresNamedPrimaryKeyConstraints, requiresProcedureBrackets, requiresTableInIndexDropDDL, requiresUniqueConstraintCreationOnTableCreate, retrieveFirstPrimaryKeyOrOne, rollbackTransaction, setCastSizeForVarcharParameter, setClassTypes, setCursorCode, setFieldTypes, setIsCastRequired, setMaxBatchWritingSize, setNullFromDatabaseField, setParameterValueInDatabaseCall, setPingSQL, setPrintOuterJoinInWhereClause, setSequenceCounterFieldName, setSequenceNameFieldName, setSequenceTableName, setShouldBindAllParameters, setShouldBindLiterals, setShouldCacheAllStatements, setShouldForceFieldNamesToUpperCase, setShouldIgnoreCaseOnFieldComparisons, setShouldOptimizeDataConversion, setShouldTrimStrings, setShouldUseRownumFiltering, setStatementCacheSize, setStringBindingSize, setSupportsAutoCommit, setTableCreationSuffix, setTransactionIsolation, setUsesBatchWriting, setUsesByteArrayBinding, setUsesJDBCBatchWriting, setUsesNativeBatchWriting, setUsesNativeSQL, setUsesStreamsForBinding, setUsesStringBinding, shouldAlwaysUseTempStorageForModifyAll, shouldBindAllParameters, shouldBindLiterals, shouldCacheAllStatements, shouldCreateIndicesForPrimaryKeys, shouldCreateIndicesOnUniqueKeys, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldIgnoreException, shouldNativeSequenceUseTransaction, shouldOptimizeDataConversion, shouldPrintAliasForUpdate, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintInputTokenAtStart, shouldPrintOuterJoinInWhereClause, shouldPrintOutputTokenAtStart, shouldPrintStoredProcedureArgumentNameInCall, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsAutoConversionToNumericForArithmeticOperations, supportsForeignKeyConstraints, supportsGlobalTempTables, supportsIndexes, supportsIndividualTableLocking, supportsLockingQueriesWithMultipleTables, supportsNativeSequenceNumbers, supportsNestingOuterJoins, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsSequenceObjects, supportsStoredFunctions, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, wasFailureCommunicationBased, writeAutoAssignmentSetClause, writeAutoJoinWhereClause, writeCleanUpTempTableSql, writeCreateTempTableSql, writeDeleteFromTargetTableUsingTempTableSql, writeFields, writeFieldsAutoClause, writeFieldsList, writeInsertIntoTableSql, writeJoinWhereClause, writeLOB, writeParameterMarker, writeTableCreationSuffix |
Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform |
---|
addOperator, addSequence, clone, convertObject, createConnectionCustomizer, createSequences, getConversionManager, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultSequence, getDefaultSequenceToWrite, getEndDelimiter, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getUpdateSequenceQuery, hasDefaultSequence, isAccess, isAttunity, isCloudscape, isDB2, isDBase, isDerby, isFirebird, isH2, isHSQL, isInformix, isMaxDB, isMySQL, isODBC, isOracle, isOracle9, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, toString, usesPlatformDefaultSequence |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected java.util.Map typeStrings
Constructor Detail |
---|
public SybasePlatform()
Method Detail |
---|
protected java.util.Map getTypeStrings()
protected void initializeTypeStrings()
protected void appendByteArray(byte[] bytes, java.io.Writer writer) throws java.io.IOException
appendByteArray
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.io.IOException
protected void appendDate(java.sql.Date date, java.io.Writer writer) throws java.io.IOException
appendDate
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.io.IOException
protected void appendSybaseTimestamp(java.sql.Timestamp timestamp, java.io.Writer writer) throws java.io.IOException
java.io.IOException
protected void appendTime(java.sql.Time time, java.io.Writer writer) throws java.io.IOException
appendTime
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.io.IOException
protected void appendTimestamp(java.sql.Timestamp timestamp, java.io.Writer writer) throws java.io.IOException
appendTimestamp
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.io.IOException
protected void appendCalendar(java.util.Calendar calendar, java.io.Writer writer) throws java.io.IOException
appendCalendar
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.io.IOException
protected void appendSybaseCalendar(java.util.Calendar calendar, java.io.Writer writer) throws java.io.IOException
java.io.IOException
public ExpressionOperator atan2Operator()
protected java.util.Hashtable buildFieldTypes()
buildFieldTypes
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public ValueReadQuery buildSelectQueryForIdentity()
buildSelectQueryForIdentity
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.Object executeStoredProcedure(org.eclipse.persistence.internal.databaseaccess.DatabaseCall dbCall, java.sql.PreparedStatement statement, org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor, org.eclipse.persistence.internal.sessions.AbstractSession session) throws java.sql.SQLException
executeStoredProcedure
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.sql.SQLException
public boolean shouldPrintLockingClauseAfterWhereClause()
shouldPrintLockingClauseAfterWhereClause
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.String getSelectForUpdateString()
getSelectForUpdateString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.String getBatchDelimiterString()
getBatchDelimiterString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.String getCreationInOutputProcedureToken()
getCreationInOutputProcedureToken
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.String getCreationOutputProcedureToken()
getCreationOutputProcedureToken
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.String getInOutputProcedureToken()
getInOutputProcedureToken
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.String getJdbcTypeName(int jdbcType)
getJdbcTypeName
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public int getMaxFieldNameSize()
getMaxFieldNameSize
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.util.Vector getNativeTableInfo(java.lang.String table, java.lang.String creator, org.eclipse.persistence.internal.sessions.AbstractSession session)
public java.lang.String getOutputProcedureToken()
getOutputProcedureToken
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.String getProcedureArgumentString()
getProcedureArgumentString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.String getProcedureCallHeader()
getProcedureCallHeader
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.String getStoredProcedureParameterPrefix()
getStoredProcedureParameterPrefix
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.String getStoredProcedureTerminationToken()
getStoredProcedureTerminationToken
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public ValueReadQuery getTimestampQuery()
getTimestampQuery
in interface org.eclipse.persistence.internal.databaseaccess.Platform
getTimestampQuery
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
protected void initializePlatformOperators()
initializePlatformOperators
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
public boolean isSybase()
isSybase
in interface org.eclipse.persistence.internal.databaseaccess.Platform
isSybase
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
public java.util.Hashtable maximumNumericValues()
NOTE: BigInteger & BigDecimal maximums are dependent upon their precision & Scale
maximumNumericValues
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.util.Hashtable minimumNumericValues()
NOTE: BigInteger & BigDecimal minimums are dependent upon their precision & Scale
minimumNumericValues
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public ExpressionOperator modOperator()
protected ExpressionOperator operatorOuterJoin()
public void printFieldIdentityClause(java.io.Writer writer) throws ValidationException
printFieldIdentityClause
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
ValidationException
public void printFieldNullClause(java.io.Writer writer) throws ValidationException
printFieldNullClause
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
ValidationException
public void registerOutputParameter(java.sql.CallableStatement statement, int index, int jdbcType) throws java.sql.SQLException
registerOutputParameter
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.sql.SQLException
public boolean requiresProcedureCallBrackets()
requiresProcedureCallBrackets
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean requiresProcedureCallOuputToken()
requiresProcedureCallOuputToken
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean requiresTypeNameToRegisterOutputParameter()
requiresTypeNameToRegisterOutputParameter
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean shouldPrintInOutputTokenBeforeType()
shouldPrintInOutputTokenBeforeType
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean shouldPrintOutputTokenBeforeType()
shouldPrintOutputTokenBeforeType
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean shouldUseJDBCOuterJoinSyntax()
shouldUseJDBCOuterJoinSyntax
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public ExpressionOperator singleArgumentSubstringOperator()
public boolean supportsIdentity()
supportsIdentity
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean supportsLocalTempTables()
supportsLocalTempTables
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
protected java.lang.String getCreateTempTableSqlPrefix()
getCreateTempTableSqlPrefix
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public org.eclipse.persistence.internal.helper.DatabaseTable getTempTableForTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
getTempTableForTable
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public void writeUpdateOriginalFromTempTableSql(java.io.Writer writer, org.eclipse.persistence.internal.helper.DatabaseTable table, java.util.Collection pkFields, java.util.Collection assignedFields) throws java.io.IOException
writeUpdateOriginalFromTempTableSql
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
java.io.IOException
|
EclipseLink 2.2.0, build 'v20110202-r8913' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |