Package org.h2.command.query
Class SelectListColumnResolver
java.lang.Object
org.h2.command.query.SelectListColumnResolver
- All Implemented Interfaces:
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
FieldsModifier and TypeFieldDescriptionprivate final Column[]
private final Expression[]
private final Select
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfindColumn
(String name) Get the column with the specified name.Column[]
Get the column list.Get the select statement.Get the value for the given column.optimize
(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 Details
-
select
-
expressions
-
columns
-
-
Constructor Details
-
SelectListColumnResolver
SelectListColumnResolver(Select select)
-
-
Method Details
-
getColumns
Description copied from interface:ColumnResolver
Get the column list.- Specified by:
getColumns
in interfaceColumnResolver
- Returns:
- the column list
-
findColumn
Description copied from interface:ColumnResolver
Get the column with the specified name.- Specified by:
findColumn
in 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
Description copied from interface:ColumnResolver
Get the select statement.- Specified by:
getSelect
in interfaceColumnResolver
- Returns:
- the select statement
-
getValue
Description copied from interface:ColumnResolver
Get the value for the given column.- Specified by:
getValue
in interfaceColumnResolver
- Parameters:
column
- the column- Returns:
- the value
-
optimize
Description copied from interface:ColumnResolver
Get the expression that represents this column.- Specified by:
optimize
in interfaceColumnResolver
- Parameters:
expressionColumn
- the expression columncolumn
- the column- Returns:
- the optimized expression
-