EclipseLink 2.4.2, build 'v20130514-5956486' API Reference

org.eclipse.persistence.platform.database
Class SQLAnywherePlatform

java.lang.Object
  extended by org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
      extended by org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
          extended by org.eclipse.persistence.platform.database.DatabasePlatform
              extended by org.eclipse.persistence.platform.database.SybasePlatform
                  extended by org.eclipse.persistence.platform.database.SQLAnywherePlatform
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, 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
castSizeForVarcharParameter, classTypes, cursorCode, DEFAULT_MAX_BATCH_WRITING_SIZE, DEFAULT_PARAMETERIZED_MAX_BATCH_WRITING_SIZE, fieldTypes, IS_VALID_TIMEOUT, isCastRequired, maxBatchWritingSize, partitioningCallback, pingSQL, printInnerJoinInWhereClause, 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, sequencesLock, startDelimiter, tableQualifier, timestampQuery
 
Constructor Summary
SQLAnywherePlatform()
           
 
Method Summary
protected  java.util.Hashtable buildFieldTypes()
           
 ValueReadQuery buildSelectQueryForIdentity()
          INTERNAL: Build the identity query for native sequencing.
static ExpressionOperator createConcatOperator()
           
static ExpressionOperator createCurrentDateOperator()
           
static ExpressionOperator createCurrentTimeOperator()
           
static ExpressionOperator createLocate2Operator()
           
static ExpressionOperator createLocateOperator()
           
 java.lang.String getBatchBeginString()
          Used for batch writing and sp defs.
 java.lang.String getBatchDelimiterString()
          Used for batch writing and sp defs.
 java.lang.String getBatchEndString()
          Used for batch writing and sp defs.
protected  java.lang.String getCreateTempTableSqlPrefix()
          INTERNAL:
 java.lang.String getCreationOutputProcedureToken()
           
 java.lang.String getInOutputProcedureToken()
           
 java.lang.String getInputProcedureToken()
          Used for stored procedure creation: Prefix for INPUT parameters.
 int getMaxFieldNameSize()
          INTERNAL: returns the maximum number of characters that can be used in a field name on this platform.
 java.lang.String getOutputProcedureToken()
           
 java.lang.String getProcedureArgumentString()
          Used for sp defs.
 java.lang.String getProcedureAsString()
           
 java.lang.String getProcedureBeginString()
           
 java.lang.String getProcedureCallHeader()
          Used for sp calls.
 java.lang.String getProcedureEndString()
           
 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)
          Used for sp calls.
protected  void initializePlatformOperators()
          Initialize any platform-specific operators
 boolean isSQLAnywhere()
           
 boolean isSybase()
           
 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.
 boolean requiresProcedureBrackets()
           
 boolean requiresProcedureCallBrackets()
          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 shouldPrintInputTokenAtStart()
           
 boolean shouldPrintOutputTokenAtStart()
           
 boolean shouldPrintOutputTokenBeforeType()
           
 boolean shouldPrintStoredProcedureArgumentNameInCall()
           
 boolean shouldPrintStoredProcedureVariablesAfterBeginString()
           
 boolean supportsDeleteOnCascade()
          SQL Anywhere does support cascade on delete, unlike Sybase.
 boolean supportsIdentity()
          INTERNAL: Indicates whether the platform supports identity.
 boolean supportsLocalTempTables()
           
 boolean supportsStoredFunctions()
           
 
