Top Description Inners Fields Constructors Methods
org.h2.table

public Class TableFilter

extends Object
implements ColumnResolver
Class Inheritance
All Implemented Interfaces
org.h2.table.ColumnResolver
Imports
java.util.ArrayList, .Comparator, .HashMap, .LinkedHashMap, .Map.Entry, org.h2.api.ErrorCode, org.h2.command.query.AllColumnsForPlan, .Select, org.h2.engine.Database, .Right, .SessionLocal, org.h2.expression.Expression, org.h2.expression.condition.Comparison, .ConditionAndOr, org.h2.index.Index, .IndexCondition, .IndexCursor, org.h2.message.DbException, org.h2.result.Row, .SearchRow, .SortOrder, org.h2.util.HasSQL, .ParserUtil, .StringUtils, .Utils, org.h2.value.TypeInfo, .Value, .ValueBigint, .ValueInteger, .ValueNull, .ValueSmallint, .ValueTinyint

A table filter represents a table that is used in a query. There is one such object whenever a table (or view) is used in a query. For example the following query has 2 table filters: SELECT * FROM TEST T1, TEST T2.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
TableFilter.MapColumnsVisitor

A visitor that maps columns.

public static interface
TableFilter.TableFilterVisitor

A visitor for table filters.

Field Summary

Modifier and TypeField and Description
private static final int
private String
private static final int
private LinkedHashMap<Column, Column>
commonJoinColumns

Map of common join columns, used for NATURAL joins and USING clause of other joins.

private TableFilter
private ArrayList<Column>
private Row
private SearchRow
private final IndexCursor
cursor

The filter used to walk through the index.

private LinkedHashMap<Column, String>
derivedColumnMap

Map of derived column names.

private boolean
private Expression
filterCondition

Additional conditions that can't be used for index lookup, but for row filter for this table (ID=ID, NAME LIKE '%X%')

private static final int
private boolean
private Expression
private final int
private Index
private final ArrayList<IndexCondition>
indexConditions

The index conditions used for direct index lookup (start or end).

private final IndexHints
private static final TableFilter.TableFilterVisitor
JOI_VISITOR

A visitor that sets joinOuterIndirect to true.

private TableFilter
join

The joined table (if there is one).

private Expression
joinCondition

The complete join condition.

private boolean
joinOuter

Whether this is an outer join.

protected boolean
joinOuterIndirect

Whether this is a direct or indirect (nested) outer join

private int[]
private TableFilter
nestedJoin

The nested joined table (if there is one).

private static final int
public static final Comparator<TableFilter>
ORDER_IN_FROM_COMPARATOR

Comparator that uses order in FROM clause as a sort key.

private final int
private int
private final Select
private SessionLocal
private int
private final Table
private boolean
used

Indicates that this filter is used in the plan.

Constructor Summary

AccessConstructor and Description
public
TableFilter(SessionLocal
the session
session
,
Table
the table from where to read data
table
,
String
the alias name
alias
,
boolean
true if rights are already checked
rightsChecked
,
Select
the select statement
select
,
int
original order number (index) of this table filter in
orderInFrom
,
IndexHints
the index hints to be used by the query planner
indexHints
)

Create a new table filter object.

Method Summary

Modifier and TypeMethod and Description
public void
addCommonJoinColumns(Column
the column on the left side
leftColumn
,
Column
the column to use instead, may be the same as column on the left side
replacementColumn
,
TableFilter
the table filter for replacement columns
replacementFilter
)

Add a column to the common join column list for a left table filter.

public void
addCommonJoinColumnToExclude(Column
the column to exclude
columnToExclude
)

Add an excluded column to the common join column list.

public void
addFilter(Expression
the condition
on
)

Add the join condition.

public void
addFilterCondition(Expression
the condition
condition
,
boolean
if this is in fact a join condition
isJoin
)

Add a filter condition.

public void
addIndexCondition(IndexCondition
the index condition
condition
)

Add an index condition.

public void
addJoin(TableFilter
the joined table filter
filter
,
boolean
if this is an outer join
outer
,
Expression
the join condition
on
)

Add a joined table.

private void
public void
createIndexConditions()

Create the index conditions for this filter if needed.

public Column
findColumn(String
the column name, must be a derived name if this column resolver has a derived column list
name
)

Implements org.h2.table.ColumnResolver.findColumn.

Get the column with the specified name.

