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, writeFieldsprotected Expression baseExpression
protected ReportQuery subQuery
public SubSelectExpression()
public SubSelectExpression(ReportQuery query, Expression baseExpression)
public java.lang.String descriptionOfNodeType()
descriptionOfNodeType in class Expressionpublic Expression getBaseExpression()
public ExpressionBuilder getBuilder()
getBuilder in class Expressionpublic ReportQuery getSubQuery()
public void iterateOn(ExpressionIterator iterator)
iterateOn in class Expressionpublic Expression normalize(ExpressionNormalizer normalizer)
normalize in class Expressionpublic Expression normalizeSubSelect(ExpressionNormalizer normalizer, java.util.Dictionary clonedExpressions)
protected void postCopyIn(java.util.Dictionary alreadyDone)
postCopyIn in class Expressionprotected void printCustomSQL(ExpressionSQLPrinter printer)
public void printSQL(ExpressionSQLPrinter printer)
printSQL in class Expressionpublic Expression rebuildOn(Expression newBase)
rebuildOn in class ExpressionExpression.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 Expressionjava.io.IOExceptionpublic void writeSubexpressionsTo(java.io.BufferedWriter writer,
int indent)
throws java.io.IOException
writeSubexpressionsTo in class Expressionjava.io.IOException