Methods inherited from class org.eclipse.persistence.platform.database.SybasePlatform
appendByteArray, appendCalendar, appendDate, appendSybaseCalendar, appendSybaseTimestamp, appendTime, appendTimestamp, atan2Operator, executeStoredProcedure, extractOperator, getCreationInOutputProcedureToken, getJDBCType, getJdbcTypeName, getNativeTableInfo, getSelectForUpdateString, getTimestampQuery, getTypeStrings, initializeTypeStrings, maximumNumericValues, minimumNumericValues, modOperator, operatorOuterJoin, registerOutputParameter, requiresProcedureCallOuputToken, shouldPrintLockingClauseAfterWhereClause, shouldUseJDBCOuterJoinSyntax, singleArgumentSubstringOperator, supportsGlobalTempTables, trim2Operator, trimOperator, writeUpdateOriginalFromTempTableSql
 
Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
addBatch, addStructConverter, allowsSizeInProcedureArguments, appendBoolean, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildCallWithReturning, buildClassTypes, buildCreateIndex, buildCreateIndex, buildDropIndex, buildDropIndex, buildProcedureCallString, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBatchWriteWithOptimisticLocking, canBuildCallWithReturning, commitTransaction, computeMaxRowsForSQL, convertToDatabaseType, copyInto, createArray, createArray, createPlatformDefaultSequence, createStruct, createStruct, dontBindUpdateAllQueryUsingTempTables, executeBatch, freeTemporaryObject, getAssignmentString, getCastSizeForVarcharParameter, getClassTypes, getConnection, getConstraintDeletionString, getCreateTempTableSqlBodyForTable, getCreateTempTableSqlSuffix, getCreateViewString, getCursorCode, getCustomModifyValueForCall, getDefaultSequenceTableName, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getIdentifierQuoteCharacter, getIndexNamePrefix, getJDBCOuterJoinString, getJDBCType, getJDBCTypeForSetNull, getMaxBatchWritingSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getObjectFromResultSet, getPartitioningCallback, getPingSQL, getProcedureArgumentSetter, getProcedureCallTail, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getRefValue, getSelectForUpdateNoWaitString, getSelectForUpdateOfString, getSelectForUpdateWaitString, getSequenceCounterFieldName, getSequenceNameFieldName, getSequencePreallocationSize, getSequenceTableName, getStatementCacheSize, getStringBindingSize, getStructConverters, getTableCreationSuffix, getTransactionIsolation, getTypeConverters, getVPDClearIdentifierQuery, getVPDCreationFunctionString, getVPDCreationPolicyString, getVPDDeletionString, getVPDSetIdentifierQuery, hasPartitioningCallback, initialize, initializeConnectionData, isAlterSequenceObjectSupported, isCastRequired, isDynamicSQLRequiredForFunctions, isForUpdateCompatibleWithDistinct, isInformixOuterJoin, isLockTimeoutException, isNullAllowedInSelectClause, isXDBDocument, minimumTimeIncrement, prepareBatchStatement, printFieldNotNullClause, printFieldTypeSize, printFieldTypeSize, printFieldUnique, printFieldUnique, printSQLSelectStatement, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, requiresNamedPrimaryKeyConstraints, requiresTableInIndexDropDDL, requiresUniqueConstraintCreationOnTableCreate, retrieveFirstPrimaryKeyOrOne, rollbackTransaction, setCastSizeForVarcharParameter, setClassTypes, setCursorCode, setFieldTypes, setIsCastRequired, setMaxBatchWritingSize, setNullFromDatabaseField, setParameterValueInDatabaseCall, setPartitioningCallback, setPingSQL, setPrintInnerJoinInWhereClause, 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, shouldOptimizeDataConversion, shouldPrintAliasForUpdate, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintInnerJoinInWhereClause, shouldPrintOuterJoinInWhereClause, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsAutoConversionToNumericForArithmeticOperations, supportsCountDistinctWithMultipleFields, supportsForeignKeyConstraints, supportsIndexes, supportsIndividualTableLocking, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, supportsVPD, 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, addSequence, buildNativeCall, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, buildSelectQueryForSequenceObject, clone, convertObject, createConnectionCustomizer, getConversionManager, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultSequence, getDefaultSequenceToWrite, getEndDelimiter, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getUpdateSequenceQuery, hasDefaultSequence, initializeDefaultQueries, isAccess, isAttunity, isCloudscape, isDB2, isDBase, isDerby, isFirebird, isH2, isHSQL, isInformix, isMaxDB, isMySQL, isODBC, isOracle, isOracle9, isPointBase, isPostgreSQL, isSQLServer, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, supportsNativeSequenceNumbers, supportsSequenceObjects, toString, usesPlatformDefaultSequence
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SQLAnywherePlatform

public SQLAnywherePlatform()
Method Detail

buildFieldTypes

protected java.util.Hashtable buildFieldTypes()
Overrides:
buildFieldTypes in class SybasePlatform

buildSelectQueryForIdentity

public ValueReadQuery buildSelectQueryForIdentity()
INTERNAL: Build the identity query for native sequencing.

Overrides:
buildSelectQueryForIdentity in class SybasePlatform

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: SybasePlatform
INTERNAL:

Overrides:
getCreateTempTableSqlPrefix in class SybasePlatform

getInputProcedureToken

public java.lang.String getInputProcedureToken()
Used for stored procedure creation: Prefix for INPUT parameters. Not required on most platforms.

Overrides:
getInputProcedureToken in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

getInOutputProcedureToken

public java.lang.String getInOutputProcedureToken()
Overrides:
getInOutputProcedureToken in class SybasePlatform

getCreationOutputProcedureToken

public java.lang.String getCreationOutputProcedureToken()
Overrides:
getCreationOutputProcedureToken in class SybasePlatform

getOutputProcedureToken

public java.lang.String getOutputProcedureToken()
Overrides:
getOutputProcedureToken in class SybasePlatform

getMaxFieldNameSize

public int getMaxFieldNameSize()
Description copied from class: SybasePlatform
INTERNAL: returns the maximum number of characters that can be used in a field name on this platform.

Overrides:
getMaxFieldNameSize in class SybasePlatform

getProcedureArgumentString

public java.lang.String getProcedureArgumentString()
Used for sp defs.

Overrides:
getProcedureArgumentString in class SybasePlatform

getStoredProcedureParameterPrefix

public java.lang.String getStoredProcedureParameterPrefix()
Overrides:
getStoredProcedureParameterPrefix in class SybasePlatform

getStoredProcedureTerminationToken

public java.lang.String getStoredProcedureTerminationToken()
Description copied from class: SybasePlatform
INTERNAL: This method returns the delimiter between stored procedures in multiple stored procedure calls.