public Row

Returns:

the current row, or null
get
()

Get the current row.

public PlanItem

Returns:

the best plan item
getBestPlanItem
(SessionLocal
the session
s
,
TableFilter[]
all joined table filters
filters
,
int
the current table filter index
filter
,
AllColumnsForPlan
the set of all columns
allColumnsSet
)

Get the best plan item (index, cost) to use for the current join order.

public Column

Returns:

the column
getColumn
(String
the column name
columnName
,
boolean
if true return null if column does not exist
ifExists
)

Get the column with the given name.

public String
getColumnName(Column
column
column
)

Overrides default org.h2.table.ColumnResolver.getColumnName.

Get the name of the specified column.

public Column[]
getColumns()

Implements org.h2.table.ColumnResolver.getColumns.

Get the column list.

public LinkedHashMap<Column, Column>

Returns:

common join columns map, or null
getCommonJoinColumns
()

Returns common join columns map.

public TableFilter

Returns:

common join columns table filter, or null
getCommonJoinColumnsFilter
()

Returns common join columns table filter.

private Value
public Expression
public Index
public ArrayList<IndexCondition>
public IndexCursor
public IndexHints
public TableFilter
public Expression
public int[]
public TableFilter
public int

Returns:

the index (0, 1, 2,...)
getOrderInFrom
()

Get the order number (index) of this table filter in the "from" clause of the query.

public StringBuilder

Returns:

the specified builder
getPlanSQL
(StringBuilder
string builder to append to
builder
,
boolean
if this is a joined table
isJoin
,
int
formatting flags
sqlFlags
)

Get the query execution plan text to use for this table filter and append it to the specified builder.

public Column
getRowIdColumn()

Overrides default org.h2.table.ColumnResolver.getRowIdColumn.

Get the row id pseudo column, if there is one.

public String
getSchemaName()

Overrides default org.h2.table.ColumnResolver.getSchemaName.

Get the schema name or null.

public Select
getSelect()

Overrides default org.h2.table.ColumnResolver.getSelect.

Get the select statement.

public SessionLocal
public Column[]

Returns:

the system columns
getSystemColumns
()

Overrides default org.h2.table.ColumnResolver.getSystemColumns.

Get the system columns that this table understands.

public Table
public String

Returns:

the alias name
getTableAlias
()

Overrides default org.h2.table.ColumnResolver.getTableAlias.

Get the table alias name.

public TableFilter
getTableFilter()

Overrides default org.h2.table.ColumnResolver.getTableFilter.

Get the table filter.

public Value
getValue(Column
the column
column
)

Implements org.h2.table.ColumnResolver.getValue.

Get the value for the given column.

public boolean
hasDerivedColumnList()

Overrides default org.h2.table.ColumnResolver.hasDerivedColumnList.

Returns whether this column resolver has a derived column list.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public boolean

Returns:

whether there are IN(...) comparisons
hasInComparisons
()

Are there any index conditions that involve IN(...).

public boolean

Returns:

true if this is an excluded common join column
isCommonJoinColumnToExclude
(Column
the column to check
c
)

Check if the given column is an excluded common join column.

public boolean
public boolean

Returns:

true if it is
isJoinOuter
()

Whether this is an outer joined table.

public boolean

Returns:

true if it is
isJoinOuterIndirect
()

Whether this is indirectly an outer joined table (nested within an inner join).

public boolean

Returns:

whether this is a table filter with implicit DUAL table
isNoFromClauseFilter
()

Returns whether this is a table filter with implicit DUAL table for a SELECT without a FROM clause.

public boolean
pack-priv boolean

Returns:

true if yes
isOk
(Expression
the condition (null for no condition)
condition
)

Whether the current value of the condition is true, or there is no condition.

public boolean
public void
lock(SessionLocal
the session
s
)

Lock the table.

public void
mapColumns(ColumnResolver
the resolver
resolver
,
int
the subquery level (0 is the top level query, 1 is the first subquery level)
level
,
boolean
whether this method was called from the outer query
outer
)

Map the columns to the given column resolver.

public boolean

Returns:

true if there are
next
()

Check if there are more rows to read.

pack-priv void
optimizeFullCondition()

Optimize the full condition.

public void
prepare()

Prepare reading rows.

public void
removeFilterCondition()

Remove the filter condition.

public void
removeJoin()

Remove the joined table

public void
removeJoinCondition()

