public static class _MySQLPlugIn.MySQLExpression
extends com.webobjects.jdbcadaptor.JDBCExpression
Modifier and Type | Class and Description |
---|---|
static class |
_MySQLPlugIn.MySQLExpression.JoinClauseDefinition
Helper class that stores a join definition and helps
MySQLExpression to assemble the correct join
clause. |
_externalQuoteChar, _inSelect, _jdbcInfo, _rtrimFunctionName
_aliasesByRelationshipPath, _bindings, _contextStack, _defaultDateFormatter, _entity, _joinClauseString, _listString, _NibbleToHex, _orderByString, _statement, _upperFunctionName, _useAliases, _valueListString, _whereClauseString, BindVariableAttributeKey, BindVariableColumnKey, BindVariableNameKey, BindVariablePlaceHolderKey, BindVariableValueKey
Constructor and Description |
---|
MySQLExpression(com.webobjects.eoaccess.EOEntity entity) |
Modifier and Type | Method and Description |
---|---|
void |
addJoinClause(String leftName,
String rightName,
int semantic)
Overriden to not call the super implementation.
|
String |
assembleJoinClause(String leftName,
String rightName,
int semantic)
This is called by super for each join.
|
String |
assembleSelectStatementWithAttributes(NSArray attributes,
boolean lock,
com.webobjects.eocontrol.EOQualifier qualifier,
NSArray fetchOrder,
String selectString,
String columnList,
String tableList,
String whereClause,
String joinClause,
String orderByClause,
String lockClause)
Overriding to
add LIMIT clause if _fetchLimit > 0
support MySQL JOIN syntax (similar syntax to what PostgreSQL PlugIn generates)
|
String |
externalNameQuoteCharacter()
Overridden because MySQL does not use the default quote character in
EOSQLExpression.externalNameQuoteCharacter() which is an empty
string.
|
String |
joinClauseString()
Overriden to contruct a valid SQL92 JOIN clause as opposed to the
Oracle-like SQL the superclass produces.
|
void |
joinExpression()
Override so that the joinClause can be constructed after super has
iterated though all joins and called our assembleJoinClause to create
our array of JoinClauseDefinitions.
|
void |
prepareSelectExpressionWithAttributes(NSArray<EOAttribute> attributes,
boolean lock,
com.webobjects.eocontrol.EOFetchSpecification fetchSpec)
Overriding super here so we can grab a fetch range or fetch limit if specified in the EOFetchSpecification.
|
char |
sqlEscapeChar()
http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html
|
addSelectListAttribute, allowsNullClauseForConstraint, appendItemToListString, appendItemToOrderByString, appendItemToValueListString, bindVariableDictionaryForAttribute, columnTypeStringForAttribute, formatValueForAttribute, jdbcInfo, lockClause, mustUseBindVariableForAttribute, setJDBCInfo, shouldUseBindVariableForAttribute, useBindVariables
_aliasForRelatedAttributeRelationshipPath, _aliasForRelationshipPath, _defaultDateFormatter, _entityForRelationshipPathOrigin, _flattenRelPathEntity, _listString, _orderByString, _rootEntityForExpression, _setEntity, _sqlStringForJoinSemanticMatchSemantic, _stringForDate, _truncatedString, _truncatedStringForData, _valueList, addBindVariableDictionary, addCreateClauseForAttribute, addInsertListAttribute, addOrderByAttributeOrdering, addUpdateListAttribute, aliasesByRelationshipPath, appendItemToListString, assembleDeleteStatementWithQualifier, assembleInsertStatementWithRow, assembleUpdateStatementWithRow, bindVariableDictionaries, entity, formatSQLString, formatStringValue, listString, orderByString, prepareConstraintStatementForRelationship, prepareDeleteExpressionForQualifier, prepareInsertExpressionWithRow, prepareUpdateExpressionWithRow, setStatement, setUseAliases, setUseBindVariables, setUseQuotedExternalNames, sqlPatternFromShellPattern, sqlPatternFromShellPatternWithEscapeCharacter, sqlStringForAttribute, sqlStringForAttributeNamed, sqlStringForAttributePath, sqlStringForCaseInsensitiveLike, sqlStringForConjoinedQualifiers, sqlStringForData, sqlStringForDisjoinedQualifiers, sqlStringForKeyComparisonQualifier, sqlStringForKeyValueQualifier, sqlStringForNegatedQualifier, sqlStringForNumber, sqlStringForQualifier, sqlStringForSchemaObjectName, sqlStringForSelector, sqlStringForString, sqlStringForValue, statement, tableListWithRootEntity, toString, useAliases, useQuotedExternalNames, valueList, whereClauseString
public char sqlEscapeChar()
sqlEscapeChar
in class com.webobjects.eoaccess.EOSQLExpression
EOSQLExpression.sqlEscapeChar()
public String externalNameQuoteCharacter()
com.webobjects.jdbcadaptor.MySQLExpression.enableIdentifierQuoting
to true.externalNameQuoteCharacter
in class com.webobjects.jdbcadaptor.JDBCExpression
public void prepareSelectExpressionWithAttributes(NSArray<EOAttribute> attributes, boolean lock, com.webobjects.eocontrol.EOFetchSpecification fetchSpec)
prepareSelectExpressionWithAttributes
in class com.webobjects.jdbcadaptor.JDBCExpression
JDBCExpression.prepareSelectExpressionWithAttributes(NSArray, boolean, EOFetchSpecification)
public String assembleSelectStatementWithAttributes(NSArray attributes, boolean lock, com.webobjects.eocontrol.EOQualifier qualifier, NSArray fetchOrder, String selectString, String columnList, String tableList, String whereClause, String joinClause, String orderByClause, String lockClause)
assembleSelectStatementWithAttributes
in class com.webobjects.eoaccess.EOSQLExpression
EOSQLExpression.assembleSelectStatementWithAttributes(NSArray, boolean, EOQualifier, NSArray, java.lang.String, String, String, String, String, String, String)
public String joinClauseString()
joinClauseString
in class com.webobjects.eoaccess.EOSQLExpression
public void joinExpression()
joinExpression
in class com.webobjects.eoaccess.EOSQLExpression
EOSQLExpression.joinExpression()
public String assembleJoinClause(String leftName, String rightName, int semantic)
_MySQLPlugIn.MySQLExpression.JoinClauseDefinition
into
the _alreadyJoined
array of _MySQLPlugIn.MySQLExpression.JoinClauseDefinition
objects.
The join clause itself is assembled by joinClauseString()
.assembleJoinClause
in class com.webobjects.eoaccess.EOSQLExpression
leftName
- the table name on the left side of the clauserightName
- the table name on the right side of the clausesemantic
- the join semanticpublic void addJoinClause(String leftName, String rightName, int semantic)
addJoinClause
in class com.webobjects.eoaccess.EOSQLExpression
leftName
- the table name on the left side of the clauserightName
- the table name on the right side of the clausesemantic
- the join semantic
kieran copied from PostgresqlExpressionCopyright © 2002 – 2020 Project Wonder.