Top Description Fields Constructors Methods
org.hsqldb

public Class ExpressionColumnAccessor

extends Expression
Class Inheritance
Imports
org.hsqldb.HsqlNameManager.HsqlName, org.hsqldb.lib.List, .OrderedHashSet, .Set, org.hsqldb.types.Type

Implementation of column used as assignment target.
Author
Fred Toussi (fredt@users dot sourceforge.net)
Since
2.0.0
Version
2.7.3

Field Summary

Modifier and TypeField and Description
pack-priv ColumnSchema
Inherited from org.hsqldb.Expression:
aliasBINARYcollationcolumnIndexdataTypeemptyArrayEXPR_FALSEEXPR_TRUEexprSubTypegroupingTypeisColumnConditionisColumnEqualisCorrelatedisDistinctAggregateisSingleColumnConditionisSingleColumnEqualisSingleColumnNotNullisSingleColumnNullLEFTnodeDataTypesnodesnoOptimisationnullabilityopTypeparameterIndexrangeGrouprangeGroupsresultTableColumnIndexRIGHTtableTERNARYTHIRDUNARYvalueData

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv void
pack-priv OrderedHashSet<RangeVariable>
collectRangeVariables(RangeVariable[] rangeVariables, OrderedHashSet<RangeVariable> set)

Overrides org.hsqldb.Expression.collectRangeVariables.

collects all range variables in expression tree

protected String
describe(Session session, int blanks)

Overrides org.hsqldb.Expression.describe.

pack-priv boolean
equals(Expression other)

Overrides org.hsqldb.Expression.equals.

SIMPLE_COLUMN expressions can be of different Expression subclass types

pack-priv String
getAlias()

Overrides org.hsqldb.Expression.getAlias.

Get the column alias

public ColumnSchema
pack-priv String
getColumnName()

Overrides org.hsqldb.Expression.getColumnName.

Returns the name of a column as string

public Type
getDataType()

Overrides org.hsqldb.Expression.getDataType.

Returns the data type

pack-priv RangeVariable
getRangeVariable()

Overrides org.hsqldb.Expression.getRangeVariable.

Returns the range variable for a COLUMN or PERIOD expression

public String
getSQL()

Overrides org.hsqldb.Expression.getSQL.

For use with CHECK constraints.

public OrderedHashSet<Expression>
public Object
pack-priv boolean
hasReference(RangeVariable range)

Overrides org.hsqldb.Expression.hasReference.

return true if given RangeVariable is used in expression tree

pack-priv boolean
public boolean
public boolean
pack-priv Expression
replaceAliasInOrderBy(Session session, List<Expression> columns, int length)

Overrides org.hsqldb.Expression.replaceAliasInOrderBy.

return the expression for an alias used in an ORDER BY clause

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

Overrides org.hsqldb.Expression.resolveColumnReferences.

public void
Inherited from org.hsqldb.Expression:
checkValidCheckConstraintcollectAllExpressionscollectAllSubqueriescollectRangeVariablesconvertToTypecostFactorcountNullsduplicateequalsequalsequalsgetAggregatedValuegetCheckSelectgetColumnIndexgetConditiongetConstantValueNoCheckgetContextSQLgetDegreegetIndexableExpressiongetJoinRangeVariablesgetLeftNodegetNodeDataTypegetNodeDataTypesgetNullabilitygetResultgetRightNodegetRowValuegetSimpleNamegetSubqueriesgetSubTypegetTablegetTypegetValuegetValueClassNamehasAggregatehasConditionhashCodehasNonDeterministicFunctionhasReferenceinsertValuesIntoSubqueryTableisComposedOfisComposedOfisConditionRangeVariableisCorrelatedisDistinctAggregateisFalseisSelfAggregateisTruematerialiseprepareTablereplaceExpressionsreplaceNoderesolveCheckOrGenExpressionresolveColumnReferencesresolveColumnSetresolveColumnSetresolveGrantFiltersetAggregatesetAliassetAsConstantValuesetAsConstantValuesetAttributesAsColumnsetCollationsetConditionsetCorrelatedReferencessetDataTypesetLeftNodesetNoOptimisationsetRightNodesetSubTypeswapLeftAndRightNodestestConditionupdateAggregatingValueupdateAggregatingValue