Remove the join condition.

pack-priv void
removeUnusableIndexConditions()

Remove all index conditions that are not used by the current index.

public void
reset()

Reset to the current position.

public void
set(Row
the current row
current
)

Set the current row.

public void
public void
setDerivedColumns(ArrayList<String>
names of derived columns
derivedColumnNames
)

Set derived column list.

public void
setEvaluatable(TableFilter
the table filter
filter
,
boolean
the new flag
b
)

Update the filter and join conditions of this and all joined tables with the information that the given table filter and all nested filter can now return rows or not.

public void
setEvaluatable(boolean evaluatable)

public void
public void
setIndex(Index index, boolean reverse)

public void
setNestedJoin(TableFilter
the joined table filter
filter
)

Set a nested joined table.

protected void
setNullRow()

Set the state of this and all nested tables to the NULL row.

public void
setPlanItem(PlanItem
the plan item
item
)

Set what plan item (index, cost, masks) to use.

private void
setScanIndexes()

Set all missing indexes to scan indexes recursively.

public void
setUsed(boolean used)

public void
startQuery(SessionLocal
the session
s
)

Start the query.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public void
visit(TableFilter.TableFilterVisitor
the visitor
visitor
)

Visit this and all joined or nested table filters.

Inherited from java.lang.Object:
cloneequalsfinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

AFTER_LASTback to summary
private static final int AFTER_LAST
aliasback to summary
private String alias
BEFORE_FIRSTback to summary
private static final int BEFORE_FIRST
commonJoinColumnsback to summary
private LinkedHashMap<Column, Column> commonJoinColumns

Map of common join columns, used for NATURAL joins and USING clause of other joins. This map preserves original order of the columns.

commonJoinColumnsFilterback to summary
private TableFilter commonJoinColumnsFilter
commonJoinColumnsToExcludeback to summary
private ArrayList<Column> commonJoinColumnsToExclude
currentback to summary
private Row current
currentSearchRowback to summary
private SearchRow currentSearchRow
cursorback to summary
private final IndexCursor cursor

The filter used to walk through the index.

derivedColumnMapback to summary
private LinkedHashMap<Column, String> derivedColumnMap

Map of derived column names. This map preserves original order of the columns.

evaluatableback to summary
private boolean evaluatable
filterConditionback to summary
private Expression filterCondition

Additional conditions that can't be used for index lookup, but for row filter for this table (ID=ID, NAME LIKE '%X%')

FOUNDback to summary
private static final int FOUND
foundOneback to summary
private boolean foundOne
fullConditionback to summary
private Expression fullCondition
hashCodeback to summary
private final int hashCode
indexback to summary
private Index index
indexConditionsback to summary
private final ArrayList<IndexCondition> indexConditions

The index conditions used for direct index lookup (start or end).

indexHintsback to summary
private final IndexHints indexHints
JOI_VISITORback to summary
private static final TableFilter.TableFilterVisitor JOI_VISITOR

A visitor that sets joinOuterIndirect to true.

joinback to summary
private TableFilter join

The joined table (if there is one).

joinConditionback to summary
private Expression joinCondition

The complete join condition.

joinOuterback to summary
private boolean joinOuter

Whether this is an outer join.

joinOuterIndirectback to summary
protected boolean joinOuterIndirect

Whether this is a direct or indirect (nested) outer join

masksback to summary
private int[] masks
nestedJoinback to summary
private TableFilter nestedJoin

The nested joined table (if there is one).

NULL_ROWback to summary
private static final int NULL_ROW
ORDER_IN_FROM_COMPARATORback to summary
public static final Comparator<TableFilter> ORDER_IN_FROM_COMPARATOR

Comparator that uses order in FROM clause as a sort key.

orderInFromback to summary
private final int orderInFrom
scanCountback to summary
private int scanCount
selectback to summary
private final Select select
sessionback to summary
private SessionLocal session
stateback to summary
private int state
tableback to summary
private final Table table
usedback to summary
private boolean used

Indicates that this filter is used in the plan.

Constructor Detail

TableFilterback to summary
public TableFilter(SessionLocal session, Table table, String alias, boolean rightsChecked, Select select, int orderInFrom, IndexHints indexHints)

Create a new table filter object.

Parameters
session:SessionLocal

the session

table:Table

the table from where to read data

alias:String

the alias name

rightsChecked:boolean

