Class GridSqlSelect

    • Constructor Detail

      • GridSqlSelect

        public GridSqlSelect()
    • Method Detail

      • childIndexForColumn

        public static int childIndexForColumn​(int colIdx)
        Parameters:
        colIdx - Column index as for column(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:
        child in interface GridSqlAst
        Overrides:
        child in class GridSqlQuery
        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:
        child in interface GridSqlAst
        Overrides:
        child in class GridSqlQuery
        Parameters:
        childIdx - Index of the requested child.
        child - Child element.
      • visibleColumns

        public int visibleColumns()
        Specified by:
        visibleColumns in class GridSqlQuery
        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:
        column in class GridSqlQuery
        Parameters:
        col - Column index.
        Returns:
        Expression for column index.
      • skipMergeTable

        public boolean skipMergeTable()
        Specified by:
        skipMergeTable in class GridSqlQuery
        Returns:
        True if 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.
      • distinct

        public boolean distinct()
        Returns:
        Distinct.
      • distinct

        public void distinct​(boolean distinct)
        Parameters:
        distinct - New distinct.
      • where

        public GridSqlAst where()
        Returns:
        Where.
      • 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 - see canBeLazy().
      • 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:
        true is lazy flag is applicable.