Class SQLAnywherePlatform
- 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
-
- org.eclipse.persistence.platform.database.SQLAnywherePlatform
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,org.eclipse.persistence.internal.core.databaseaccess.CorePlatform<org.eclipse.persistence.internal.helper.ConversionManager>,org.eclipse.persistence.internal.databaseaccess.Platform
public class SQLAnywherePlatform extends SybasePlatform
Provides SQL Anywhere specific behaviour.- See Also:
- Serialized Form
- Author:
- Markus KARG (markus-karg@users.sourceforge.net)
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.platform.database.SybasePlatform
typeStrings
-
Fields inherited from class org.eclipse.persistence.platform.database.DatabasePlatform
DEFAULT_VARCHAR_SIZE
-
Fields 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, Types_NCLOB, Types_SQLXML, useJDBCStoredProcedureSyntax, useNationalCharacterVarying, useRownumFiltering, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesStreamsForBinding, usesStringBinding
-
Fields 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 Constructor Description SQLAnywherePlatform()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.HashtablebuildFieldTypes()ValueReadQuerybuildSelectQueryForIdentity()INTERNAL: Build the identity query for native sequencing.static ExpressionOperatorcreateConcatOperator()static ExpressionOperatorcreateCurrentDateOperator()static ExpressionOperatorcreateCurrentTimeOperator()static ExpressionOperatorcreateLocate2Operator()static ExpressionOperatorcreateLocateOperator()java.lang.StringgetBatchBeginString()Used for batch writing and sp defs.java.lang.StringgetBatchDelimiterString()Used for batch writing and sp defs.java.lang.StringgetBatchEndString()Used for batch writing and sp defs.protected java.lang.StringgetCreateTempTableSqlPrefix()INTERNAL:java.lang.StringgetCreationOutputProcedureToken()java.lang.StringgetInOutputProcedureToken()java.lang.StringgetInputProcedureToken()Used for stored procedure creation: Prefix for INPUT parameters.intgetMaxFieldNameSize()INTERNAL: returns the maximum number of characters that can be used in a field name on this platform.java.lang.StringgetOutputProcedureToken()java.lang.StringgetProcedureArgumentString()Used for sp defs.java.lang.StringgetProcedureAsString()java.lang.StringgetProcedureBeginString()java.lang.StringgetProcedureCallHeader()Used for sp calls.java.lang.StringgetProcedureEndString()java.lang.StringgetStoredProcedureParameterPrefix()org.eclipse.persistence.internal.helper.DatabaseTablegetTempTableForTable(org.eclipse.persistence.internal.helper.DatabaseTable table)Used for sp calls.protected voidinitializePlatformOperators()Initialize any platform-specific operatorsbooleanisSQLAnywhere()booleanisSybase()voidprintFieldIdentityClause(java.io.Writer writer)Append the receiver's field 'identity' constraint clause to a writer.voidprintFieldNullClause(java.io.Writer writer)Append the receiver's field 'NULL' constraint clause to a writer.booleanrequiresProcedureBrackets()booleanrequiresProcedureCallBrackets()USed for sp calls.booleanrequiresTypeNameToRegisterOutputParameter()INTERNAL: Indicates whether the version of CallableStatement.registerOutputParameter method that takes type name should be used.booleanshouldPrintInOutputTokenBeforeType()booleanshouldPrintInputTokenAtStart()booleanshouldPrintOutputTokenAtStart()booleanshouldPrintOutputTokenBeforeType()booleanshouldPrintStoredProcedureArgumentNameInCall()booleanshouldPrintStoredProcedureVariablesAfterBeginString()booleansupportsDeleteOnCascade()SQL Anywhere does support cascade on delete, unlike Sybase.booleansupportsIdentity()INTERNAL: Indicates whether the platform supports identity.booleansupportsLocalTempTables()booleansupportsStoredFunctions()-
Methods inherited from class org.eclipse.persistence.platform.database.SybasePlatform
appendByteArray, appendCalendar, appendDate, appendSybaseCalendar, appendSybaseTimestamp, appendTime, appendTimestamp, extractOperator, getCreationInOutputProcedureToken, getJDBCType, getJdbcTypeName, getNativeTableInfo, getProcedureCallTail, getSelectForUpdateString, getTimestampQuery, getTypeStrings, initializeConnectionData, initializeTypeStrings, isOutputAllowWithResultSet, maximumNumericValues, minimumNumericValues, modOperator, operatorOuterJoin, registerOutputParameter, registerOutputParameter, requiresProcedureCallOuputToken, shouldPrintLockingClauseAfterWhereClause, shouldUseJDBCOuterJoinSyntax, singleArgumentSubstringOperator, supportsGlobalTempTables, sybaseAddMonthsOperator, sybaseInStringOperator, sybaseLocate2Operator, sybaseLocateOperator, sybaseToCharOperator, sybaseToCharWithFormatOperator, sybaseToDateOperator, sybaseToDateToStringOperator, sybaseToNumberOperator, trim2Operator, trimOperator, useJDBCStoredProcedureSyntax, writeUpdateOriginalFromTempTableSql
-
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, getBatchRowCountAssignString, getBatchRowCountDeclareString, getBatchRowCountReturnString, getBatchWritingMechanism, getCastSizeForVarcharParameter, getClassTypes, getConnection, getConnectionUserName, getConstraintDeletionString, getCreateDatabaseSchemaString, getCreateTempTableSqlBodyForTable, getCreateTempTableSqlSuffix, getCreateViewString, getCursorCode, getCustomModifyValueForCall, getDefaultSequenceTableName, getDriverSupportsNVarChar, getDropCascadeString, getDropDatabaseSchemaString, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getIdentifierQuoteCharacter, getIndexNamePrefix, getJDBCOuterJoinString, getJDBCType, getJDBCTypeForSetNull, getMaxBatchWritingSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getObjectFromResultSet, getParameterValueFromDatabaseCall, getParameterValueFromDatabaseCall, getPartitioningCallback, getPingSQL, getProcedureArgument, getProcedureArgument, 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, 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, shouldPrintOuterJoinInWhereClause, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseGetSetNString, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsAutoConversionToNumericForArithmeticOperations, supportsConnectionUserName, supportsCountDistinctWithMultipleFields, supportsForeignKeyConstraints, supportsIndexes, supportsIndividualTableLocking, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOrderByParameters, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, 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, writeTableCreationSuffix
-
Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
addOperator, addSequence, addSequence, buildNativeCall, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, buildSelectQueryForSequenceObject, clone, convertObject, convertObject, createConnectionCustomizer, createExpressionFor, getConversionManager, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultNativeSequenceToTable, getDefaultSeqenceAtNextValue, getDefaultSequence, getDefaultSequenceToWrite, getDriverVersion, getEndDelimiter, getINClauseLimit, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getUpdateSequenceQuery, hasDefaultSequence, initializeDefaultQueries, isAccess, isAttunity, isCloudscape, isDB2, isDB2Z, isDBase, isDerby, isFirebird, isH2, isHANA, isHSQL, isInformix, isMaxDB, isMySQL, isODBC, isOracle, isOracle23, isOracle9, isPervasive, isPointBase, isPostgreSQL, isSQLServer, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultNativeSequenceToTable, setDefaultSeqenceAtNextValue, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setSupportsReturnGeneratedKeys, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, supportsNativeSequenceNumbers, supportsReturnGeneratedKeys, supportsSequenceObjects, toString, usesPlatformDefaultSequence
-
-
-
-
Method Detail
-
buildFieldTypes
protected java.util.Hashtable buildFieldTypes()
- Overrides:
buildFieldTypesin classSybasePlatform
-
buildSelectQueryForIdentity
public ValueReadQuery buildSelectQueryForIdentity()
INTERNAL: Build the identity query for native sequencing.- Overrides:
buildSelectQueryForIdentityin classSybasePlatform
-
createCurrentDateOperator
public static ExpressionOperator createCurrentDateOperator()
-
createCurrentTimeOperator
public static ExpressionOperator createCurrentTimeOperator()
-
createLocate2Operator
public static ExpressionOperator createLocate2Operator()
-
createConcatOperator
public static ExpressionOperator createConcatOperator()
-
createLocateOperator
public static ExpressionOperator createLocateOperator()
-
getCreateTempTableSqlPrefix
protected java.lang.String getCreateTempTableSqlPrefix()
Description copied from class:SybasePlatformINTERNAL:- Overrides:
getCreateTempTableSqlPrefixin classSybasePlatform
-
getInputProcedureToken
public java.lang.String getInputProcedureToken()
Used for stored procedure creation: Prefix for INPUT parameters. Not required on most platforms.- Overrides:
getInputProcedureTokenin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getInOutputProcedureToken
public java.lang.String getInOutputProcedureToken()
- Overrides:
getInOutputProcedureTokenin classSybasePlatform
-
getCreationOutputProcedureToken
public java.lang.String getCreationOutputProcedureToken()
- Overrides:
getCreationOutputProcedureTokenin classSybasePlatform
-
getOutputProcedureToken
public java.lang.String getOutputProcedureToken()
- Overrides:
getOutputProcedureTokenin classSybasePlatform
-
getMaxFieldNameSize
public int getMaxFieldNameSize()
Description copied from class:SybasePlatformINTERNAL: returns the maximum number of characters that can be used in a field name on this platform.- Overrides:
getMaxFieldNameSizein classSybasePlatform
-
getProcedureArgumentString
public java.lang.String getProcedureArgumentString()
Used for sp defs.- Overrides:
getProcedureArgumentStringin classSybasePlatform
-
getStoredProcedureParameterPrefix
public java.lang.String getStoredProcedureParameterPrefix()
- Overrides:
getStoredProcedureParameterPrefixin classSybasePlatform
-
getProcedureAsString
public java.lang.String getProcedureAsString()
- Overrides:
getProcedureAsStringin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getProcedureBeginString
public java.lang.String getProcedureBeginString()
- Overrides:
getProcedureBeginStringin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getProcedureEndString
public java.lang.String getProcedureEndString()
- Overrides:
getProcedureEndStringin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getBatchBeginString
public java.lang.String getBatchBeginString()
Used for batch writing and sp defs.- Overrides:
getBatchBeginStringin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getBatchEndString
public java.lang.String getBatchEndString()
Used for batch writing and sp defs.- Overrides:
getBatchEndStringin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
getBatchDelimiterString
public java.lang.String getBatchDelimiterString()
Used for batch writing and sp defs.- Overrides:
getBatchDelimiterStringin classSybasePlatform
-
getProcedureCallHeader
public java.lang.String getProcedureCallHeader()
Used for sp calls.- Overrides:
getProcedureCallHeaderin classSybasePlatform
-
getTempTableForTable
public org.eclipse.persistence.internal.helper.DatabaseTable getTempTableForTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
Used for sp calls.- Overrides:
getTempTableForTablein classSybasePlatform
-
initializePlatformOperators
protected void initializePlatformOperators()
Description copied from class:SybasePlatformInitialize any platform-specific operators- Overrides:
initializePlatformOperatorsin classSybasePlatform
-
isSQLAnywhere
public boolean isSQLAnywhere()
- Specified by:
isSQLAnywherein interfaceorg.eclipse.persistence.internal.databaseaccess.Platform- Overrides:
isSQLAnywherein classorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
-
isSybase
public boolean isSybase()
- Specified by:
isSybasein interfaceorg.eclipse.persistence.internal.databaseaccess.Platform- Overrides:
isSybasein classSybasePlatform
-
requiresProcedureBrackets
public boolean requiresProcedureBrackets()
- Overrides:
requiresProcedureBracketsin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
requiresProcedureCallBrackets
public boolean requiresProcedureCallBrackets()
Description copied from class:SybasePlatformUSed for sp calls.- Overrides:
requiresProcedureCallBracketsin classSybasePlatform
-
requiresTypeNameToRegisterOutputParameter
public boolean requiresTypeNameToRegisterOutputParameter()
INTERNAL: Indicates whether the version of CallableStatement.registerOutputParameter method that takes type name should be used.- Overrides:
requiresTypeNameToRegisterOutputParameterin classSybasePlatform
-
printFieldIdentityClause
public void printFieldIdentityClause(java.io.Writer writer) throws ValidationExceptionDescription copied from class:SybasePlatformAppend the receiver's field 'identity' constraint clause to a writer.- Overrides:
printFieldIdentityClausein classSybasePlatform- Throws:
ValidationException
-
printFieldNullClause
public void printFieldNullClause(java.io.Writer writer) throws ValidationExceptionDescription copied from class:SybasePlatformAppend the receiver's field 'NULL' constraint clause to a writer.- Overrides:
printFieldNullClausein classSybasePlatform- Throws:
ValidationException
-
shouldPrintInputTokenAtStart
public boolean shouldPrintInputTokenAtStart()
- Overrides:
shouldPrintInputTokenAtStartin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
shouldPrintInOutputTokenBeforeType
public boolean shouldPrintInOutputTokenBeforeType()
- Overrides:
shouldPrintInOutputTokenBeforeTypein classSybasePlatform
-
shouldPrintOutputTokenAtStart
public boolean shouldPrintOutputTokenAtStart()
- Overrides:
shouldPrintOutputTokenAtStartin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
shouldPrintOutputTokenBeforeType
public boolean shouldPrintOutputTokenBeforeType()
- Overrides:
shouldPrintOutputTokenBeforeTypein classSybasePlatform
-
shouldPrintStoredProcedureArgumentNameInCall
public boolean shouldPrintStoredProcedureArgumentNameInCall()
- Overrides:
shouldPrintStoredProcedureArgumentNameInCallin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
shouldPrintStoredProcedureVariablesAfterBeginString
public boolean shouldPrintStoredProcedureVariablesAfterBeginString()
- Overrides:
shouldPrintStoredProcedureVariablesAfterBeginStringin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
supportsIdentity
public boolean supportsIdentity()
Description copied from class:SybasePlatformINTERNAL: Indicates whether the platform supports identity. Sybase does through IDENTITY field types. This method is to be used *ONLY* by sequencing classes- Overrides:
supportsIdentityin classSybasePlatform
-
supportsLocalTempTables
public boolean supportsLocalTempTables()
- Overrides:
supportsLocalTempTablesin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
supportsStoredFunctions
public boolean supportsStoredFunctions()
- Overrides:
supportsStoredFunctionsin classorg.eclipse.persistence.internal.databaseaccess.DatabasePlatform
-
supportsDeleteOnCascade
public boolean supportsDeleteOnCascade()
SQL Anywhere does support cascade on delete, unlike Sybase.- Overrides:
supportsDeleteOnCascadein classSybasePlatform
-
-