true if rights are already checked

select:Select

the select statement

orderInFrom:int

original order number (index) of this table filter in

indexHints:IndexHints

the index hints to be used by the query planner

Method Detail

addCommonJoinColumnsback to summary
public void addCommonJoinColumns(Column leftColumn, Column replacementColumn, TableFilter replacementFilter)

Add a column to the common join column list for a left table filter.

Parameters
leftColumn:Column

the column on the left side

replacementColumn:Column

the column to use instead, may be the same as column on the left side

replacementFilter:TableFilter

the table filter for replacement columns

addCommonJoinColumnToExcludeback to summary
public void addCommonJoinColumnToExclude(Column columnToExclude)

Add an excluded column to the common join column list.

Parameters
columnToExclude:Column

the column to exclude

addFilterback to summary
public void addFilter(Expression on)

Add the join condition.

Parameters
on:Expression

the condition

addFilterConditionback to summary
public void addFilterCondition(Expression condition, boolean isJoin)

Add a filter condition.

Parameters
condition:Expression

the condition

isJoin:boolean

if this is in fact a join condition

addIndexConditionback to summary
public void addIndexCondition(IndexCondition condition)

Add an index condition.

Parameters
condition:IndexCondition

the index condition

addJoinback to summary
public void addJoin(TableFilter filter, boolean outer, Expression on)

Add a joined table.

Parameters
filter:TableFilter

the joined table filter

outer:boolean

if this is an outer join

on:Expression

the join condition

checkTimeoutback to summary
private void checkTimeout()
createIndexConditionsback to summary
public void createIndexConditions()

Create the index conditions for this filter if needed.

findColumnback to summary
public Column findColumn(String name)

Implements org.h2.table.ColumnResolver.findColumn.

Doc from org.h2.table.ColumnResolver.findColumn.

Get the column with the specified name.

Parameters
name:String

the column name, must be a derived name if this column resolver has a derived column list

Returns:Column

the column with the specified name, or null

Annotations
@Override
getback to summary
public Row get()

Get the current row.

Returns:Row

the current row, or null

getBestPlanItemback to summary
public PlanItem getBestPlanItem(SessionLocal s, TableFilter[] filters, int filter, AllColumnsForPlan allColumnsSet)

Get the best plan item (index, cost) to use for the current join order.

Parameters
s:SessionLocal

the session

filters:TableFilter[]

all joined table filters

filter:int

the current table filter index

allColumnsSet:AllColumnsForPlan

the set of all columns

Returns:PlanItem

the best plan item

getColumnback to summary
public Column getColumn(String columnName, boolean ifExists)

Get the column with the given name.

Parameters
columnName:String

the column name

ifExists:boolean

if true return null if column does not exist

Returns:Column

the column

Exceptions
DbException:
if the column was not found and ifExists is false
getColumnNameback to summary
public String getColumnName(Column column)

Overrides default org.h2.table.ColumnResolver.getColumnName.

Doc from org.h2.table.ColumnResolver.getColumnName.

Get the name of the specified column.

Parameters
column:Column

column

Returns:String

column name

Annotations
@Override
getColumnsback to summary
public Column[] getColumns()

Implements org.h2.table.ColumnResolver.getColumns.

Doc from org.h2.table.ColumnResolver.getColumns.

Get the column list.

Returns:Column[]

the column list

Annotations
@Override
getCommonJoinColumnsback to summary
public LinkedHashMap<Column, Column> getCommonJoinColumns()

Returns common join columns map.

Returns:LinkedHashMap<Column, Column>

common join columns map, or null

getCommonJoinColumnsFilterback to summary
public TableFilter getCommonJoinColumnsFilter()

Returns common join columns table filter.

Returns:TableFilter

common join columns table filter, or null

getDelegatedValueback to summary
private Value getDelegatedValue(Column column)
getFilterConditionback to summary
public Expression getFilterCondition()
getIndexback to summary
public Index getIndex()
getIndexConditionsback to summary
public ArrayList<IndexCondition> getIndexConditions()
getIndexCursorback to summary
public IndexCursor getIndexCursor()
getIndexHintsback to summary
public IndexHints getIndexHints()
getJoinback to summary
public TableFilter getJoin()
getJoinConditionback to summary
public Expression getJoinCondition()
getMasksback to summary
public int[] getMasks()
getNestedJoinback to summary
public TableFilter getNestedJoin()
getOrderInFromback to summary
public int getOrderInFrom()

