Package org.h2.command.query
Class SelectListColumnResolver
- java.lang.Object
-
- org.h2.command.query.SelectListColumnResolver
-
- All Implemented Interfaces:
ColumnResolver
public class SelectListColumnResolver extends java.lang.Object implements ColumnResolver
This class represents a column resolver for the column list of a SELECT statement. It is used to resolve select column aliases in the HAVING clause. Example:SELECT X/3 AS A, COUNT(*) FROM SYSTEM_RANGE(1, 10) GROUP BY A HAVING A > 2;
-
-
Field Summary
Fields Modifier and Type Field Description private Column[]columnsprivate Expression[]expressionsprivate Selectselect
-
Constructor Summary
Constructors Constructor Description SelectListColumnResolver(Select select)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ColumnfindColumn(java.lang.String name)Get the column with the specified name.Column[]getColumns()Get the column list.SelectgetSelect()Get the select statement.ValuegetValue(Column column)Get the value for the given column.Expressionoptimize(ExpressionColumn expressionColumn, Column column)Get the expression that represents this column.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.h2.table.ColumnResolver
getColumnName, getRowIdColumn, getSchemaName, getSystemColumns, getTableAlias, getTableFilter, hasDerivedColumnList
-
-
-
-
Field Detail
-
select
private final Select select
-
expressions
private final Expression[] expressions
-
columns
private final Column[] columns
-
-
Constructor Detail
-
SelectListColumnResolver
SelectListColumnResolver(Select select)
-
-
Method Detail
-
getColumns
public Column[] getColumns()
Description copied from interface:ColumnResolverGet the column list.- Specified by:
getColumnsin interfaceColumnResolver- Returns:
- the column list
-
findColumn
public Column findColumn(java.lang.String name)
Description copied from interface:ColumnResolverGet the column with the specified name.- Specified by:
findColumnin interfaceColumnResolver- Parameters:
name- the column name, must be a derived name if this column resolver has a derived column list- Returns:
- the column with the specified name, or
null
-
getSelect
public Select getSelect()
Description copied from interface:ColumnResolverGet the select statement.- Specified by:
getSelectin interfaceColumnResolver- Returns:
- the select statement
-
getValue
public Value getValue(Column column)
Description copied from interface:ColumnResolverGet the value for the given column.- Specified by:
getValuein interfaceColumnResolver- Parameters:
column- the column- Returns:
- the value
-
optimize
public Expression optimize(ExpressionColumn expressionColumn, Column column)
Description copied from interface:ColumnResolverGet the expression that represents this column.- Specified by:
optimizein interfaceColumnResolver- Parameters:
expressionColumn- the expression columncolumn- the column- Returns:
- the optimized expression
-
-