Overrides:
getStoredProcedureTerminationToken in class SybasePlatform

getProcedureAsString

public java.lang.String getProcedureAsString()
Overrides:
getProcedureAsString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

getProcedureBeginString

public java.lang.String getProcedureBeginString()
Overrides:
getProcedureBeginString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

getProcedureEndString

public java.lang.String getProcedureEndString()
Overrides:
getProcedureEndString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

getBatchBeginString

public java.lang.String getBatchBeginString()
Used for batch writing and sp defs.

Overrides:
getBatchBeginString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

getBatchEndString

public java.lang.String getBatchEndString()
Used for batch writing and sp defs.

Overrides:
getBatchEndString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

getBatchDelimiterString

public java.lang.String getBatchDelimiterString()
Used for batch writing and sp defs.

Overrides:
getBatchDelimiterString in class SybasePlatform

getProcedureCallHeader

public java.lang.String getProcedureCallHeader()
Used for sp calls.

Overrides:
getProcedureCallHeader in class SybasePlatform

getTempTableForTable

public org.eclipse.persistence.internal.helper.DatabaseTable getTempTableForTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
Used for sp calls.

Overrides:
getTempTableForTable in class SybasePlatform

initializePlatformOperators

protected void initializePlatformOperators()
Description copied from class: SybasePlatform
Initialize any platform-specific operators

Overrides:
initializePlatformOperators in class SybasePlatform

isSQLAnywhere

public boolean isSQLAnywhere()
Specified by:
isSQLAnywhere in interface org.eclipse.persistence.internal.databaseaccess.Platform
Overrides:
isSQLAnywhere in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform

isSybase

public boolean isSybase()
Specified by:
isSybase in interface org.eclipse.persistence.internal.databaseaccess.Platform
Overrides:
isSybase in class SybasePlatform

requiresProcedureBrackets

public boolean requiresProcedureBrackets()
Overrides:
requiresProcedureBrackets in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

requiresProcedureCallBrackets

public boolean requiresProcedureCallBrackets()
Description copied from class: SybasePlatform
USed for sp calls.

Overrides:
requiresProcedureCallBrackets in class SybasePlatform

requiresTypeNameToRegisterOutputParameter

public boolean requiresTypeNameToRegisterOutputParameter()
INTERNAL: Indicates whether the version of CallableStatement.registerOutputParameter method that takes type name should be used.

Overrides:
requiresTypeNameToRegisterOutputParameter in class SybasePlatform

printFieldIdentityClause

public void printFieldIdentityClause(java.io.Writer writer)
                              throws ValidationException
Description copied from class: SybasePlatform
Append the receiver's field 'identity' constraint clause to a writer.

Overrides:
printFieldIdentityClause in class SybasePlatform
Throws:
ValidationException

printFieldNullClause

public void printFieldNullClause(java.io.Writer writer)
                          throws ValidationException
Description copied from class: SybasePlatform
Append the receiver's field 'NULL' constraint clause to a writer.

Overrides:
printFieldNullClause in class SybasePlatform
Throws:
ValidationException

shouldPrintInputTokenAtStart

public boolean shouldPrintInputTokenAtStart()
Overrides:
shouldPrintInputTokenAtStart in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

shouldPrintInOutputTokenBeforeType

public boolean shouldPrintInOutputTokenBeforeType()
Overrides:
shouldPrintInOutputTokenBeforeType in class SybasePlatform

shouldPrintOutputTokenAtStart

public boolean shouldPrintOutputTokenAtStart()
Overrides:
shouldPrintOutputTokenAtStart in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

shouldPrintOutputTokenBeforeType

public boolean shouldPrintOutputTokenBeforeType()
Overrides:
shouldPrintOutputTokenBeforeType in class SybasePlatform

shouldPrintStoredProcedureArgumentNameInCall

public boolean shouldPrintStoredProcedureArgumentNameInCall()
Overrides:
shouldPrintStoredProcedureArgumentNameInCall in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

shouldPrintStoredProcedureVariablesAfterBeginString

public boolean shouldPrintStoredProcedureVariablesAfterBeginString()
Overrides:
shouldPrintStoredProcedureVariablesAfterBeginString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

supportsIdentity

public boolean supportsIdentity()
Description copied from class: SybasePlatform
INTERNAL: Indicates whether the platform supports identity. Sybase does through IDENTITY field types. This method is to be used *ONLY* by sequencing classes

Overrides:
supportsIdentity in class SybasePlatform

supportsLocalTempTables

public boolean supportsLocalTempTables()
Overrides:
supportsLocalTempTables in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

supportsStoredFunctions

public boolean supportsStoredFunctions()
Overrides:
supportsStoredFunctions in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform

supportsDeleteOnCascade

public boolean supportsDeleteOnCascade()
SQL Anywhere does support cascade on delete, unlike Sybase.

Overrides:
supportsDeleteOnCascade in class SybasePlatform

EclipseLink 2.4.2, build 'v20130514-5956486' API Reference