Get the order number (index) of this table filter in the "from" clause of the query.

Returns:int

the index (0, 1, 2,...)

getPlanSQLback to summary
public StringBuilder getPlanSQL(StringBuilder builder, boolean isJoin, int sqlFlags)

Get the query execution plan text to use for this table filter and append it to the specified builder.

Parameters
builder:StringBuilder

string builder to append to

isJoin:boolean

if this is a joined table

sqlFlags:int

formatting flags

Returns:StringBuilder

the specified builder

getRowIdColumnback to summary
public Column getRowIdColumn()

Overrides default org.h2.table.ColumnResolver.getRowIdColumn.

Doc from org.h2.table.ColumnResolver.getRowIdColumn.

Get the row id pseudo column, if there is one.

Returns:Column

the row id column or null

Annotations
@Override
getSchemaNameback to summary
public String getSchemaName()

Overrides default org.h2.table.ColumnResolver.getSchemaName.

Doc from org.h2.table.ColumnResolver.getSchemaName.

Get the schema name or null.

Returns:String

the schema name or null

Annotations
@Override
getSelectback to summary
public Select getSelect()

Overrides default org.h2.table.ColumnResolver.getSelect.

Doc from org.h2.table.ColumnResolver.getSelect.

Get the select statement.

Returns:Select

the select statement

Annotations
@Override
getSessionback to summary
public SessionLocal getSession()
getSystemColumnsback to summary
public Column[] getSystemColumns()

Overrides default org.h2.table.ColumnResolver.getSystemColumns.

Get the system columns that this table understands. This is used for compatibility with other databases. The columns are only returned if the current mode supports system columns.

Returns:Column[]

the system columns

Annotations
@Override
getTableback to summary
public Table getTable()
getTableAliasback to summary
public String getTableAlias()

Overrides default org.h2.table.ColumnResolver.getTableAlias.

Get the table alias name. If no alias is specified, the table name is returned.

Returns:String

the alias name

Annotations
@Override
getTableFilterback to summary
public TableFilter getTableFilter()

Overrides default org.h2.table.ColumnResolver.getTableFilter.

Doc from org.h2.table.ColumnResolver.getTableFilter.

Get the table filter.

Returns:TableFilter

the table filter

Annotations
@Override
getValueback to summary
public Value getValue(Column column)

Implements org.h2.table.ColumnResolver.getValue.

Doc from org.h2.table.ColumnResolver.getValue.

Get the value for the given column.

Parameters
column:Column

the column

Returns:Value

the value

Annotations
@Override
hasDerivedColumnListback to summary
public boolean hasDerivedColumnList()

Overrides default org.h2.table.ColumnResolver.hasDerivedColumnList.

Doc from org.h2.table.ColumnResolver.hasDerivedColumnList.

Returns whether this column resolver has a derived column list.

Returns:boolean

true if this column resolver has a derived column list, false otherwise

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
hasInComparisonsback to summary
public boolean hasInComparisons()

Are there any index conditions that involve IN(...).

Returns:boolean

whether there are IN(...) comparisons

isCommonJoinColumnToExcludeback to summary
public boolean isCommonJoinColumnToExclude(Column c)

Check if the given column is an excluded common join column.

Parameters
c:Column

the column to check

Returns:boolean

true if this is an excluded common join column

isEvaluatableback to summary
public boolean isEvaluatable()
isJoinOuterback to summary
public boolean isJoinOuter()

Whether this is an outer joined table.

Returns:boolean

true if it is

isJoinOuterIndirectback to summary
public boolean isJoinOuterIndirect()

Whether this is indirectly an outer joined table (nested within an inner join).

Returns:boolean

true if it is

isNoFromClauseFilterback to summary
public boolean isNoFromClauseFilter()

Returns whether this is a table filter with implicit DUAL table for a SELECT without a FROM clause.

Returns:boolean

whether this is a table filter with implicit DUAL table

isNullRowback to summary
public boolean isNullRow()
isOkback to summary
pack-priv boolean isOk(Expression condition)

Whether the current value of the condition is true, or there is no condition.

Parameters
condition:Expression

the condition (null for no condition)

Returns:boolean

true if yes

isUsedback to summary
public boolean isUsed()
lockback to summary
public void lock(SessionLocal s)

Lock the table. This will also lock joined tables.

