public class RecursiveQueryDepthIncreaseExpression extends NumberExpression
DBRecursiveQuery query.
Support DBvolution at Patreon
NumberExpression.SinhFunctionEqualExpression.ModeSimpleExpression, EqualExpression.ModeStrictExpression| Constructor and Description |
|---|
RecursiveQueryDepthIncreaseExpression()
Creates a depth expression for the
DBRecursiveQuery query. |
| Modifier and Type | Method and Description |
|---|---|
RecursiveQueryDepthIncreaseExpression |
copy()
A Complete Copy Of This DBValue.
|
DBNumber |
getQueryableDatatypeForExpressionValue()
Provides a blank instance of the
QueryableDatatype used by this
expression. |
Set<DBRow> |
getTablesInvolved()
Returns a Set of the DBRow instances involved in this expression.
|
boolean |
isAggregator()
Returns TRUE if this expression is an Aggregator like SUM() or LEAST().
|
boolean |
isPurelyFunctional()
Indicates whether or not the expression includes table columns.
|
String |
toSQLString(DBDefinition db)
Produces the snippet provided by this class.
|
abs, absoluteValue, append, append, arccos, arcsin, arctan, arctan2, arctan2, arctan2, asExpressionColumn, average, bracket, choose, choose, chooseWithDefault, chooseWithDefault, cos, cosh, cotangent, cubed, decimalPart, degrees, dividedBy, dividedBy, dividedBy, exp, expression, expression, expression, expression, floor, greatestOf, greatestOf, greatestOf, greatestOf, ifDBNull, ifDBNull, ifDBNull, integerPart, integerResult, is, is, is, isBetween, isBetween, isBetween, isBetween, isBetween, isBetween, isBetween, isBetweenExclusive, isBetweenExclusive, isBetweenExclusive, isBetweenExclusive, isBetweenExclusive, isBetweenExclusive, isBetweenExclusive, isBetweenInclusive, isBetweenInclusive, isBetweenInclusive, isBetweenInclusive, isBetweenInclusive, isBetweenInclusive, isBetweenInclusive, isEven, isGreaterThan, isGreaterThan, isGreaterThan, isGreaterThan, isGreaterThan, isGreaterThan, isGreaterThanOrEqual, isGreaterThanOrEqual, isGreaterThanOrEqual, isIn, isIn, isIn, isIn, isLessThan, isLessThan, isLessThan, isLessThan, isLessThan, isLessThan, isLessThanOrEqual, isLessThanOrEqual, isLessThanOrEqual, isNot, isNot, isNot, isNotNull, isNull, isOdd, isShorterThanOrAsLongAs, isShorterThanOrAsLongAs, isShorterThanOrAsLongAs, leastOf, leastOf, leastOf, leastOf, lengthOfDecimalPart, logBase10, logN, max, min, minus, minus, minus, mod, mod, mod, modeSimple, nullExpression, numberOfDigits, numberResult, plus, plus, plus, power, power, radians, random, round, round, round, round, round, round, roundDown, roundUp, sign, signPlusMinus, sine, sinh, squared, squareRoot, standardDeviation, stddev, stringResult, sum, tan, tanh, times, times, times, truncisBetween, isBetween, isBetween, isBetween, isBetween, isBetweenExclusive, isBetweenExclusive, isBetweenExclusive, isBetweenExclusive, isBetweenExclusive, isBetweenInclusive, isBetweenInclusive, isBetweenInclusive, isBetweenInclusive, isBetweenInclusive, isGreaterThan, isGreaterThan, isGreaterThanOrEqual, isLessThan, isLessThan, isLessThanOrEqualisIncount, countAll, countIf, is, isNot, modeStrictcreateSQLForFromClause, getIncludesNull, getInnerResult, isComplexExpression, isNullSafetyTerminator, nullBoolean, nullDate, nullDateRepeat, nullInteger, nullLine2D, nullLineSegment2D, nullMultiPoint2D, nullNumber, nullPoint2D, nullPolygon2D, nullString, value, value, value, value, value, value, value, value, value, value, value, value, value, value, value, value, value, value, value, valueclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcreateSQLForFromClause, isComplexExpressiongetIncludesNullpublic RecursiveQueryDepthIncreaseExpression()
DBRecursiveQuery query.public DBNumber getQueryableDatatypeForExpressionValue()
DBExpressionQueryableDatatype used by this
expression.
You are probably looking for ExpressionColumn.asExpressionColumn().
Note that this method is not good for use in everyday DBvolution code and should probably be reserved for meta-programming.
Support DBvolution at Patreon
getQueryableDatatypeForExpressionValue in interface DBExpressiongetQueryableDatatypeForExpressionValue in class NumberExpressionpublic String toSQLString(DBDefinition db)
DBExpressionThis is only used internally.
If you are extending DBvolution and adding a new function this is the place to format the information for use in SQL. A DBDefinition instance is provided to supply context and so your SQL can used on multiple database engines.
toSQLString in interface DBExpressiontoSQLString in class AnyExpression<Number,NumberResult,DBNumber>db - the target database
Support DBvolution at Patreon
public RecursiveQueryDepthIncreaseExpression copy()
DBExpressionImmutability in DBvolution is maintain by internally copying objects.
This method enables immutability by performing a deep copy of the object.
Singletons may return themselves but all other objects must return a new instance with copies of all mutable fields.
Support DBvolution at Patreon
copy in interface DBExpressioncopy in interface NumberResultcopy in class NumberExpressionDBValuepublic boolean isAggregator()
DBExpressionSubclasses must implement this method returning TRUE if the expression will combine the results of several rows to produce a result. If the expression relies on subexpressions, then the isAggregator method must return TRUE if the subexpressions include an aggregator.
Aggregators collect several rows together to produce a single result. Examples are MAX, MIN, and AVERAGE.
They are only appropriate in the SELECT clause and generally require the GROUP BY clause to be useful.
Aggregators are used with DBReport. Aggregator expressions are
included in the SELECT clause but excluded from the GROUP BY clause.
Support DBvolution at Patreon
isAggregator in interface DBExpressionisAggregator in class AnyExpression<Number,NumberResult,DBNumber>public Set<DBRow> getTablesInvolved()
DBExpressionUsed by QueryGraph to plot the connections between tables and avoid cartesian joins.
Support DBvolution at Patreon
getTablesInvolved in interface DBExpressiongetTablesInvolved in class AnyExpression<Number,NumberResult,DBNumber>public boolean isPurelyFunctional()
DBExpressionPurely functional expressions use only in-built functions or literal values to produce results and do not require data from tables.
Some databases, notably MS SQLServer, can not group purely functional expressions.
Support DBvolution at Patreon
isPurelyFunctional in interface DBExpressionisPurelyFunctional in class AnyExpression<Number,NumberResult,DBNumber>Copyright © 2018. All Rights Reserved.