Field Detail

columnback to summary
pack-priv ColumnSchema column

Constructor Detail

ExpressionColumnAccessorback to summary
pack-priv ExpressionColumnAccessor(ColumnSchema column)

Method Detail

collectObjectNamesback to summary
pack-priv void collectObjectNames(Set<HsqlNameManager.HsqlName> set)

Overrides org.hsqldb.Expression.collectObjectNames.

Doc from org.hsqldb.Expression.collectObjectNames.

collects all schema objects

collectRangeVariablesback to summary
pack-priv OrderedHashSet<RangeVariable> collectRangeVariables(RangeVariable[] rangeVariables, OrderedHashSet<RangeVariable> set)

Overrides org.hsqldb.Expression.collectRangeVariables.

collects all range variables in expression tree

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

Overrides org.hsqldb.Expression.describe.

equalsback to summary
pack-priv boolean equals(Expression other)

Overrides org.hsqldb.Expression.equals.

SIMPLE_COLUMN expressions can be of different Expression subclass types

getAliasback to summary
pack-priv String getAlias()

Overrides org.hsqldb.Expression.getAlias.

Doc from org.hsqldb.Expression.getAlias.

Get the column alias

getColumnback to summary
public ColumnSchema getColumn()

Overrides org.hsqldb.Expression.getColumn.

getColumnNameback to summary
pack-priv String getColumnName()

Overrides org.hsqldb.Expression.getColumnName.

Doc from org.hsqldb.Expression.getColumnName.

Returns the name of a column as string

getDataTypeback to summary
public Type getDataType()

Overrides org.hsqldb.Expression.getDataType.

Doc from org.hsqldb.Expression.getDataType.

Returns the data type

getRangeVariableback to summary
pack-priv RangeVariable getRangeVariable()

Overrides org.hsqldb.Expression.getRangeVariable.

Doc from org.hsqldb.Expression.getRangeVariable.

Returns the range variable for a COLUMN or PERIOD expression

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.

getUnkeyedColumnsback to summary
public OrderedHashSet<Expression> getUnkeyedColumns(OrderedHashSet<Expression> unresolvedSet)

Overrides org.hsqldb.Expression.getUnkeyedColumns.

getValueback to summary
public Object getValue(Session session)

Overrides org.hsqldb.Expression.getValue.

hasReferenceback to summary
pack-priv boolean hasReference(RangeVariable range)

Overrides org.hsqldb.Expression.hasReference.

return true if given RangeVariable is used in expression tree

isDynamicParamback to summary
pack-priv boolean isDynamicParam()

Overrides org.hsqldb.Expression.isDynamicParam.

isIndexableback to summary
public boolean isIndexable(RangeVariable range)

Overrides org.hsqldb.Expression.isIndexable.

isUnresolvedParamback to summary
public boolean isUnresolvedParam()

Overrides org.hsqldb.Expression.isUnresolvedParam.

replaceAliasInOrderByback to summary
pack-priv Expression replaceAliasInOrderBy(Session session, List<Expression> columns, int length)

Overrides org.hsqldb.Expression.replaceAliasInOrderBy.

Doc from org.hsqldb.Expression.replaceAliasInOrderBy.

return the expression for an alias used in an ORDER BY clause

replaceColumnReferencesback to summary
pack-priv Expression replaceColumnReferences(Session session, RangeVariable range, Expression[] list)

Overrides org.hsqldb.Expression.replaceColumnReferences.

replaceRangeVariablesback to summary
pack-priv void replaceRangeVariables(RangeVariable[] ranges, RangeVariable[] newRanges)

Overrides org.hsqldb.Expression.replaceRangeVariables.

resetColumnReferencesback to summary
pack-priv void resetColumnReferences()

Overrides org.hsqldb.Expression.resetColumnReferences.

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.