public class MySQLPlatform extends DatabasePlatform
Purpose: Provides MySQL specific behavior.
Responsibilities:
DEFAULT_VARCHAR_SIZE
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, shouldCacheAllStatements, shouldCreateIndicesOnForeignKeys, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldOptimizeDataConversion, shouldTrimStrings, statementCacheSize, storedProcedureTerminationToken, stringBindingSize, structConverters, supportsAutoCommit, tableCreationSuffix, transactionIsolation, typeConverters, useJDBCStoredProcedureSyntax, useNationalCharacterVarying, useRownumFiltering, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesStreamsForBinding, usesStringBinding
conversionManager, dataTypesConvertedFromAClass, dataTypesConvertedToAClass, defaultNativeSequenceToTable, defaultSeqenceAtNextValue, defaultSequence, endDelimiter, platformOperators, sequences, sequencesLock, startDelimiter, tableQualifier, timestampQuery
Constructor and Description |
---|
MySQLPlatform() |
Modifier and Type | Method and Description |
---|---|
protected void |
appendCalendar(Calendar calendar,
Writer writer)
Appends an MySQL specific Timestamp, if usesNativeSQL is true otherwise use the ODBC format.
|
protected void |
appendDate(Date date,
Writer writer)
Appends an MySQL specific date if usesNativeSQL is true otherwise use the ODBC format.
|
protected void |
appendTime(Time time,
Writer writer)
Appends an MySQL specific time if usesNativeSQL is true otherwise use the ODBC format.
|
protected void |
appendTimestamp(Timestamp timestamp,
Writer writer)
Appends an MySQL specific Timestamp, if usesNativeSQL is true otherwise use the ODBC format.
|
protected Hashtable |
buildFieldTypes()
Return the mapping of class types to database types for the schema framework.
|
String |
buildProcedureCallString(StoredProcedureCall call,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.sessions.AbstractRecord row)
Return the stored procedure syntax for this platform.
|
ValueReadQuery |
buildSelectQueryForIdentity()
INTERNAL:
Build the identity query for native sequencing.
|
boolean |
canBatchWriteWithOptimisticLocking(org.eclipse.persistence.internal.databaseaccess.DatabaseCall call)
INTERNAL:
Supports Batch Writing with Optimistic Locking.
|
boolean |
checkTableExists(org.eclipse.persistence.internal.sessions.DatabaseSessionImpl session,
TableDefinition table,
boolean suppressLogging)
INTERNAL:
Executes and evaluates query to check whether given table exists.
|
int |
computeMaxRowsForSQL(int firstResultIndex,
int maxResults)
INTERNAL:
Use the JDBC maxResults and firstResultIndex setting to compute a value to use when
limiting the results of a query in SQL.
|
protected ExpressionOperator |
currentDateOperator()
INTERNAL:
Create the current date operator for this platform.
|
protected ExpressionOperator |
dateToStringOperator()
INTERNAL:
Build MySQL equivalent to TO_CHAR.
|
String |
getConstraintDeletionString()
INTERNAL:
Used for constraint deletion.
|
protected String |
getCreateTempTableSqlPrefix()
INTERNAL:
MySQL temp table syntax, used for update-all, delete-all queries.
|
String |
getDropDatabaseSchemaString(String schema)
Return the drop schema definition.
|
String |
getFunctionCallHeader()
Used for stored function calls.
|
String |
getInOutputProcedureToken()
INTERNAL:
MySQL uses the INOUT keyword for this.
|
int |
getJDBCType(Class javaType)
Return the JDBC type for the Java type.
|
String |
getProcedureAsString()
MySQL does not use the AS token.
|
String |
getProcedureBeginString()
INTERNAL:
MySQL requires BEGIN.
|
String |
getProcedureCallHeader()
INTERNAL:
Used for stored procedure calls.
|
String |
getProcedureCallTail()
Used for sp calls.
|
String |
getProcedureEndString()
INTERNAL:
MySQL requires END.
|
String |
getSelectForUpdateString()
INTERNAL:
Used for pessimistic locking.
|
protected DataReadQuery |
getTableExistsQuery(TableDefinition table)
INTERNAL:
Returns query to check whether given table exists.
|
ValueReadQuery |
getTimestampQuery()
INTERNAL:
This method returns the query to select the timestamp
from the server for MySQL.
|
String |
getUniqueConstraintDeletionString()
INTERNAL:
Used for unique constraint deletion.
|
void |
initializeConnectionData(Connection connection)
INTERNAL:
Allow initialization from the connection.
|
protected void |
initializePlatformOperators()
Initialize any platform-specific operators.
|
boolean |
isForUpdateCompatibleWithDistinct()
INTERNAL:
Indicates whether SELECT DISTINCT ...
|
boolean |
isFractionalTimeSupported() |
boolean |
isMySQL()
Answers whether platform is MySQL.
|
protected ExpressionOperator |
leftTrim2()
INTERNAL:
Build MySQL equivalent to LTRIM(string_exp, character).
|
protected ExpressionOperator |
logOperator()
INTERNAL:
Create the 10 based log operator for this platform.
|
void |
printFieldIdentityClause(Writer writer)
INTERNAL:
Append the receiver's field 'identity' constraint clause to a writer.
|
void |
printSQLSelectStatement(org.eclipse.persistence.internal.databaseaccess.DatabaseCall call,
org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter printer,
org.eclipse.persistence.internal.expressions.SQLSelectStatement statement)
INTERNAL:
Print the SQL representation of the statement on a stream, storing the fields
in the DatabaseCall.
|
void |
printStoredFunctionReturnKeyWord(Writer writer)
INTERNAL:
Prints return keyword for StoredFunctionDefinition:
CREATE FUNCTION StoredFunction_In (P_IN BIGINT)
RETURN BIGINT
The method was introduced because MySQL requires "RETURNS" instead:
CREATE FUNCTION StoredFunction_In (P_IN BIGINT)
RETURNS BIGINT
|
boolean |
requiresProcedureBrackets()
Used for stored procedure creation: MySQL platforms need brackets around arguments declaration even if no arguments exist.
|
boolean |
requiresTableInIndexDropDDL()
INTERNAL:
Return if this database requires the table name when dropping an index.
|
protected ExpressionOperator |
rightTrim2()
INTERNAL:
Build MySQL equivalent to RTRIM(string_exp, character).
|
boolean |
shouldAlwaysUseTempStorageForModifyAll()
INTERNAL:
MySQL supports temp tables for update-all, delete-all queries.
|
boolean |
shouldPrintForUpdateClause()
INTERNAL:
MySQL FOR UPDATE clause has to be the last
|
boolean |
shouldPrintOutputTokenAtStart()
INTERNAL:
MySQL requires the direction at the start of the argument.
|
boolean |
shouldPrintStoredProcedureArgumentNameInCall()
INTERNAL:
MySQL stored procedure calls do not require the argument name be printed in the call string
e.g.
|
boolean |
shouldUseJDBCOuterJoinSyntax()
INTERNAL:
JDBC defines an outer join syntax which many drivers do not support.
|
boolean |
supportsAutoConversionToNumericForArithmeticOperations()
Some db allow VARCHAR db field to be used in arithmetic operations automatically converting them to numeric:
UPDATE OL_PHONE SET PHONE_ORDER_VARCHAR = (PHONE_ORDER_VARCHAR + 1) WHERE ...
|
boolean |
supportsCountDistinctWithMultipleFields()
INTERNAL:
Indicates whether the platform supports the count distinct function with multiple fields.
|
boolean |
supportsGlobalTempTables()
INTERNAL:
MySQL supports temp tables for update-all, delete-all queries.
|
boolean |
supportsIdentity()
INTERNAL:
Indicates whether the platform supports identity.
|
boolean |
supportsIndividualTableLocking()
INTERNAL:
Indicates whether locking clause could be selectively applied only to some tables in a ReadQuery.
|
boolean |
supportsStoredFunctions() |
protected ExpressionOperator |
toCharOperator()
INTERNAL:
Build MySQL equivalent to TO_CHAR.
|
protected ExpressionOperator |
toDateOperator()
INTERNAL:
Build MySQL equivalent to TO_DATE.
|
protected ExpressionOperator |
toNumberOperator()
INTERNAL:
Build MySQL equivalent to TO_NUMBER.
|
void |
writeDeleteFromTargetTableUsingTempTableSql(Writer writer,
org.eclipse.persistence.internal.helper.DatabaseTable table,
org.eclipse.persistence.internal.helper.DatabaseTable targetTable,
Collection pkFields,
Collection targetPkFields,
org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform platform)
INTERNAL:
Writes MySQL specific SQL for accessing temp tables for delete-all queries.
|
void |
writeUpdateOriginalFromTempTableSql(Writer writer,
org.eclipse.persistence.internal.helper.DatabaseTable table,
Collection pkFields,
Collection assignedFields)
INTERNAL:
Writes MySQL specific SQL for accessing temp tables for update-all queries.
|
addBatch, addStructConverter, allowsSizeInProcedureArguments, appendBoolean, appendByteArray, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildCallWithReturning, buildClassTypes, buildCreateIndex, buildCreateIndex, buildDropIndex, buildDropIndex, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBuildCallWithReturning, commitTransaction, convertToDatabaseType, copyInto, createArray, createArray, createPlatformDefaultSequence, createStruct, createStruct, dontBindUpdateAllQueryUsingTempTables, executeBatch, executeStoredProcedure, freeTemporaryObject, getAssignmentString, getBatchBeginString, getBatchDelimiterString, getBatchEndString, getBatchRowCountAssignString, getBatchRowCountDeclareString, getBatchRowCountReturnString, getBatchWritingMechanism, getCastSizeForVarcharParameter, getClassTypes, getConnection, getConnectionUserName, getCreateDatabaseSchemaString, getCreateTempTableSqlBodyForTable, getCreateTempTableSqlSuffix, getCreateViewString, getCreationInOutputProcedureToken, getCreationOutputProcedureToken, getCursorCode, getCustomModifyValueForCall, getDefaultSequenceTableName, getDriverSupportsNVarChar, getDropCascadeString, getFieldTypeDefinition, getFieldTypes, getIndexNamePrefix, getInputProcedureToken, getJDBCOuterJoinString, getJDBCType, getJDBCTypeForSetNull, getJdbcTypeName, getMaxBatchWritingSize, getMaxFieldNameSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getObjectFromResultSet, getOutputProcedureToken, getParameterValueFromDatabaseCall, getParameterValueFromDatabaseCall, getPartitioningCallback, getPingSQL, getProcedureArgument, getProcedureArgumentString, getProcedureOptionList, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getRefValue, getSelectForUpdateNoWaitString, getSelectForUpdateOfString, getSelectForUpdateWaitString, getSequenceCounterFieldName, getSequenceNameFieldName, getSequencePreallocationSize, getSequenceTableName, getStatementCacheSize, getStoredProcedureParameterPrefix, getStoredProcedureTerminationToken, getStringBindingSize, getStructConverters, getTableCreationSuffix, getTempTableForTable, getTransactionIsolation, getTypeConverters, getUseNationalCharacterVaryingTypeForString, getVPDClearIdentifierQuery, getVPDCreationFunctionString, getVPDCreationPolicyString, getVPDDeletionString, getVPDSetIdentifierQuery, hasPartitioningCallback, initialize, isAlterSequenceObjectSupported, isCastRequired, isDynamicSQLRequiredForFunctions, isInformixOuterJoin, isJDBCExecuteCompliant, isLobCompatibleWithDistinct, isLockTimeoutException, isNullAllowedInSelectClause, isOutputAllowWithResultSet, isRowCountOutputParameterRequired, isXDBDocument, maximumNumericValues, minimumNumericValues, minimumTimeIncrement, prepareBatchStatement, printFieldNotNullClause, printFieldNullClause, printFieldTypeSize, printFieldTypeSize, printFieldUnique, printFieldUnique, printValuelist, printValuelist, registerOutputParameter, registerOutputParameter, registerOutputParameter, registerOutputParameter, requiresNamedPrimaryKeyConstraints, requiresProcedureCallBrackets, requiresProcedureCallOuputToken, requiresTypeNameToRegisterOutputParameter, 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, setShouldCacheAllStatements, setShouldCreateIndicesOnForeignKeys, setShouldForceBindAllParameters, setShouldForceFieldNamesToUpperCase, setShouldIgnoreCaseOnFieldComparisons, setShouldOptimizeDataConversion, setShouldTrimStrings, setShouldUseRownumFiltering, setStatementCacheSize, setStoredProcedureTerminationToken, setStringBindingSize, setSupportsAutoCommit, setTableCreationSuffix, setTransactionIsolation, setUseJDBCStoredProcedureSyntax, setUseNationalCharacterVaryingTypeForString, setUsesBatchWriting, setUsesByteArrayBinding, setUsesJDBCBatchWriting, setUsesNativeBatchWriting, setUsesNativeSQL, setUsesStreamsForBinding, setUsesStringBinding, shouldBindAllParameters, shouldBindLiterals, shouldCacheAllStatements, shouldCreateIndicesForPrimaryKeys, shouldCreateIndicesOnForeignKeys, shouldCreateIndicesOnUniqueKeys, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldIgnoreException, shouldOptimizeDataConversion, shouldPrintAliasForUpdate, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintInnerJoinInWhereClause, shouldPrintInOutputTokenBeforeType, shouldPrintInputTokenAtStart, shouldPrintLockingClauseAfterWhereClause, shouldPrintOuterJoinInWhereClause, shouldPrintOutputTokenBeforeType, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseGetSetNString, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsConnectionUserName, supportsDeleteOnCascade, supportsForeignKeyConstraints, supportsIndexes, supportsLocalTempTables, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, supportsVPD, supportsWaitForUpdate, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, wasFailureCommunicationBased, writeAddColumnClause, writeAutoAssignmentSetClause, writeAutoJoinWhereClause, writeCleanUpTempTableSql, writeCreateTempTableSql, writeFields, writeFieldsAutoClause, writeFieldsList, writeInsertIntoTableSql, writeJoinWhereClause, writeLOB, writeParameterMarker, writeTableCreationSuffix
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, isODBC, isOracle, isOracle12, isOracle9, isPervasive, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSybase, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeIdentitySequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultNativeSequenceToTable, setDefaultSeqenceAtNextValue, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, supportsNativeSequenceNumbers, supportsSequenceObjects, toString, usesPlatformDefaultSequence
public void initializeConnectionData(Connection connection) throws SQLException
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
initializeConnectionData
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
SQLException
public boolean isFractionalTimeSupported()
protected void appendDate(Date date, Writer writer) throws IOException
appendDate
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
IOException
protected void appendTime(Time time, Writer writer) throws IOException
appendTime
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
IOException
protected void appendTimestamp(Timestamp timestamp, Writer writer) throws IOException
appendTimestamp
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
IOException
protected void appendCalendar(Calendar calendar, Writer writer) throws IOException
appendCalendar
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
IOException
protected Hashtable buildFieldTypes()
buildFieldTypes
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public int getJDBCType(Class javaType)
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
getJDBCType
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public ValueReadQuery buildSelectQueryForIdentity()
buildSelectQueryForIdentity
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
public String buildProcedureCallString(StoredProcedureCall call, org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.sessions.AbstractRecord row)
buildProcedureCallString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public int computeMaxRowsForSQL(int firstResultIndex, int maxResults)
computeMaxRowsForSQL
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
firstResultIndex
- maxResults
- MySQLPlatform
public boolean canBatchWriteWithOptimisticLocking(org.eclipse.persistence.internal.databaseaccess.DatabaseCall call)
canBatchWriteWithOptimisticLocking
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getConstraintDeletionString()
getConstraintDeletionString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getUniqueConstraintDeletionString()
getUniqueConstraintDeletionString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getFunctionCallHeader()
getFunctionCallHeader
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getProcedureCallTail()
getProcedureCallTail
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getSelectForUpdateString()
getSelectForUpdateString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean isForUpdateCompatibleWithDistinct()
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
isForUpdateCompatibleWithDistinct
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
public boolean isMySQL()
isMySQL
in interface org.eclipse.persistence.internal.databaseaccess.Platform
isMySQL
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
protected void initializePlatformOperators()
initializePlatformOperators
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
protected ExpressionOperator logOperator()
protected ExpressionOperator toNumberOperator()
protected ExpressionOperator toDateOperator()
protected ExpressionOperator toCharOperator()
protected ExpressionOperator dateToStringOperator()
protected ExpressionOperator leftTrim2()
protected ExpressionOperator rightTrim2()
protected ExpressionOperator currentDateOperator()
public void printFieldIdentityClause(Writer writer) throws ValidationException
printFieldIdentityClause
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
ValidationException
public boolean shouldUseJDBCOuterJoinSyntax()
shouldUseJDBCOuterJoinSyntax
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean supportsIdentity()
supportsIdentity
in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
public boolean supportsCountDistinctWithMultipleFields()
supportsCountDistinctWithMultipleFields
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean requiresTableInIndexDropDDL()
requiresTableInIndexDropDDL
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean supportsGlobalTempTables()
supportsGlobalTempTables
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean supportsIndividualTableLocking()
supportsIndividualTableLocking
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean supportsStoredFunctions()
supportsStoredFunctions
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean supportsAutoConversionToNumericForArithmeticOperations()
supportsAutoConversionToNumericForArithmeticOperations
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
protected String getCreateTempTableSqlPrefix()
getCreateTempTableSqlPrefix
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getDropDatabaseSchemaString(String schema)
getDropDatabaseSchemaString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean shouldAlwaysUseTempStorageForModifyAll()
shouldAlwaysUseTempStorageForModifyAll
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean shouldPrintStoredProcedureArgumentNameInCall()
shouldPrintStoredProcedureArgumentNameInCall
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean shouldPrintForUpdateClause()
shouldPrintForUpdateClause
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getInOutputProcedureToken()
getInOutputProcedureToken
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getProcedureAsString()
getProcedureAsString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean shouldPrintOutputTokenAtStart()
shouldPrintOutputTokenAtStart
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getProcedureCallHeader()
getProcedureCallHeader
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getProcedureBeginString()
getProcedureBeginString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public String getProcedureEndString()
getProcedureEndString
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public void writeUpdateOriginalFromTempTableSql(Writer writer, org.eclipse.persistence.internal.helper.DatabaseTable table, Collection pkFields, Collection assignedFields) throws IOException
writeUpdateOriginalFromTempTableSql
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
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.IOException
public void writeDeleteFromTargetTableUsingTempTableSql(Writer writer, org.eclipse.persistence.internal.helper.DatabaseTable table, org.eclipse.persistence.internal.helper.DatabaseTable targetTable, Collection pkFields, Collection targetPkFields, org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform platform) throws IOException
writeDeleteFromTargetTableUsingTempTableSql
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
writer
- for writing the sqltable
- is original table for which temp table is created.targetTable
- is a table from which to delete.pkFields
- primary key fields for the original table.targetPkFields
- primary key fields for the target table.IOException
public void printSQLSelectStatement(org.eclipse.persistence.internal.databaseaccess.DatabaseCall call, org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter printer, org.eclipse.persistence.internal.expressions.SQLSelectStatement statement)
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
printSQLSelectStatement
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public boolean requiresProcedureBrackets()
requiresProcedureBrackets
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public void printStoredFunctionReturnKeyWord(Writer writer) throws IOException
printStoredFunctionReturnKeyWord
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
IOException
protected DataReadQuery getTableExistsQuery(TableDefinition table)
getTableExistsQuery
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
table
- database table meta-datapublic boolean checkTableExists(org.eclipse.persistence.internal.sessions.DatabaseSessionImpl session, TableDefinition table, boolean suppressLogging)
checkTableExists
in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
session
- current database sessiontable
- database table meta-datasuppressLogging
- whether to suppress logging during query executiontrue
if given table exists or false
otherwiseCopyright © 2007–2021 Eclipse.org - EclipseLink Project. All rights reserved.