public class SubSelectExpression extends Expression
Modifier and Type | Field and Description |
---|---|
protected Expression |
baseExpression |
protected ReportQuery |
subQuery |
currentAlias, lastTable, selectIfOrderedBy
Constructor and Description |
---|
SubSelectExpression() |
SubSelectExpression(ReportQuery query,
Expression baseExpression) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
descriptionOfNodeType()
INTERNAL:
Used in debug printing of this node.
|
Expression |
getBaseExpression() |
ExpressionBuilder |
getBuilder()
Return the builder from the defining expression.
|
ReportQuery |
getSubQuery() |
void |
iterateOn(ExpressionIterator iterator)
INTERNAL:
For iterating using an inner class
|
Expression |
normalize(ExpressionNormalizer normalizer)
INTERNAL:
The subquery must be normalized with the knowledge of the outer statement for outer references and correct aliasing.
|
Expression |
normalizeSubSelect(ExpressionNormalizer normalizer,
java.util.Dictionary clonedExpressions)
INTERNAL:
Normalize this expression now that the parent statment has been normalized.
|
protected void |
postCopyIn(java.util.Dictionary alreadyDone)
The query must be cloned, and the sub-expression must be cloned using the same outer expression identity.
|
protected void |
printCustomSQL(ExpressionSQLPrinter printer)
Print the sub query to the printer.
|
void |
printSQL(ExpressionSQLPrinter printer)
Print the sub query to the printer.
|
Expression |
rebuildOn(Expression newBase)
Should not rebuild as has its on expression builder.
|
protected void |
setBaseExpression(Expression baseExpression) |
void |
setSubQuery(ReportQuery subQuery) |
void |
writeDescriptionOn(java.io.BufferedWriter writer)
INTERNAL:
Used to print a debug form of the expression tree.
|
void |
writeSubexpressionsTo(java.io.BufferedWriter writer,
int indent)
INTERNAL:
Used in SQL printing.
|
addDate, addDate, addMonths, addMonths, aliasForTable, all, all, all, all, all, all, all, all, all, all, all, all, allOf, and, any, any, any, any, any, any, any, any, any, any, any, any, anyOf, anyOfAllowingNone, ascending, asciiValue, assignAlias, assignTableAliasesStartingAt, average, between, between, between, between, between, between, between, between, between, caseStatement, clone, cloneUsing, concat, containsAllKeyWords, containsAnyKeyWords, containsSubstring, containsSubstring, containsSubstringIgnoringCase, containsSubstringIgnoringCase, convertNodeToUseOuterJoin, convertToUseOuterJoin, copiedVersionFrom, count, create, create, createWithBaseLast, currentDate, currentDateDate, currentTime, currentTimeStamp, dateDifference, dateDifference, dateName, datePart, dateToString, decode, descending, detectExpression, difference, distinct, doesConform, doesConform, equal, equal, equal, equal, equal, equal, equal, equal, equal, equal, equalOuterJoin, equalOuterJoin, equalsIgnoreCase, equalsIgnoreCase, exists, existsNode, extract, extractPrimaryKeyValues, extractValue, from, fromConstant, fromLiteral, get, get, getAllowingNull, getAllowingNull, getClonedField, getField, getField, getFields, getFieldValue, getFunction, getFunction, getFunction, getFunction, getFunctionWithArguments, getName, getNumberVal, getOperator, getOperator, getOwnedTables, getParameter, getParameter, getParameter, getSession, getStringVal, getTable, getTable, getTableAliases, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, hasAsOfClause, hasBeenAliased, hexToRaw, ifNull, in, in, in, in, in, in, in, in, in, in, in, in, indexOf, isCompoundExpression, isConstantExpression, isDataExpression, isEmpty, isExpressionBuilder, isFieldExpression, isFragment, isFunctionExpression, isLiteralExpression, isLogicalExpression, isNull, isObjectExpression, isParameterExpression, isQueryKeyExpression, isRelationExpression, isTableExpression, isValueExpression, lastDay, leftPad, leftPad, leftTrim, leftTrim, length, lessThan, lessThan, lessThan, lessThan, lessThan, lessThan, lessThan, lessThan, lessThan, lessThan, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, like, like, like, like, likeIgnoreCase, likeIgnoreCase, literal, locate, locate, locate, maximum, minimum, monthsBetween, newTime, nextDay, noneOf, not, notBetween, notBetween, notBetween, notBetween, notBetween, notBetween, notBetween, notBetween, notBetween, notEmpty, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notExists, notIn, notIn, notIn, notIn, notIn, notIn, notIn, notIn, notIn, notIn, notIn, notIn, notLike, notLike, notNull, or, performOperator, postfixSQL, prefixSQL, printJava, printSQLWithoutConversion, ref, registerIn, replace, replicate, replicate, resetCache, reverse, right, right, rightPad, rightPad, rightTrim, rightTrim, roundDate, selectIfOrderedBy, setLocalBase, setSelectIfOrderedBy, shallowClone, size, some, some, some, some, some, some, some, some, some, some, some, some, standardDeviation, subQuery, substring, substring, sum, toChar, toChar, toCharacter, toDate, toLowerCase, toNumber, toString, toString, toUpperCase, toUppercaseCasedWords, translate, trim, trim, truncateDate, twist, twistedForBaseAndContext, validateNode, value, value, value, value, value, value, value, value, value, value, valueFromObject, valueFromObject, variance, writeField, writeFields
protected Expression baseExpression
protected ReportQuery subQuery
public SubSelectExpression()
public SubSelectExpression(ReportQuery query, Expression baseExpression)
public java.lang.String descriptionOfNodeType()
descriptionOfNodeType
in class Expression
public Expression getBaseExpression()
public ExpressionBuilder getBuilder()
getBuilder
in class Expression
public ReportQuery getSubQuery()
public void iterateOn(ExpressionIterator iterator)
iterateOn
in class Expression
public Expression normalize(ExpressionNormalizer normalizer)
normalize
in class Expression
public Expression normalizeSubSelect(ExpressionNormalizer normalizer, java.util.Dictionary clonedExpressions)
protected void postCopyIn(java.util.Dictionary alreadyDone)
postCopyIn
in class Expression
protected void printCustomSQL(ExpressionSQLPrinter printer)
public void printSQL(ExpressionSQLPrinter printer)
printSQL
in class Expression
public Expression rebuildOn(Expression newBase)
rebuildOn
in class Expression
Expression.cloneUsing(Expression newBase)
protected void setBaseExpression(Expression baseExpression)
public void setSubQuery(ReportQuery subQuery)
public void writeDescriptionOn(java.io.BufferedWriter writer) throws java.io.IOException
writeDescriptionOn
in class Expression
java.io.IOException
public void writeSubexpressionsTo(java.io.BufferedWriter writer, int indent) throws java.io.IOException
writeSubexpressionsTo
in class Expression
java.io.IOException