public static class _MySQLPlugIn.MySQLExpression extends 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. |
EOSQLExpression.SQLValue
_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(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,
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,
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 MySQLExpression(EOEntity entity)
public char sqlEscapeChar()
sqlEscapeChar
in class EOSQLExpression
EOSQLExpression.sqlEscapeChar()
public String externalNameQuoteCharacter()
com.webobjects.jdbcadaptor.MySQLExpression.enableIdentifierQuoting
to true.externalNameQuoteCharacter
in class JDBCExpression
public void prepareSelectExpressionWithAttributes(NSArray<EOAttribute> attributes, boolean lock, EOFetchSpecification fetchSpec)
public String assembleSelectStatementWithAttributes(NSArray attributes, boolean lock, EOQualifier qualifier, NSArray fetchOrder, String selectString, String columnList, String tableList, String whereClause, String joinClause, String orderByClause, String lockClause)
public String joinClauseString()
joinClauseString
in class EOSQLExpression
public void joinExpression()
joinExpression
in class 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 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 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 – 2024 Project Wonder.