Top Description Fields Constructors Methods
org.hsqldb

public Class ExpressionArithmetic

extends Expression
Class Inheritance
Imports
org.hsqldb.error.Error, .ErrorCode, org.hsqldb.lib.List, org.hsqldb.types.CharacterType, .Type, .Types

Implementation of arithmetic and concatenation operations
Authors
Campbell Burnet (campbell-burnet@users dot sourceforge.net), Fred Toussi (fredt@users dot sourceforge.net)
Since
1.9.0
Version
2.7.3

Field Summary

Inherited from org.hsqldb.Expression:
aliasBINARYcollationcolumnIndexdataTypeemptyArrayEXPR_FALSEEXPR_TRUEexprSubTypegroupingTypeisColumnConditionisColumnEqualisCorrelatedisDistinctAggregateisSingleColumnConditionisSingleColumnEqualisSingleColumnNotNullisSingleColumnNullLEFTnodeDataTypesnodesnoOptimisationnullabilityopTypeparameterIndexrangeGrouprangeGroupsresultTableColumnIndexRIGHTtableTERNARYTHIRDUNARYvalueData

Constructor Summary

AccessConstructor and Description
pack-priv
pack-priv

Method Summary

Modifier and TypeMethod and Description
protected String
describe(Session session, int blanks)

Overrides org.hsqldb.Expression.describe.

private Type
public String
getSQL()

Overrides org.hsqldb.Expression.getSQL.

For use with CHECK constraints.

public Object
public List<Expression>
resolveColumnReferences(Session session, RangeGroup rangeGroup, int rangeCount, RangeGroup[] rangeGroups, List<Expression> unresolvedSet, boolean acceptsSequences)

Overrides org.hsqldb.Expression.resolveColumnReferences.

public void
pack-priv void
pack-priv void
Inherited from org.hsqldb.Expression:
checkValidCheckConstraintcollectAllExpressionscollectAllSubqueriescollectObjectNamescollectRangeVariablescollectRangeVariablesconvertToTypecostFactorcountNullsduplicateequalsequalsequalsequalsgetAggregatedValuegetAliasgetCheckSelectgetColumngetColumnIndexgetColumnNamegetConditiongetConstantValueNoCheckgetContextSQLgetDataTypegetDegreegetIndexableExpressiongetJoinRangeVariablesgetLeftNodegetNodeDataTypegetNodeDataTypesgetNullabilitygetRangeVariablegetResultgetRightNodegetRowValuegetSimpleNamegetSubqueriesgetSubTypegetTablegetTypegetUnkeyedColumnsgetValuegetValueClassNamehasAggregatehasConditionhashCodehasNonDeterministicFunctionhasReferencehasReferenceinsertValuesIntoSubqueryTableisComposedOfisComposedOfisConditionRangeVariableisCorrelatedisDistinctAggregateisDynamicParamisFalseisIndexableisSelfAggregateisTrueisUnresolvedParammaterialiseprepareTablereplaceAliasInOrderByreplaceColumnReferencesreplaceExpressionsreplaceNodereplaceRangeVariablesresetColumnReferencesresolveCheckOrGenExpressionresolveColumnReferencesresolveColumnSetresolveColumnSetresolveGrantFiltersetAggregatesetAliassetAsConstantValuesetAsConstantValuesetAttributesAsColumnsetCollationsetConditionsetCorrelatedReferencessetDataTypesetLeftNodesetNoOptimisationsetRightNodesetSubTypeswapLeftAndRightNodestestConditionupdateAggregatingValueupdateAggregatingValue

Constructor Detail

ExpressionArithmeticback to summary
pack-priv ExpressionArithmetic(int type, Expression left, Expression right)
ExpressionArithmeticback to summary
pack-priv ExpressionArithmetic(int type, Expression e)

Method Detail

describeback to summary
protected String describe(Session session, int blanks)

Overrides org.hsqldb.Expression.describe.

getParameterTypeback to summary
private Type getParameterType(Type type)
getSQLback to summary
public String getSQL()

Overrides org.hsqldb.Expression.getSQL.

Doc from org.hsqldb.Expression.getSQL.

For use with CHECK constraints. Under development. Currently supports a subset of expressions and is suitable for CHECK search conditions that refer only to the inserted/updated row. For full DDL reporting of VIEW select queries and CHECK search conditions, future improvements here are dependent upon improvements to SELECT query parsing, so that it is performed in a number of passes. An early pass should result in the query turned into an Expression tree that contains the information in the original SQL without any alterations, and with tables and columns all resolved. This Expression can then be preserved for future use. Table and column names that are not user-defined aliases should be kept as the HsqlName structures so that table or column renaming is reflected in the precompiled query.

getValueback to summary
public Object getValue(Session session)

Overrides org.hsqldb.Expression.getValue.

resolveColumnReferencesback to summary
public List<Expression> resolveColumnReferences(Session session, RangeGroup rangeGroup, int rangeCount, RangeGroup[] rangeGroups, List<Expression> unresolvedSet, boolean acceptsSequences)

Overrides org.hsqldb.Expression.resolveColumnReferences.

resolveTypesback to summary
public void resolveTypes(Session session, Expression parent)

Overrides org.hsqldb.Expression.resolveTypes.

resolveTypesForArithmeticback to summary
pack-priv void resolveTypesForArithmetic(Session session, Expression parent)
resolveTypesForConcatback to summary
pack-priv void resolveTypesForConcat(Session session, Expression parent)