Parameters
s:SessionLocal

the session

mapColumnsback to summary
public void mapColumns(ColumnResolver resolver, int level, boolean outer)

Map the columns to the given column resolver.

Parameters
resolver:ColumnResolver

the resolver

level:int

the subquery level (0 is the top level query, 1 is the first subquery level)

outer:boolean

whether this method was called from the outer query

nextback to summary
public boolean next()

Check if there are more rows to read.

Returns:boolean

true if there are

optimizeFullConditionback to summary
pack-priv void optimizeFullCondition()

Optimize the full condition. This will add the full condition to the filter condition.

prepareback to summary
public void prepare()

Prepare reading rows. This method will remove all index conditions that can not be used, and optimize the conditions.

removeFilterConditionback to summary
public void removeFilterCondition()

Remove the filter condition.

removeJoinback to summary
public void removeJoin()

Remove the joined table

removeJoinConditionback to summary
public void removeJoinCondition()

Remove the join condition.

removeUnusableIndexConditionsback to summary
pack-priv void removeUnusableIndexConditions()

Remove all index conditions that are not used by the current index.

resetback to summary
public void reset()

Reset to the current position.

setback to summary
public void set(Row current)

Set the current row.

Parameters
current:Row

the current row

setAliasback to summary
public void setAlias(String alias)
setDerivedColumnsback to summary
public void setDerivedColumns(ArrayList<String> derivedColumnNames)

Set derived column list.

Parameters
derivedColumnNames:ArrayList<String>

names of derived columns

setEvaluatableback to summary
public void setEvaluatable(TableFilter filter, boolean b)

Update the filter and join conditions of this and all joined tables with the information that the given table filter and all nested filter can now return rows or not.

Parameters
filter:TableFilter

the table filter

b:boolean

the new flag

setEvaluatableback to summary
public void setEvaluatable(boolean evaluatable)
setFullConditionback to summary
public void setFullCondition(Expression condition)
setIndexback to summary
public void setIndex(Index index, boolean reverse)
setNestedJoinback to summary
public void setNestedJoin(TableFilter filter)

Set a nested joined table.

Parameters
filter:TableFilter

the joined table filter

setNullRowback to summary
protected void setNullRow()

Set the state of this and all nested tables to the NULL row.

setPlanItemback to summary
public void setPlanItem(PlanItem item)

Set what plan item (index, cost, masks) to use.

Parameters
item:PlanItem

the plan item

setScanIndexesback to summary
private void setScanIndexes()

Set all missing indexes to scan indexes recursively.

setUsedback to summary
public void setUsed(boolean used)
startQueryback to summary
public void startQuery(SessionLocal s)

Start the query. This will reset the scan counts.

Parameters
s:SessionLocal

the session

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
visitback to summary
public void visit(TableFilter.TableFilterVisitor visitor)

Visit this and all joined or nested table filters.

Parameters
visitor:TableFilter.TableFilterVisitor

the visitor

org.h2.table back to summary

private final Class TableFilter.MapColumnsVisitor

extends Object
implements TableFilterVisitor
Class Inheritance
All Implemented Interfaces
org.h2.table.TableFilter.TableFilterVisitor

A visitor that maps columns.

Field Summary

Modifier and TypeField and Description
private final Expression

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
accept(TableFilter
the filter
f
)

Implements org.h2.table.TableFilter.TableFilterVisitor.accept.

This method is called for each nested or joined table filter.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

onback to summary
private final Expression on

Constructor Detail

MapColumnsVisitorback to summary
pack-priv MapColumnsVisitor(Expression on)

Method Detail

acceptback to summary
public void accept(TableFilter f)

Implements org.h2.table.TableFilter.TableFilterVisitor.accept.

Doc from org.h2.table.TableFilter.TableFilterVisitor.accept.

This method is called for each nested or joined table filter.

Parameters
f:TableFilter

the filter

Annotations
@Override
org.h2.table back to summary

public Interface TableFilter.TableFilterVisitor

Known Direct Implementers
org.h2.table.TableFilter.MapColumnsVisitor

A visitor for table filters.

Method Summary

Modifier and TypeMethod and Description
public void
accept(TableFilter
the filter
f
)

This method is called for each nested or joined table filter.

Method Detail

acceptback to summary
public void accept(TableFilter f)

This method is called for each nested or joined table filter.

Parameters
f:TableFilter

the filter