|
EclipseLink 1.1.0_ 1.1.0.r3634 API Reference | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
org.eclipse.persistence.platform.database.DatabasePlatform
org.eclipse.persistence.platform.database.MySQLPlatform
public class MySQLPlatform
Purpose: Provides MySQL specific behavior.
Responsibilities:
| Field Summary |
|---|
| Fields inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform |
|---|
classTypes, cursorCode, DEFAULT_MAX_BATCH_WRITING_SIZE, DEFAULT_PARAMETERIZED_MAX_BATCH_WRITING_SIZE, fieldTypes, maxBatchWritingSize, pingSQL, shouldBindAllParameters, shouldCacheAllStatements, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldOptimizeDataConversion, shouldTrimStrings, statementCacheSize, stringBindingSize, structConverters, supportsAutoCommit, transactionIsolation, typeConverters, useRownumFiltering, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesStreamsForBinding, usesStringBinding |
| Fields inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform |
|---|
conversionManager, dataTypesConvertedFromAClass, dataTypesConvertedToAClass, defaultSequence, platformOperators, sequences, tableQualifier, timestampQuery |
| Constructor Summary | |
|---|---|
MySQLPlatform()
|
|
| Method Summary | |
|---|---|
protected void |
appendCalendar(java.util.Calendar calendar,
java.io.Writer writer)
Appends an MySQL specific Timestamp, if usesNativeSQL is true otherwise use the ODBC format. |
protected void |
appendDate(java.sql.Date date,
java.io.Writer writer)
Appends an MySQL specific date if usesNativeSQL is true otherwise use the ODBC format. |
protected void |
appendTime(java.sql.Time time,
java.io.Writer writer)
Appends an MySQL specific time if usesNativeSQL is true otherwise use the ODBC format. |
protected void |
appendTimestamp(java.sql.Timestamp timestamp,
java.io.Writer writer)
Appends an MySQL specific Timestamp, if usesNativeSQL is true otherwise use the ODBC format. |
protected java.util.Hashtable |
buildFieldTypes()
Return the mapping of class types to database types for the schema framework. |
java.lang.String |
buildProcedureCallString(StoredProcedureCall call,
org.eclipse.persistence.internal.sessions.AbstractSession session)
Return the proc syntax for this platform. |
ValueReadQuery |
buildSelectQueryForIdentity()
INTERNAL: Build the identity query for native sequencing. |
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. |
java.lang.String |
getConstraintDeletionString()
INTERNAL: Used for constraint deletion. |
protected java.lang.String |
getCreateTempTableSqlBodyForTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL: |
protected java.lang.String |
getCreateTempTableSqlPrefix()
INTERNAL: MySQL temp table syntax, used for update-all, delete-all queries. |
java.lang.String |
getFunctionCallHeader()
Used for stored function calls. |
java.lang.String |
getIdentifierQuoteCharacter()
INTERNAL: MySQL uses ' to allow identifier to have spaces. |
java.lang.String |
getInOutputProcedureToken()
INTERNAL: MySQL uses the INOUT keyword for this. |
java.lang.String |
getProcedureAsString()
MySQL does not use the AS token. |
java.lang.String |
getProcedureBeginString()
INTERNAL: MySQL requires BEGIN. |
java.lang.String |
getProcedureCallHeader()
INTERNAL: Used for stored procedure calls. |
java.lang.String |
getProcedureCallTail()
Used for sp calls. |
java.lang.String |
getProcedureEndString()
INTERNAL: MySQL requires END. |
java.lang.String |
getSelectForUpdateString()
INTERNAL: Used for pessimistic locking. |
ValueReadQuery |
getTimestampQuery()
INTERNAL: This method returns the query to select the timestamp from the server for MySQL. |
protected void |
initializePlatformOperators()
Initialize any platform-specific operators. |
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(java.io.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)
|
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 |
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. call MyStoredProc(?) |
boolean |
shouldUseJDBCOuterJoinSyntax()
INTERNAL: JDBC defines an outer join syntax which many drivers do not support. |
boolean |
supportsGlobalTempTables()
INTERNAL: MySQL supports temp tables for update-all, delete-all queries. |
boolean |
supportsIdentity()
INTERNAL: Indicates whether the platform supports identity. |
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(java.io.Writer writer,
org.eclipse.persistence.internal.helper.DatabaseTable table,
org.eclipse.persistence.internal.helper.DatabaseTable targetTable,
java.util.Collection pkFields,
java.util.Collection targetPkFields)
INTERNAL: Writes MySQL specific SQL for accessing temp tables for delete-all queries. |
void |
writeUpdateOriginalFromTempTableSql(java.io.Writer writer,
org.eclipse.persistence.internal.helper.DatabaseTable table,
java.util.Collection pkFields,
java.util.Collection assignedFields)
INTERNAL: Writes MySQL specific SQL for accessing temp tables for update-all queries. |
| Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform |
|---|
addBatch, addStructConverter, allowsSizeInProcedureArguments, appendBoolean, appendByteArray, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, autoCommit, beginTransaction, buildCallWithReturning, buildClassTypes, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, buildSelectQueryForSequenceObject, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBuildCallWithReturning, commitTransaction, convertToDatabaseType, copyInto, createArray, createArray, createPlatformDefaultSequence, createStruct, createStruct, dontBindUpdateAllQueryUsingTempTables, executeBatch, executeStoredProcedure, getAssignmentString, getBatchBeginString, getBatchDelimiterString, getBatchEndString, getClassTypes, getConnection, getCreateTempTableSqlSuffix, getCreateViewString, getCreationInOutputProcedureToken, getCreationOutputProcedureToken, getCursorCode, getCustomModifyValueForCall, getFieldTypeDefinition, getFieldTypes, getInputProcedureToken, getJDBCOuterJoinString, getJDBCType, getJDBCType, getJdbcTypeName, getMaxBatchWritingSize, getMaxFieldNameSize, getMaxForeignKeyNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getObjectFromResultSet, getOutputProcedureToken, getPingSQL, getProcedureArgumentSetter, getProcedureArgumentString, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getRefValue, getSelectForUpdateNoWaitString, getSelectForUpdateOfString, getSelectForUpdateWaitString, getSequenceCounterFieldName, getSequenceNameFieldName, getSequencePreallocationSize, getSequenceTableName, getStatementCacheSize, getStoredProcedureParameterPrefix, getStoredProcedureTerminationToken, getStringBindingSize, getStructConverters, getTempTableForTable, getTransactionIsolation, getTypeConverters, isAlterSequenceObjectSupported, isInformixOuterJoin, isLockTimeoutException, isNullAllowedInSelectClause, isXDBDocument, maximumNumericValues, minimumNumericValues, prepareBatchStatement, printFieldNotNullClause, printFieldNullClause, printFieldTypeSize, printFieldTypeSize, printFieldUnique, printFieldUnique, printValuelist, printValuelist, processResultSet, registerOutputParameter, requiresNamedPrimaryKeyConstraints, requiresProcedureBrackets, requiresProcedureCallBrackets, requiresProcedureCallOuputToken, requiresTypeNameToRegisterOutputParameter, rollbackTransaction, setClassTypes, setCursorCode, setFieldTypes, setMaxBatchWritingSize, setParameterValueInDatabaseCall, setPingSQL, setSequenceCounterFieldName, setSequenceNameFieldName, setSequenceTableName, setShouldBindAllParameters, setShouldCacheAllStatements, setShouldForceFieldNamesToUpperCase, setShouldIgnoreCaseOnFieldComparisons, setShouldOptimizeDataConversion, setShouldTrimStrings, setShouldUseRownumFiltering, setStatementCacheSize, setStringBindingSize, setSupportsAutoCommit, setTransactionIsolation, setUsesBatchWriting, setUsesByteArrayBinding, setUsesJDBCBatchWriting, setUsesNativeBatchWriting, setUsesNativeSQL, setUsesStreamsForBinding, setUsesStringBinding, shouldBindAllParameters, shouldBindLiterals, shouldCacheAllStatements, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldIgnoreException, shouldNativeSequenceUseTransaction, shouldOptimizeDataConversion, shouldPrintAliasForUpdate, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintInOutputTokenBeforeType, shouldPrintInputTokenAtStart, shouldPrintLockingClauseAfterWhereClause, shouldPrintOuterJoinInWhereClause, shouldPrintOutputTokenBeforeType, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseRownumFiltering, supportsAutoCommit, supportsForeignKeyConstraints, supportsLocalTempTables, supportsNativeSequenceNumbers, supportsPrimaryKeyConstraint, supportsSequenceObjects, supportsTempTables, supportsUniqueKeyConstraints, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, wasFailureCommunicationBased, writeAutoAssignmentSetClause, writeAutoJoinWhereClause, writeCleanUpTempTableSql, writeCreateTempTableSql, writeFields, writeFieldsAutoClause, writeFieldsList, writeInsertIntoTableSql, writeJoinWhereClause, writeLOB, writeParameterMarker |
| Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform |
|---|
addOperator, addSequence, clone, convertObject, createConnectionCustomizer, createSequences, getConversionManager, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultSequence, getDefaultSequenceToWrite, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequences, getSequencesToWrite, getTableQualifier, getTimestampFromServer, getUpdateSequenceQuery, hasDefaultSequence, isAccess, isAttunity, isCloudscape, isDB2, isDBase, isDerby, isHSQL, isInformix, isODBC, isOracle, isOracle9, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSybase, isTimesTen, isTimesTen7, removeAllSequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultSequence, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, toString, usesPlatformDefaultSequence |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public MySQLPlatform()
| Method Detail |
|---|
protected void appendDate(java.sql.Date date,
java.io.Writer writer)
throws java.io.IOException
appendDate in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformjava.io.IOException
protected void appendTime(java.sql.Time time,
java.io.Writer writer)
throws java.io.IOException
appendTime in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformjava.io.IOException
protected void appendTimestamp(java.sql.Timestamp timestamp,
java.io.Writer writer)
throws java.io.IOException
appendTimestamp in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformjava.io.IOException
protected void appendCalendar(java.util.Calendar calendar,
java.io.Writer writer)
throws java.io.IOException
appendCalendar in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformjava.io.IOExceptionprotected java.util.Hashtable buildFieldTypes()
buildFieldTypes in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic ValueReadQuery buildSelectQueryForIdentity()
buildSelectQueryForIdentity in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public java.lang.String buildProcedureCallString(StoredProcedureCall call,
org.eclipse.persistence.internal.sessions.AbstractSession session)
buildProcedureCallString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public int computeMaxRowsForSQL(int firstResultIndex,
int maxResults)
computeMaxRowsForSQL in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformreadQuery - firstResultIndex - maxResults - MySQLPlatformpublic java.lang.String getConstraintDeletionString()
getConstraintDeletionString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic java.lang.String getFunctionCallHeader()
getFunctionCallHeader in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic java.lang.String getProcedureCallTail()
getProcedureCallTail in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic java.lang.String getSelectForUpdateString()
getSelectForUpdateString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic ValueReadQuery getTimestampQuery()
getTimestampQuery in interface org.eclipse.persistence.internal.databaseaccess.PlatformgetTimestampQuery in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatformpublic boolean isMySQL()
isMySQL in interface org.eclipse.persistence.internal.databaseaccess.PlatformisMySQL in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatformprotected void initializePlatformOperators()
initializePlatformOperators in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatformprotected 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(java.io.Writer writer)
throws ValidationException
printFieldIdentityClause in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformValidationExceptionpublic boolean shouldUseJDBCOuterJoinSyntax()
shouldUseJDBCOuterJoinSyntax in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic boolean supportsIdentity()
supportsIdentity in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic boolean supportsGlobalTempTables()
supportsGlobalTempTables in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic boolean supportsStoredFunctions()
supportsStoredFunctions in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformprotected java.lang.String getCreateTempTableSqlPrefix()
getCreateTempTableSqlPrefix in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformprotected java.lang.String getCreateTempTableSqlBodyForTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
getCreateTempTableSqlBodyForTable in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic boolean shouldAlwaysUseTempStorageForModifyAll()
shouldAlwaysUseTempStorageForModifyAll in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic boolean shouldPrintStoredProcedureArgumentNameInCall()
shouldPrintStoredProcedureArgumentNameInCall in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic java.lang.String getIdentifierQuoteCharacter()
getIdentifierQuoteCharacter in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic java.lang.String getInOutputProcedureToken()
getInOutputProcedureToken in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic java.lang.String getProcedureAsString()
getProcedureAsString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic boolean shouldPrintOutputTokenAtStart()
shouldPrintOutputTokenAtStart in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic java.lang.String getProcedureCallHeader()
getProcedureCallHeader in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic java.lang.String getProcedureBeginString()
getProcedureBeginString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformpublic java.lang.String getProcedureEndString()
getProcedureEndString in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
public void writeUpdateOriginalFromTempTableSql(java.io.Writer writer,
org.eclipse.persistence.internal.helper.DatabaseTable table,
java.util.Collection pkFields,
java.util.Collection assignedFields)
throws java.io.IOException
writeUpdateOriginalFromTempTableSql in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformjava.io.IOException
public void writeDeleteFromTargetTableUsingTempTableSql(java.io.Writer writer,
org.eclipse.persistence.internal.helper.DatabaseTable table,
org.eclipse.persistence.internal.helper.DatabaseTable targetTable,
java.util.Collection pkFields,
java.util.Collection targetPkFields)
throws java.io.IOException
writeDeleteFromTargetTableUsingTempTableSql in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatformjava.io.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)
printSQLSelectStatement in class org.eclipse.persistence.internal.databaseaccess.DatabasePlatform
|
EclipseLink 1.1.0_ 1.1.0.r3634 API Reference | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||