Class SybasePlatform
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
- All Implemented Interfaces:
Serializable,Cloneable,org.eclipse.persistence.internal.core.databaseaccess.CorePlatform<org.eclipse.persistence.internal.helper.ConversionManager>,org.eclipse.persistence.internal.databaseaccess.Platform
- Direct Known Subclasses:
SQLAnywherePlatform
Purpose: Provides Sybase ASE specific behavior.
Responsibilities:
- Native SQL for byte[], Date, Time, & Timestamp.
- Native sequencing using @@IDENTITY.
- See Also:
-
Field Summary
FieldsFields inherited from class org.eclipse.persistence.platform.database.DatabasePlatform
DEFAULT_VARCHAR_SIZEFields inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
batchWritingMechanism, castSizeForVarcharParameter, classTypes, cursorCode, DEFAULT_MAX_BATCH_WRITING_SIZE, DEFAULT_PARAMETERIZED_MAX_BATCH_WRITING_SIZE, driverName, driverSupportsNationalCharacterVarying, fieldTypes, IS_VALID_TIMEOUT, isCastRequired, maxBatchWritingSize, partitioningCallback, pingSQL, printInnerJoinInWhereClause, printOuterJoinInWhereClause, shouldBindAllParameters, shouldBindLiterals, shouldBindPartialParameters, shouldCacheAllStatements, shouldCreateIndicesOnForeignKeys, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldOptimizeDataConversion, shouldTrimStrings, statementCacheSize, storedProcedureTerminationToken, stringBindingSize, structConverters, supportsAutoCommit, tableCreationSuffix, transactionIsolation, typeConverters, useJDBCStoredProcedureSyntax, useNationalCharacterVarying, useRownumFiltering, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesStreamsForBinding, usesStringBindingFields inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
conversionManager, dataTypesConvertedFromAClass, dataTypesConvertedToAClass, defaultNativeSequenceToTable, defaultSeqenceAtNextValue, defaultSequence, endDelimiter, platformOperators, sequences, sequencesLock, startDelimiter, supportsReturnGeneratedKeys, tableQualifier, timestampQuery -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidappendByteArray(byte[] bytes, Writer writer) If using native SQL then print a byte[] as '0xFF...'protected voidappendCalendar(Calendar calendar, Writer writer) Answer a platform correct string representation of a Calendar, suitable for SQL generation.protected voidappendDate(Date date, Writer writer) Answer a platform correct string representation of a Date, suitable for SQL generation.protected voidappendSybaseCalendar(Calendar calendar, Writer writer) Write a timestamp in Sybase specific format ( yyyy-mm-dd-hh.mm.ss.fff)protected voidappendSybaseTimestamp(Timestamp timestamp, Writer writer) Write a timestamp in Sybase specific format (yyyy-mm-dd-hh.mm.ss.fff).protected voidappendTime(Time time, Writer writer) Answer a platform correct string representation of a Time, suitable for SQL generation.protected voidappendTimestamp(Timestamp timestamp, Writer writer) Answer a platform correct string representation of a Timestamp, suitable for SQL generation.protected HashtableReturn the mapping of class types to database types for the schema framework.INTERNAL: Build the identity query for native sequencing.protected static ExpressionOperatorINTERNAL: Derby does not support EXTRACT, but does have DATEPART.Used for batch writing and sp defs.protected StringINTERNAL:This method is used to print the required output parameter token for the specific platform.This method is used to print the required output parameter token for the specific platform.This method is used to print the output parameter token when stored procedures are calledintgetJDBCType(Class javaType) Sybase and SQL Anywhere do not support BLOB/CLOB but require LONGVARBINARY/LONGVARCHAR.getJdbcTypeName(int jdbcType) INTERNAL: Returns the type name corresponding to the jdbc typeintINTERNAL: returns the maximum number of characters that can be used in a field name on this platform.getNativeTableInfo(String table, String creator, org.eclipse.persistence.internal.sessions.AbstractSession session) Return the catalog information through using the native SQL catalog selects.This method is used to print the output parameter token when stored procedures are calledUsed for sp defs.Used for sp calls.Used for sp calls.Most database support a syntax.org.eclipse.persistence.internal.helper.DatabaseTablegetTempTableForTable(org.eclipse.persistence.internal.helper.DatabaseTable table) INTERNAL:PUBLIC: This method returns the query to select the timestamp from the server for Sybase.voidinitializeConnectionData(Connection connection) INTERNAL: Allow initialization from the connection.protected voidInitialize any platform-specific operatorsprotected voidbooleanINTERNAL: Return true if output parameters can be built with result sets.booleanisSybase()Builds a table of maximum numeric values keyed on java class.Builds a table of minimum numeric values keyed on java class.protected static ExpressionOperatorOverride the default MOD operator.protected static ExpressionOperatorCreate the outer join operator for this platformvoidprintFieldIdentityClause(Writer writer) Append the receiver's field 'identity' constraint clause to a writer.voidprintFieldNullClause(Writer writer) Append the receiver's field 'NULL' constraint clause to a writer.voidregisterOutputParameter(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.voidregisterOutputParameter(CallableStatement statement, int index, int jdbcType, String typeName) This method is used to register output parameter on CallableStatements for Stored Procedures as each database seems to have a different method.booleanUSed for sp calls.booleanUsed for sp calls.booleanINTERNAL: Indicates whether the version of CallableStatement.registerOutputParameter method that takes type name should be used.booleanThis is required in the construction of the stored procedures with output parametersbooleanThe sybase syntax for obtaining pessimistic lock is "SELECT ADDRESS_ID, ...booleanThis is required in the construction of the stored procedures with output parametersbooleanJDBC defines and outer join syntax, many drivers do not support this.protected static ExpressionOperatorOverride the default SubstringSingleArg operator.booleanSybase (as of Sybase ASE 15, does not support delete on cascade).booleanINTERNAL:booleanINTERNAL: Indicates whether the platform supports identity.protected static ExpressionOperatorINTERNAL: Function, to add months to a date.protected static ExpressionOperatorINTERNAL: Build instring operatorprotected static ExpressionOperatorINTERNAL: Build the Sybase equivalent to Locate with a start index.protected static ExpressionOperatorINTERNAL: Build the Sybase equivalent to Locateprotected static ExpressionOperatorINTERNAL: Build Sybase equivalent to TO_CHAR.protected static ExpressionOperatorINTERNAL: Build Sybase equivalent to TO_CHAR.protected static ExpressionOperatorINTERNAL: Build Sybase equivalent to TO_DATE.protected static ExpressionOperatorINTERNAL: Build Sybase equivalent to TO_CHAR.protected static ExpressionOperatorINTERNAL: Build Sybase equivalent to TO_NUMBER.protected static ExpressionOperatorINTERNAL: Build Trim operator.protected static ExpressionOperatorINTERNAL: Use RTRIM(LTRIM(?)) function for trim.booleanReturn true if this platform is to use the JDBC supported syntax for executing stored procedures.voidwriteUpdateOriginalFromTempTableSql(Writer writer, org.eclipse.persistence.internal.helper.DatabaseTable table, Collection pkFields, Collection assignedFields) INTERNAL:Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
addBatch, addStructConverter, allowBindingForSelectClause, allowsSizeInProcedureArguments, appendBoolean, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildCallWithReturning, buildClassTypes, buildCreateIndex, buildCreateIndex, buildDropIndex, buildDropIndex, buildProcedureCallString, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBatchWriteWithOptimisticLocking, canBuildCallWithReturning, checkTableExists, commitTransaction, computeMaxRowsForSQL, convertToDatabaseType, copyInto, createArray, createArray, createPlatformDefaultSequence, createStruct, createStruct, createStruct, dontBindUpdateAllQueryUsingTempTables, executeBatch, executeStoredProcedure, freeTemporaryObject, getAssignmentString, getBatchBeginString, getBatchEndString, getBatchRowCountAssignString, getBatchRowCountDeclareString, getBatchRowCountReturnString, getBatchWritingMechanism, getCastSizeForVarcharParameter, getClassTypes, getConnection, getConnectionUserName, getConstraintDeletionString, getCreateDatabaseSchemaString, getCreateTempTableSqlBodyForTable, getCreateTempTableSqlSuffix, getCreateViewString, getCursorCode, getCustomModifyValueForCall, getDefaultSequenceTableName, getDriverSupportsNVarChar, getDropCascadeString, getDropDatabaseSchemaString, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getIndexNamePrefix, getInputProcedureToken, getJDBCOuterJoinString, getJDBCType, getJDBCTypeForSetNull, getMaxBatchWritingSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getObjectFromResultSet, getParameterValueFromDatabaseCall, getParameterValueFromDatabaseCall, getPartitioningCallback, getPingSQL, getProcedureArgument, getProcedureArgument, getProcedureAsString, getProcedureBeginString, getProcedureEndString, getProcedureOptionList, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getRefValue, getSelectForUpdateNoWaitString, getSelectForUpdateOfString, getSelectForUpdateWaitString, getSequenceCounterFieldName, getSequenceNameFieldName, getSequencePreallocationSize, getSequenceTableName, getStatementCacheSize, getStoredProcedureTerminationToken, getStringBindingSize, getStructConverters, getTableCreationSuffix, getTableExistsQuery, getTransactionIsolation, getTypeConverters, getUniqueConstraintDeletionString, getUseNationalCharacterVaryingTypeForString, getVPDClearIdentifierQuery, getVPDCreationFunctionString, getVPDCreationPolicyString, getVPDDeletionString, getVPDSetIdentifierQuery, hasPartitioningCallback, initialize, isAlterSequenceObjectSupported, isCastRequired, isDynamicSQLRequiredForFunctions, isForUpdateCompatibleWithDistinct, isInformixOuterJoin, isJDBCExecuteCompliant, isLobCompatibleWithDistinct, isLockTimeoutException, isNullAllowedInSelectClause, isRowCountOutputParameterRequired, isXDBDocument, minimumTimeIncrement, prepareBatchStatement, printFieldNotNullClause, printFieldTypeSize, printFieldTypeSize, printFieldUnique, printFieldUnique, printSQLSelectStatement, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, registerOutputParameter, registerOutputParameter, requiresNamedPrimaryKeyConstraints, requiresProcedureBrackets, requiresTableInIndexDropDDL, requiresUniqueConstraintCreationOnTableCreate, retrieveFirstPrimaryKeyOrOne, rollbackTransaction, setBatchWritingMechanism, setCastSizeForVarcharParameter, setClassTypes, setCursorCode, setDriverName, setDriverSupportsNVarChar, setFieldTypes, setIsCastRequired, setMaxBatchWritingSize, setNullFromDatabaseField, setNullFromDatabaseField, setParameterValueInDatabaseCall, setParameterValueInDatabaseCall, setPartitioningCallback, setPingSQL, setPrintInnerJoinInWhereClause, setPrintOuterJoinInWhereClause, setSequenceCounterFieldName, setSequenceNameFieldName, setSequenceTableName, setShouldBindAllParameters, setShouldBindLiterals, setShouldBindPartialParameters, setShouldCacheAllStatements, setShouldCreateIndicesOnForeignKeys, setShouldForceBindAllParameters, setShouldForceFieldNamesToUpperCase, setShouldIgnoreCaseOnFieldComparisons, setShouldOptimizeDataConversion, setShouldTrimStrings, setShouldUseRownumFiltering, setStatementCacheSize, setStoredProcedureTerminationToken, setStringBindingSize, setSupportsAutoCommit, setTableCreationSuffix, setTransactionIsolation, setUseJDBCStoredProcedureSyntax, setUseNationalCharacterVaryingTypeForString, setUsesBatchWriting, setUsesByteArrayBinding, setUsesJDBCBatchWriting, setUsesNativeBatchWriting, setUsesNativeSQL, setUsesStreamsForBinding, setUsesStringBinding, shouldAlwaysUseTempStorageForModifyAll, shouldBindAllParameters, shouldBindLiterals, shouldBindPartialParameters, shouldCacheAllStatements, shouldCreateIndicesForPrimaryKeys, shouldCreateIndicesOnForeignKeys, shouldCreateIndicesOnUniqueKeys, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldIgnoreException, shouldOptimizeDataConversion, shouldPrintAliasForUpdate, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintForUpdateClause, shouldPrintInnerJoinInWhereClause, shouldPrintInputTokenAtStart, shouldPrintOuterJoinInWhereClause, shouldPrintOutputTokenAtStart, shouldPrintStoredProcedureArgumentNameInCall, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseGetSetNString, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsAutoConversionToNumericForArithmeticOperations, supportsConnectionUserName, supportsCountDistinctWithMultipleFields, supportsForeignKeyConstraints, supportsIndexes, supportsIndividualTableLocking, supportsLocalTempTables, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOrderByParameters, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsStoredFunctions, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, supportsVPD, supportsWaitForUpdate, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, wasFailureCommunicationBased, writeAddColumnClause, writeAutoAssignmentSetClause, writeAutoJoinWhereClause, writeCleanUpTempTableSql, writeCreateTempTableSql, writeDeleteFromTargetTableUsingTempTableSql, writeFields, writeFieldsAutoClause, writeFieldsList, writeInsertIntoTableSql, writeJoinWhereClause, writeLOB, writeParameterMarker, writeTableCreationSuffixMethods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
addOperator, addSequence, addSequence, buildNativeCall, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, buildSelectQueryForSequenceObject, clone, convertObject, createConnectionCustomizer, createExpressionFor, getConversionManager, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultNativeSequenceToTable, getDefaultSeqenceAtNextValue, getDefaultSequence, getDefaultSequenceToWrite, getEndDelimiter, getINClauseLimit, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getUpdateSequenceQuery, hasDefaultSequence, initializeDefaultQueries, initIdentitySequences, isAccess, isAttunity, isCloudscape, isDB2, isDB2Z, isDBase, isDerby, isFirebird, isH2, isHANA, isHSQL, isInformix, isMaxDB, isMySQL, isODBC, isOracle, isOracle12, isOracle9, isPervasive, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeIdentitySequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultNativeSequenceToTable, setDefaultSeqenceAtNextValue, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setSupportsReturnGeneratedKeys, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, supportsNativeSequenceNumbers, supportsReturnGeneratedKeys, supportsSequenceObjects, toString, usesPlatformDefaultSequence
-
Field Details
-
typeStrings
-
-
Constructor Details
-
SybasePlatform
public SybasePlatform()
-
-
Method Details
-
initializeConnectionData
Description copied from class:org.eclipse.persistence.internal.databaseaccess.DatabasePlatformINTERNAL: Allow initialization from the connection.- Overrides:
initializeConnectionDatain classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform- Throws:
SQLException
-
getTypeStrings
-
initializeTypeStrings
protected void initializeTypeStrings() -
getJDBCType
Sybase and SQL Anywhere do not support BLOB/CLOB but require LONGVARBINARY/LONGVARCHAR.- Overrides:
getJDBCTypein classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
appendByteArray
If using native SQL then print a byte[] as '0xFF...'- Overrides:
appendByteArrayin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform- Throws:
IOException
-
appendDate
Answer a platform correct string representation of a Date, suitable for SQL generation. Native format: 'yyyy-mm-dd- Overrides:
appendDatein classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform- Throws:
IOException
-
appendSybaseTimestamp
Write a timestamp in Sybase specific format (yyyy-mm-dd-hh.mm.ss.fff).- Throws:
IOException
-
appendTime
Answer a platform correct string representation of a Time, suitable for SQL generation. The time is printed in the ODBC platform independent format {t'hh:mm:ss'}.- Overrides:
appendTimein classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform- Throws:
IOException
-
appendTimestamp
Answer a platform correct string representation of a Timestamp, suitable for SQL generation. The date is printed in the ODBC platform independent format {d'YYYY-MM-DD'}.- Overrides:
appendTimestampin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform- Throws:
IOException
-
appendCalendar
Answer a platform correct string representation of a Calendar, suitable for SQL generation. The date is printed in the ODBC platform independent format {d'YYYY-MM-DD'}.- Overrides:
appendCalendarin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform- Throws:
IOException
-
appendSybaseCalendar
Write a timestamp in Sybase specific format ( yyyy-mm-dd-hh.mm.ss.fff)- Throws:
IOException
-
buildFieldTypes
Description copied from class:org.eclipse.persistence.internal.databaseaccess.DatabasePlatformReturn the mapping of class types to database types for the schema framework.- Overrides:
buildFieldTypesin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
buildSelectQueryForIdentity
INTERNAL: Build the identity query for native sequencing.- Overrides:
buildSelectQueryForIdentityin classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
-
shouldPrintLockingClauseAfterWhereClause
public boolean shouldPrintLockingClauseAfterWhereClause()The sybase syntax for obtaining pessimistic lock is "SELECT ADDRESS_ID, ... FROM ADDRESS WITH (HOLDLOCK) WHERE (ADDRESS_ID = ?)" Please note that above only obtains shared lock. Apparently there is no way to obtain exclusive lock on Sybase using only a select statement- Overrides:
shouldPrintLockingClauseAfterWhereClausein classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getSelectForUpdateString
Description copied from class:org.eclipse.persistence.internal.databaseaccess.DatabasePlatformMost database support a syntax. although don't actually lock the row. Some require the OF some don't like it.- Overrides:
getSelectForUpdateStringin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getBatchDelimiterString
Used for batch writing and sp defs.- Overrides:
getBatchDelimiterStringin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getCreationInOutputProcedureToken
Description copied from class:org.eclipse.persistence.internal.databaseaccess.DatabasePlatformThis method is used to print the required output parameter token for the specific platform. Used when stored procedures are created.- Overrides:
getCreationInOutputProcedureTokenin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getCreationOutputProcedureToken
Description copied from class:org.eclipse.persistence.internal.databaseaccess.DatabasePlatformThis method is used to print the required output parameter token for the specific platform. Used when stored procedures are created.- Overrides:
getCreationOutputProcedureTokenin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getInOutputProcedureToken
Description copied from class:org.eclipse.persistence.internal.databaseaccess.DatabasePlatformThis method is used to print the output parameter token when stored procedures are called- Overrides:
getInOutputProcedureTokenin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getJdbcTypeName
INTERNAL: Returns the type name corresponding to the jdbc type- Overrides:
getJdbcTypeNamein classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getMaxFieldNameSize
public int getMaxFieldNameSize()INTERNAL: returns the maximum number of characters that can be used in a field name on this platform.- Overrides:
getMaxFieldNameSizein classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getNativeTableInfo
public Vector getNativeTableInfo(String table, String creator, org.eclipse.persistence.internal.sessions.AbstractSession session) Return the catalog information through using the native SQL catalog selects. This is required because many JDBC driver do not support meta-data. Willcards can be passed as arguments. -
getOutputProcedureToken
Description copied from class:org.eclipse.persistence.internal.databaseaccess.DatabasePlatformThis method is used to print the output parameter token when stored procedures are called- Overrides:
getOutputProcedureTokenin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getProcedureArgumentString
Used for sp defs.- Overrides:
getProcedureArgumentStringin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getProcedureCallHeader
Used for sp calls.- Overrides:
getProcedureCallHeaderin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getProcedureCallTail
Description copied from class:org.eclipse.persistence.internal.databaseaccess.DatabasePlatformUsed for sp calls.- Overrides:
getProcedureCallTailin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
useJDBCStoredProcedureSyntax
public boolean useJDBCStoredProcedureSyntax()Return true if this platform is to use the JDBC supported syntax for executing stored procedures. If the driver is known to be the DataDirec driver, and the value is not set, then set to true and return. -
getStoredProcedureParameterPrefix
- Overrides:
getStoredProcedureParameterPrefixin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getTimestampQuery
PUBLIC: This method returns the query to select the timestamp from the server for Sybase.- Specified by:
getTimestampQueryin interfaceorg.eclipse.persistence.internal.databaseaccess.Platform- Overrides:
getTimestampQueryin classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
-
initializePlatformOperators
protected void initializePlatformOperators()Initialize any platform-specific operators- Overrides:
initializePlatformOperatorsin classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
-
modOperator
Override the default MOD operator. -
operatorOuterJoin
Create the outer join operator for this platform -
singleArgumentSubstringOperator
Override the default SubstringSingleArg operator. -
sybaseAddMonthsOperator
INTERNAL: Function, to add months to a date. -
sybaseInStringOperator
INTERNAL: Build instring operator -
sybaseToNumberOperator
INTERNAL: Build Sybase equivalent to TO_NUMBER. -
sybaseToDateToStringOperator
INTERNAL: Build Sybase equivalent to TO_CHAR. -
sybaseToDateOperator
INTERNAL: Build Sybase equivalent to TO_DATE. -
sybaseToCharOperator
INTERNAL: Build Sybase equivalent to TO_CHAR. -
sybaseToCharWithFormatOperator
INTERNAL: Build Sybase equivalent to TO_CHAR. -
sybaseLocateOperator
INTERNAL: Build the Sybase equivalent to Locate -
sybaseLocate2Operator
INTERNAL: Build the Sybase equivalent to Locate with a start index. Sybase does not define this, so this gets a little complex... -
extractOperator
INTERNAL: Derby does not support EXTRACT, but does have DATEPART. -
trimOperator
INTERNAL: Use RTRIM(LTRIM(?)) function for trim. -
trim2Operator
INTERNAL: Build Trim operator. -
isOutputAllowWithResultSet
public boolean isOutputAllowWithResultSet()INTERNAL: Return true if output parameters can be built with result sets.- Overrides:
isOutputAllowWithResultSetin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
isSybase
public boolean isSybase()- Specified by:
isSybasein interfaceorg.eclipse.persistence.internal.databaseaccess.Platform- Overrides:
isSybasein classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
-
maximumNumericValues
Builds a table of maximum numeric values keyed on java class. This is used for type testing but might also be useful to end users attempting to sanitize values.NOTE: BigInteger & BigDecimal maximums are dependent upon their precision & Scale
- Overrides:
maximumNumericValuesin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
minimumNumericValues
Builds a table of minimum numeric values keyed on java class. This is used for type testing but might also be useful to end users attempting to sanitize values.NOTE: BigInteger & BigDecimal minimums are dependent upon their precision & Scale
- Overrides:
minimumNumericValuesin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
printFieldIdentityClause
Append the receiver's field 'identity' constraint clause to a writer.- Overrides:
printFieldIdentityClausein classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform- Throws:
ValidationException
-
printFieldNullClause
Append the receiver's field 'NULL' constraint clause to a writer.- Overrides:
printFieldNullClausein classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform- Throws:
ValidationException
-
registerOutputParameter
public void registerOutputParameter(CallableStatement statement, int index, int jdbcType) throws SQLException This method is used to register output parameter on Callable Statements for Stored Procedures as each database seems to have a different method.- Overrides:
registerOutputParameterin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform- Throws:
SQLException- See Also:
-
registerOutputParameter
public void registerOutputParameter(CallableStatement statement, int index, int jdbcType, String typeName) throws SQLException Description copied from class:org.eclipse.persistence.internal.databaseaccess.DatabasePlatformThis method is used to register output parameter on CallableStatements for Stored Procedures as each database seems to have a different method.- Overrides:
registerOutputParameterin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform- Throws:
SQLException- See Also:
-
requiresProcedureCallBrackets
public boolean requiresProcedureCallBrackets()USed for sp calls.- Overrides:
requiresProcedureCallBracketsin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
requiresProcedureCallOuputToken
public boolean requiresProcedureCallOuputToken()Used for sp calls. Sybase must print output after output params.- Overrides:
requiresProcedureCallOuputTokenin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
requiresTypeNameToRegisterOutputParameter
public boolean requiresTypeNameToRegisterOutputParameter()INTERNAL: Indicates whether the version of CallableStatement.registerOutputParameter method that takes type name should be used.- Overrides:
requiresTypeNameToRegisterOutputParameterin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
shouldPrintInOutputTokenBeforeType
public boolean shouldPrintInOutputTokenBeforeType()Description copied from class:org.eclipse.persistence.internal.databaseaccess.DatabasePlatformThis is required in the construction of the stored procedures with output parameters- Overrides:
shouldPrintInOutputTokenBeforeTypein classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
shouldPrintOutputTokenBeforeType
public boolean shouldPrintOutputTokenBeforeType()Description copied from class:org.eclipse.persistence.internal.databaseaccess.DatabasePlatformThis is required in the construction of the stored procedures with output parameters- Overrides:
shouldPrintOutputTokenBeforeTypein classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
shouldUseJDBCOuterJoinSyntax
public boolean shouldUseJDBCOuterJoinSyntax()JDBC defines and outer join syntax, many drivers do not support this. So we normally avoid it.- Overrides:
shouldUseJDBCOuterJoinSyntaxin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
supportsIdentity
public boolean supportsIdentity()INTERNAL: Indicates whether the platform supports identity. Sybase does through IDENTITY field types. This method is to be used *ONLY* by sequencing classes- Overrides:
supportsIdentityin classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
-
supportsDeleteOnCascade
public boolean supportsDeleteOnCascade()Sybase (as of Sybase ASE 15, does not support delete on cascade). Sybase ASA (SQL Anywhere does, so must use different platform).- Overrides:
supportsDeleteOnCascadein classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
supportsGlobalTempTables
public boolean supportsGlobalTempTables()INTERNAL:- Overrides:
supportsGlobalTempTablesin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getCreateTempTableSqlPrefix
INTERNAL:- Overrides:
getCreateTempTableSqlPrefixin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getTempTableForTable
public org.eclipse.persistence.internal.helper.DatabaseTable getTempTableForTable(org.eclipse.persistence.internal.helper.DatabaseTable table) INTERNAL:- Overrides:
getTempTableForTablein classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform- Parameters:
table- is original table for which temp table is created.- Returns:
- temporary table
-
writeUpdateOriginalFromTempTableSql
public void writeUpdateOriginalFromTempTableSql(Writer writer, org.eclipse.persistence.internal.helper.DatabaseTable table, Collection pkFields, Collection assignedFields) throws IOException INTERNAL:- Overrides:
writeUpdateOriginalFromTempTableSqlin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform- Parameters:
writer- for writing the sqltable- is original table for which temp table is created.pkFields- primary key fields for the original table.assignedFields- fields to be assigned a new value.- Throws:
IOException
-