Class GridSqlSelect
- java.lang.Object
-
- org.apache.ignite.internal.processors.query.h2.sql.GridSqlStatement
-
- org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuery
-
- org.apache.ignite.internal.processors.query.h2.sql.GridSqlSelect
-
- All Implemented Interfaces:
GridSqlAst
public class GridSqlSelect extends GridSqlQuery
Plain SELECT query.
-
-
Field Summary
Fields Modifier and Type Field Description static intFROM_CHILDstatic intWHERE_CHILD-
Fields inherited from class org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuery
LIMIT_CHILD, OFFSET_CHILD, sort
-
Fields inherited from class org.apache.ignite.internal.processors.query.h2.sql.GridSqlStatement
limit
-
-
Constructor Summary
Constructors Constructor Description GridSqlSelect()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description GridSqlSelectaddColumn(GridSqlAst expression, boolean visible)intallColumns()booleancanBeLazy()Used only for SELECT based on UPDATE.voidcanBeLazy(boolean canBeLazy)<E extends GridSqlAst>
Echild(int childIdx)Get child by index.<E extends GridSqlAst>
voidchild(int childIdx, E child)Set child.static intchildIndexForColumn(int colIdx)GridSqlSelectclearColumns()Clears select expressions list.voidcollectFromAliases(Set<GridSqlAlias> aliases)Collect aliases from FROM part.protected GridSqlAstcolumn(int col)List<GridSqlAst>columns(boolean visibleOnly)booleandistinct()voiddistinct(boolean distinct)GridSqlAstfrom()GridSqlSelectfrom(GridSqlAst from)StringgetSQL()int[]groupColumns()GridSqlSelectgroupColumns(int[] grpCols)GridSqlAsthaving()inthavingColumn()GridSqlSelecthavingColumn(int col)GridSqlSelectsetColumn(int colIdx, GridSqlAst expression)intsize()booleanskipMergeTable()intvisibleColumns()GridSqlAstwhere()GridSqlSelectwhere(GridSqlAst where)GridSqlSelectwhereAnd(GridSqlAst cond)-
Methods inherited from class org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuery
addSort, child, clearSort, getSortLimitSQL, hasOffsetLimit, maskNull, offset, offset, resultType, sort
-
-
-
-
Field Detail
-
FROM_CHILD
public static final int FROM_CHILD
- See Also:
- Constant Field Values
-
WHERE_CHILD
public static final int WHERE_CHILD
- See Also:
- Constant Field Values
-
-
Method Detail
-
childIndexForColumn
public static int childIndexForColumn(int colIdx)
- Parameters:
colIdx- Column index as forcolumn(int).- Returns:
- Child index for
child(int).
-
size
public int size()
- Returns:
- Number of child nodes.
-
child
public <E extends GridSqlAst> E child(int childIdx)
Get child by index.- Specified by:
childin interfaceGridSqlAst- Overrides:
childin classGridSqlQuery- Parameters:
childIdx- Index of the requested child.- Returns:
- Child element.
-
child
public <E extends GridSqlAst> void child(int childIdx, E child)
Set child.- Specified by:
childin interfaceGridSqlAst- Overrides:
childin classGridSqlQuery- Parameters:
childIdx- Index of the requested child.child- Child element.
-
visibleColumns
public int visibleColumns()
- Specified by:
visibleColumnsin classGridSqlQuery- Returns:
- Number of visible columns.
-
allColumns
public int allColumns()
- Returns:
- Number of columns is select including invisible ones.
-
column
protected GridSqlAst column(int col)
- Specified by:
columnin classGridSqlQuery- Parameters:
col- Column index.- Returns:
- Expression for column index.
-
getSQL
public String getSQL()
- Specified by:
getSQLin interfaceGridSqlAst- Specified by:
getSQLin classGridSqlStatement- Returns:
- Generate sql.
-
skipMergeTable
public boolean skipMergeTable()
- Specified by:
skipMergeTablein classGridSqlQuery- Returns:
Trueif this simple SQL query like 'SELECT A, B, C from SOME_TABLE' without any conditions and expressions.
-
columns
public List<GridSqlAst> columns(boolean visibleOnly)
- Parameters:
visibleOnly- If only visible expressions needed.- Returns:
- Select clause expressions.
-
clearColumns
public GridSqlSelect clearColumns()
Clears select expressions list.- Returns:
this.
-
addColumn
public GridSqlSelect addColumn(GridSqlAst expression, boolean visible)
- Parameters:
expression- Expression.visible- Expression is visible in select phrase.- Returns:
this.
-
setColumn
public GridSqlSelect setColumn(int colIdx, GridSqlAst expression)
- Parameters:
colIdx- Column index.expression- Expression.- Returns:
this.
-
groupColumns
public int[] groupColumns()
- Returns:
- Group columns.
-
groupColumns
public GridSqlSelect groupColumns(int[] grpCols)
- Parameters:
grpCols- Group columns.- Returns:
this.
-
from
public GridSqlAst from()
- Returns:
- Tables.
-
from
public GridSqlSelect from(GridSqlAst from)
- Parameters:
from- From element.- Returns:
this.
-
distinct
public boolean distinct()
- Returns:
- Distinct.
-
distinct
public void distinct(boolean distinct)
- Parameters:
distinct- New distinct.
-
where
public GridSqlAst where()
- Returns:
- Where.
-
where
public GridSqlSelect where(GridSqlAst where)
- Parameters:
where- New where.- Returns:
this.
-
whereAnd
public GridSqlSelect whereAnd(GridSqlAst cond)
- Parameters:
cond- Adds new WHERE condition using AND operator.- Returns:
this.
-
having
public GridSqlAst having()
- Returns:
- Having.
-
havingColumn
public GridSqlSelect havingColumn(int col)
- Parameters:
col- Index of HAVING column.- Returns:
this.
-
havingColumn
public int havingColumn()
- Returns:
- Index of HAVING column.
-
collectFromAliases
public void collectFromAliases(Set<GridSqlAlias> aliases)
Collect aliases from FROM part.- Parameters:
aliases- Table aliases in FROM.
-
canBeLazy
public void canBeLazy(boolean canBeLazy)
- Parameters:
canBeLazy- seecanBeLazy().
-
canBeLazy
public boolean canBeLazy()
Used only for SELECT based on UPDATE. It cannot be lazy when updated columns are used in the conditions. In this case index based on these columns may be chosen to scan and some rows may be updated more than once time.- Returns:
trueis lazy flag is applicable.
-
-