Interface SelectExecutor

All Known Subinterfaces:
Select, Union
All Known Implementing Classes:
LogicalUnion, LogicalUnion.UnionSelect, SelectImpl

public interface SelectExecutor
Interface for configuring and executing a SQL select.
Author:
Abe White
  • Method Details

    • getConfiguration

      JDBCConfiguration getConfiguration()
      Return the select configuration.
    • toSelect

      SQLBuffer toSelect(boolean forUpdate, JDBCFetchConfiguration fetch)
      Return this select as a SQL statement formatted for the current dictionary.
    • getSQL

      SQLBuffer getSQL()
      Get the buffer if it has been computed by a previous call to toSelect(boolean, JDBCFetchConfiguration), if any.
      Since:
      2.0.0
    • toSelectCount

      SQLBuffer toSelectCount()
      Return this select as a COUNT SQL statement formatted for the current dictionary.
    • getAutoDistinct

      boolean getAutoDistinct()
      Whether to automatically make results distinct when relational joins would otherwise introduce duplicates.
    • setAutoDistinct

      void setAutoDistinct(boolean distinct)
      Whether to automatically make results distinct when relational joins would otherwise introduce duplicates.
    • isDistinct

      boolean isDistinct()
      Whether this is a SELECT DISTINCT / UNION ALL.
    • setDistinct

      void setDistinct(boolean distinct)
      Whether this is a SELECT DISTINCT / UNION ALL.
    • isLRS

      boolean isLRS()
      Whether the result of this select should be treated as a large result set.
    • setLRS

      void setLRS(boolean lrs)
      Whether the result of this select should be treated as a large result set.
    • getExpectedResultCount

      int getExpectedResultCount()
      The expected result count for the query.
    • setExpectedResultCount

      void setExpectedResultCount(int expectedResultCount, boolean force)
      The expected result count for the query.
      Parameters:
      force - if false, the count will be discarded if this select has any to-many eager joins that would throw off the result count
    • getJoinSyntax

      int getJoinSyntax()
      The join syntax for this select, as one of the syntax constants from JoinSyntaxes.
    • setJoinSyntax

      void setJoinSyntax(int joinSyntax)
      The join syntax for this select, as one of the syntax constants from JoinSyntaxes.
    • supportsRandomAccess

      boolean supportsRandomAccess(boolean forUpdate)
      Return whether this select can support a random access result set type.
    • supportsLocking

      boolean supportsLocking()
      Whether this select can be executed for update.
    • getCount

      int getCount(JDBCStore store) throws SQLException
      Return the number of instances matching this select.
      Throws:
      SQLException
    • execute

      Result execute(JDBCStore store, JDBCFetchConfiguration fetch) throws SQLException
      Execute this select in the context of the given store manager.
      Throws:
      SQLException
    • execute

      Result execute(JDBCStore store, JDBCFetchConfiguration fetch, int lockLevel) throws SQLException
      Execute this select in the context of the given store manager.
      Throws:
      SQLException
    • hasMultipleSelects

      boolean hasMultipleSelects()
      Affirm if this receiver requires more than one selects to fetch its data.
      Since:
      2.0.0