Class LogicalUnion.UnionSelect

java.lang.Object
org.apache.openjpa.jdbc.sql.LogicalUnion.UnionSelect
All Implemented Interfaces:
Select, SelectExecutor
Enclosing class:
LogicalUnion

public class LogicalUnion.UnionSelect extends Object implements Select
A select that is part of a logical union.
  • Field Details

    • sel

      protected final SelectImpl sel
    • pos

      protected final int pos
    • orders

      protected int orders
    • orderIdxs

      protected List orderIdxs
  • Constructor Details

    • UnionSelect

      public UnionSelect(SelectImpl sel, int pos)
  • Method Details

    • getDelegate

      public SelectImpl getDelegate()
      Delegate select.
    • getSelectedOrderIndexes

      public List getSelectedOrderIndexes()
      Return the indexes of the data in the select clause this query is ordered by.
    • getConfiguration

      public JDBCConfiguration getConfiguration()
      Description copied from interface: SelectExecutor
      Return the select configuration.
      Specified by:
      getConfiguration in interface SelectExecutor
    • indexOf

      public int indexOf()
      Description copied from interface: Select
      The index of this select within the UNION, or 0.
      Specified by:
      indexOf in interface Select
    • toSelect

      public SQLBuffer toSelect(boolean forUpdate, JDBCFetchConfiguration fetch)
      Description copied from interface: SelectExecutor
      Return this select as a SQL statement formatted for the current dictionary.
      Specified by:
      toSelect in interface SelectExecutor
    • getSQL

      public SQLBuffer getSQL()
      Description copied from interface: SelectExecutor
      Get the buffer if it has been computed by a previous call to SelectExecutor.toSelect(boolean, JDBCFetchConfiguration), if any.
      Specified by:
      getSQL in interface SelectExecutor
    • toSelectCount

      public SQLBuffer toSelectCount()
      Description copied from interface: SelectExecutor
      Return this select as a COUNT SQL statement formatted for the current dictionary.
      Specified by:
      toSelectCount in interface SelectExecutor
    • getAutoDistinct

      public boolean getAutoDistinct()
      Description copied from interface: SelectExecutor
      Whether to automatically make results distinct when relational joins would otherwise introduce duplicates.
      Specified by:
      getAutoDistinct in interface SelectExecutor
    • setAutoDistinct

      public void setAutoDistinct(boolean distinct)
      Description copied from interface: SelectExecutor
      Whether to automatically make results distinct when relational joins would otherwise introduce duplicates.
      Specified by:
      setAutoDistinct in interface SelectExecutor
    • isDistinct

      public boolean isDistinct()
      Description copied from interface: SelectExecutor
      Whether this is a SELECT DISTINCT / UNION ALL.
      Specified by:
      isDistinct in interface SelectExecutor
    • setDistinct

      public void setDistinct(boolean distinct)
      Description copied from interface: SelectExecutor
      Whether this is a SELECT DISTINCT / UNION ALL.
      Specified by:
      setDistinct in interface SelectExecutor
    • isLRS

      public boolean isLRS()
      Description copied from interface: SelectExecutor
      Whether the result of this select should be treated as a large result set.
      Specified by:
      isLRS in interface SelectExecutor
    • setLRS

      public void setLRS(boolean lrs)
      Description copied from interface: SelectExecutor
      Whether the result of this select should be treated as a large result set.
      Specified by:
      setLRS in interface SelectExecutor
    • getJoinSyntax

      public int getJoinSyntax()
      Description copied from interface: SelectExecutor
      The join syntax for this select, as one of the syntax constants from JoinSyntaxes.
      Specified by:
      getJoinSyntax in interface SelectExecutor
    • setJoinSyntax

      public void setJoinSyntax(int joinSyntax)
      Description copied from interface: SelectExecutor
      The join syntax for this select, as one of the syntax constants from JoinSyntaxes.
      Specified by:
      setJoinSyntax in interface SelectExecutor
    • supportsRandomAccess

      public boolean supportsRandomAccess(boolean forUpdate)
      Description copied from interface: SelectExecutor
      Return whether this select can support a random access result set type.
      Specified by:
      supportsRandomAccess in interface SelectExecutor
    • supportsLocking

      public boolean supportsLocking()
      Description copied from interface: SelectExecutor
      Whether this select can be executed for update.
      Specified by:
      supportsLocking in interface SelectExecutor
    • hasMultipleSelects

      public boolean hasMultipleSelects()
      Description copied from interface: SelectExecutor
      Affirm if this receiver requires more than one selects to fetch its data.
      Specified by:
      hasMultipleSelects in interface SelectExecutor
    • getCount

      public int getCount(JDBCStore store) throws SQLException
      Description copied from interface: SelectExecutor
      Return the number of instances matching this select.
      Specified by:
      getCount in interface SelectExecutor
      Throws:
      SQLException
    • execute

      public Result execute(JDBCStore store, JDBCFetchConfiguration fetch) throws SQLException
      Description copied from interface: SelectExecutor
      Execute this select in the context of the given store manager.
      Specified by:
      execute in interface SelectExecutor
      Throws:
      SQLException
    • execute

      public Result execute(JDBCStore store, JDBCFetchConfiguration fetch, int lockLevel) throws SQLException
      Description copied from interface: SelectExecutor
      Execute this select in the context of the given store manager.
      Specified by:
      execute in interface SelectExecutor
      Throws:
      SQLException
    • getSubselects

      public List getSubselects()
      Description copied from interface: Select
      Return this select's subselects, or empty collection if none.
      Specified by:
      getSubselects in interface Select
    • getParent

      public Select getParent()
      Description copied from interface: Select
      Return the parent of this select, if it is a subselect.
      Specified by:
      getParent in interface Select
    • getSubselectPath

      public String getSubselectPath()
      Description copied from interface: Select
      Return the subselect path for this select, if it is a subselect.
      Specified by:
      getSubselectPath in interface Select
    • setParent

      public void setParent(Select parent, String path)
      Description copied from interface: Select
      Turn this select into a subselect of the given instance.
      Specified by:
      setParent in interface Select
    • setHasSubselect

      public void setHasSubselect(boolean hasSub)
      Description copied from interface: Select
      Set the flag to indicate whether this Select has internally generated subselect
      Specified by:
      setHasSubselect in interface Select
    • getHasSubselect

      public boolean getHasSubselect()
      Description copied from interface: Select
      Return the flag to indicate whether this Select has internally generated subselect
      Specified by:
      getHasSubselect in interface Select
    • getFromSelect

      public Select getFromSelect()
      Description copied from interface: Select
      Another select instance that creates a temporary table from which this select pulls data.
      Specified by:
      getFromSelect in interface Select
    • setFromSelect

      public void setFromSelect(Select sel)
      Description copied from interface: Select
      Another select instance that creates a temporary table from which this select pulls data.
      Specified by:
      setFromSelect in interface Select
    • hasEagerJoin

      public boolean hasEagerJoin(boolean toMany)
      Description copied from interface: Select
      Whether this select has an eager join of the specified type.
      Specified by:
      hasEagerJoin in interface Select
    • hasJoin

      public boolean hasJoin(boolean toMany)
      Description copied from interface: Select
      Whether this select has a join of the specified type.
      Specified by:
      hasJoin in interface Select
    • isSelected

      public boolean isSelected(Table table)
      Description copied from interface: Select
      Return whether the given table is being used in this select.
      Specified by:
      isSelected in interface Select
    • getTableAliases

      public Collection getTableAliases()
      Description copied from interface: Select
      Return the set of all used table aliases.
      Specified by:
      getTableAliases in interface Select
    • getSelects

      public List getSelects()
      Description copied from interface: Select
      Return the actual Vals and Columns that were selected, in the order that they were selected.
      Specified by:
      getSelects in interface Select
    • getSelectAliases

      public List getSelectAliases()
      Description copied from interface: Select
      Return the aliases of all selected columns and all selected buffers, in the order they were selected. Each alias may be either a string or a SQLBuffer.
      Specified by:
      getSelectAliases in interface Select
    • getIdentifierAliases

      public List getIdentifierAliases()
      Description copied from interface: Select
      Get the aliases for identifier columns that can be used in COUNT selects to find the number of matches. Each alias will be a string. If no identifier columns have been nominated, then all column alises are returned.
      Specified by:
      getIdentifierAliases in interface Select
    • getOrdering

      public SQLBuffer getOrdering()
      Description copied from interface: Select
      Return the ordering SQL for this select.
      Specified by:
      getOrdering in interface Select
    • getGrouping

      public SQLBuffer getGrouping()
      Description copied from interface: Select
      Return the grouping SQL for this select.
      Specified by:
      getGrouping in interface Select
    • getWhere

      public SQLBuffer getWhere()
      Description copied from interface: Select
      Return the WHERE clause, minus any necessary end joins.
      Specified by:
      getWhere in interface Select
    • getHaving

      public SQLBuffer getHaving()
      Description copied from interface: Select
      Return the HAVING clause, or null if none.
      Specified by:
      getHaving in interface Select
    • addJoinClassConditions

      public void addJoinClassConditions()
      Description copied from interface: Select
      Apply class conditions from relation joins. This may affect the return values of Select.getJoins(), Select.getJoinIterator(), and Select.getWhere().
      Specified by:
      addJoinClassConditions in interface Select
    • getJoins

      public Joins getJoins()
      Description copied from interface: Select
      Return the top-level joins for this select.
      Specified by:
      getJoins in interface Select
    • getJoinIterator

      public Iterator getJoinIterator()
      Description copied from interface: Select
      Return the top-level Join elements for this select.
      Specified by:
      getJoinIterator in interface Select
    • getStartIndex

      public long getStartIndex()
      Description copied from interface: Select
      The result start index.
      Specified by:
      getStartIndex in interface Select
    • getEndIndex

      public long getEndIndex()
      Description copied from interface: Select
      The result end index.
      Specified by:
      getEndIndex in interface Select
    • setRange

      public void setRange(long start, long end)
      Description copied from interface: Select
      Set the result range for this select.
      Specified by:
      setRange in interface Select
    • getColumnAlias

      public String getColumnAlias(Column col)
      Description copied from interface: Select
      Return the alias for the given column.
      Specified by:
      getColumnAlias in interface Select
    • getColumnAlias

      public String getColumnAlias(Column col, Joins joins)
      Description copied from interface: Select
      Return the alias for the given column.
      Specified by:
      getColumnAlias in interface Select
    • getColumnAlias

      public String getColumnAlias(Column col, Object alias)
      Description copied from interface: Select
      Return the alias for the given column, without creating new table alias
      Specified by:
      getColumnAlias in interface Select
    • getColumnAlias

      public String getColumnAlias(String col, Table table)
      Description copied from interface: Select
      Return the alias for the given column.
      Specified by:
      getColumnAlias in interface Select
    • getColumnAlias

      public String getColumnAlias(String col, Table table, Joins joins)
      Description copied from interface: Select
      Return the alias for the given column.
      Specified by:
      getColumnAlias in interface Select
    • isAggregate

      public boolean isAggregate()
      Description copied from interface: Select
      Return true if this is an aggregate select.
      Specified by:
      isAggregate in interface Select
    • setAggregate

      public void setAggregate(boolean agg)
      Description copied from interface: Select
      Set to true for aggregate selects.
      Specified by:
      setAggregate in interface Select
    • isLob

      public boolean isLob()
      Description copied from interface: Select
      Return true if this select includes a LOB.
      Specified by:
      isLob in interface Select
    • setLob

      public void setLob(boolean lob)
      Description copied from interface: Select
      Set to true for selects that include LOB columns.
      Specified by:
      setLob in interface Select
    • selectPlaceholder

      public void selectPlaceholder(String sql)
      Description copied from interface: Select
      Select the given SQL as a placeholder for a UNION element.
      Specified by:
      selectPlaceholder in interface Select
    • clearSelects

      public void clearSelects()
      Description copied from interface: Select
      Clear the existing column selects.
      Specified by:
      clearSelects in interface Select
    • select

      public boolean select(SQLBuffer sql, Object id)
      Description copied from interface: Select
      Select the given SQL; the given id object is an identifier to use when retrieving the corresponding value from a Result.
      Specified by:
      select in interface Select
      Returns:
      true if selected
    • select

      public boolean select(SQLBuffer sql, Object id, Joins joins)
      Description copied from interface: Select
      Select the given SQL; the given id object is an identifier to use when retrieving the corresponding value from a Result.
      Specified by:
      select in interface Select
      Returns:
      true if selected
    • select

      public boolean select(String sql, Object id)
      Description copied from interface: Select
      Select the given SQL; the given id object is an identifier to use when retrieving the corresponding value from a Result.
      Specified by:
      select in interface Select
      Returns:
      true if selected
    • select

      public boolean select(String sql, Object id, Joins joins)
      Description copied from interface: Select
      Select the given SQL; the given id object is an identifier to use when retrieving the corresponding value from a Result.
      Specified by:
      select in interface Select
      Returns:
      true if selected
    • select

      public boolean select(Column col)
      Description copied from interface: Select
      Select the given column.
      Specified by:
      select in interface Select
      Returns:
      true if selected
    • select

      public boolean select(Column col, Joins joins)
      Description copied from interface: Select
      Select the given column.
      Specified by:
      select in interface Select
      Returns:
      true if selected
    • select

      public int select(Column[] cols)
      Description copied from interface: Select
      Select the given columns.
      Specified by:
      select in interface Select
      Returns:
      bit set of indexes of columns that were selected
    • select

      public int select(Column[] cols, Joins joins)
      Description copied from interface: Select
      Select the given columns.
      Specified by:
      select in interface Select
      Returns:
      bit set of indexes of columns that were selected
    • select

      public void select(ClassMapping mapping, int subclasses, JDBCStore store, JDBCFetchConfiguration fetch, int eager)
      Description copied from interface: Select
      Select the columns of the given mapping, possibly including subclasses. This method should be called after all where conditions are added in case the given mapping batches other selects.
      Specified by:
      select in interface Select
    • select

      public void select(ClassMapping mapping, int subclasses, JDBCStore store, JDBCFetchConfiguration fetch, int eager, Joins joins)
      Description copied from interface: Select
      Select the columns of the given mapping, possibly including subclasses. This method should be called after all where conditions are added in case the given mapping batches other selects.
      Specified by:
      select in interface Select
    • selectIdentifier

      public boolean selectIdentifier(Column col)
      Description copied from interface: Select
      Select the given column as one that can be used to get a count of distinct matches. It is not necessary to designate distinct identifiers when eagerly traversing the entire result of the select or when not using an LRSSize setting of count.
      Specified by:
      selectIdentifier in interface Select
      Returns:
      true if selected
    • selectIdentifier

      public boolean selectIdentifier(Column col, Joins joins)
      Description copied from interface: Select
      Select the given column as one that can be used to get a count of distinct matches. It is not necessary to designate distinct identifiers when eagerly traversing the entire result of the select or when not using an LRSSize setting of count.
      Specified by:
      selectIdentifier in interface Select
      Returns:
      true if selected
    • selectIdentifier

      public int selectIdentifier(Column[] cols)
      Description copied from interface: Select
      Select the given columns as ones that can be used to get a count of distinct matches. It is not necessary to designate distinct identifiers when eagerly traversing the entire result of the select or when not using an LRSSize setting of count.
      Specified by:
      selectIdentifier in interface Select
      Returns:
      bit set of indexes of columns that were selected
    • selectIdentifier

      public int selectIdentifier(Column[] cols, Joins joins)
      Description copied from interface: Select
      Select the given columns as ones that can be used to get a count of distinct matches. It is not necessary to designate distinct identifiers when eagerly traversing the entire result of the select or when not using an LRSSize setting of count.
      Specified by:
      selectIdentifier in interface Select
      Returns:
      bit set of indexes of columns that were selected
    • selectIdentifier

      public void selectIdentifier(ClassMapping mapping, int subclasses, JDBCStore store, JDBCFetchConfiguration fetch, int eager)
      Description copied from interface: Select
      Select the columns of the given mapping, possibly including subclasses. This method should be called after all where conditions are added in case the given mapping batches other selects. The primary key columns of the mapping can be used to get a count of distinct matches. It is not necessary to designate distinct identifiers when eagerly traversing the entire result of the select or when not using an LRSSize setting of count.
      Specified by:
      selectIdentifier in interface Select
    • selectIdentifier

      public void selectIdentifier(ClassMapping mapping, int subclasses, JDBCStore store, JDBCFetchConfiguration fetch, int eager, Joins joins)
      Description copied from interface: Select
      Select the columns of the given mapping, possibly including subclasses. This method should be called after all where conditions are added in case the given mapping batches other selects. The primary key columns of the mapping can be used to get a count of distinct matches. It is not necessary to designate distinct identifiers when eagerly traversing the entire result of the select or when not using an LRSSize setting of count.
      Specified by:
      selectIdentifier in interface Select
    • selectPrimaryKey

      public int selectPrimaryKey(ClassMapping mapping)
      Description copied from interface: Select
      Select the primary key columns of the given mapping, joining to superclasses as necessary to get all columns needed to construct an object id.
      Specified by:
      selectPrimaryKey in interface Select
      Returns:
      bit set of indexes of pk columns that were selected
    • selectPrimaryKey

      public int selectPrimaryKey(ClassMapping mapping, Joins joins)
      Description copied from interface: Select
      Select the primary key columns of the given mapping, joining to superclasses as necessary to get all columns needed to construct an object id.
      Specified by:
      selectPrimaryKey in interface Select
      Returns:
      bit set of indexes of pk columns that were selected
    • orderByPrimaryKey

      public int orderByPrimaryKey(ClassMapping mapping, boolean asc, boolean select)
      Description copied from interface: Select
      Order on the primary key columns of the given mapping, joining to superclasses as necessary to get all columns needed to construct an object id. Optionally selects ordering data if not already selected.
      Specified by:
      orderByPrimaryKey in interface Select
    • orderByPrimaryKey

      public int orderByPrimaryKey(ClassMapping mapping, boolean asc, Joins joins, boolean select)
      Description copied from interface: Select
      Select and order on the primary key columns of the given mapping, joining to superclasses as necessary to get all columns needed to construct an object id. Optionally selects ordering data if not already selected.
      Specified by:
      orderByPrimaryKey in interface Select
    • recordOrder

      protected void recordOrder(Object ord, boolean asc)
      Record that we're ordering by a SQL expression.
    • recordOrderColumns

      protected void recordOrderColumns(Column[] cols, boolean asc)
      Record that we're ordering by the given columns.
    • orderBy

      public boolean orderBy(Column col, boolean asc, boolean select)
      Description copied from interface: Select
      Order by the given column. Optionally selects ordering data if not already selected.
      Specified by:
      orderBy in interface Select
    • orderBy

      public boolean orderBy(Column col, boolean asc, Joins joins, boolean select)
      Description copied from interface: Select
      Order by the given column. Optionally selects ordering data if not already selected.
      Specified by:
      orderBy in interface Select
    • orderBy

      public int orderBy(Column[] cols, boolean asc, boolean select)
      Description copied from interface: Select
      Order by the given columns. Optionally selects ordering data if not already selected.
      Specified by:
      orderBy in interface Select
    • orderBy

      public int orderBy(Column[] cols, boolean asc, Joins joins, boolean select)
      Description copied from interface: Select
      Order by the given columns. Optionally selects ordering data if not already selected.
      Specified by:
      orderBy in interface Select
    • orderBy

      public boolean orderBy(SQLBuffer sql, boolean asc, boolean select, Value selAs)
      Description copied from interface: Select
      Add an ORDER BY clause. Optionally selects ordering data if not already selected.
      Specified by:
      orderBy in interface Select
    • orderBy

      public boolean orderBy(SQLBuffer sql, boolean asc, Joins joins, boolean select, Value selAs)
      Description copied from interface: Select
      Add an ORDER BY clause. Optionally selects ordering data if not already selected.
      Specified by:
      orderBy in interface Select
    • orderBy

      public boolean orderBy(String sql, boolean asc, boolean select)
      Description copied from interface: Select
      Add an ORDER BY clause. Optionally selects ordering data if not already selected.
      Specified by:
      orderBy in interface Select
    • orderBy

      public boolean orderBy(String sql, boolean asc, Joins joins, boolean select)
      Description copied from interface: Select
      Add an ORDER BY clause. Optionally selects ordering data if not already selected.
      Specified by:
      orderBy in interface Select
    • clearOrdering

      public void clearOrdering()
      Description copied from interface: Select
      Clear odering conditions.
      Specified by:
      clearOrdering in interface Select
    • wherePrimaryKey

      public void wherePrimaryKey(Object oid, ClassMapping mapping, JDBCStore store)
      Description copied from interface: Select
      Add where conditions setting the mapping's primary key to the given oid values. If the given mapping does not use oid values for its primary key, we will recursively join to its superclass until we find an ancestor that does.
      Specified by:
      wherePrimaryKey in interface Select
    • whereForeignKey

      public void whereForeignKey(ForeignKey fk, Object oid, ClassMapping mapping, JDBCStore store)
      Description copied from interface: Select
      Add where conditions setting the given foreign key to the given oid values.
      Specified by:
      whereForeignKey in interface Select
      See Also:
    • where

      public void where(Joins joins)
      Description copied from interface: Select
      Add the given where conditions.
      Specified by:
      where in interface Select
    • where

      public void where(SQLBuffer sql)
      Description copied from interface: Select
      Add the given where conditions.
      Specified by:
      where in interface Select
    • where

      public void where(SQLBuffer sql, Joins joins)
      Description copied from interface: Select
      Add the given where conditions.
      Specified by:
      where in interface Select
    • where

      public void where(String sql)
      Description copied from interface: Select
      Add the given where conditions.
      Specified by:
      where in interface Select
    • where

      public void where(String sql, Joins joins)
      Description copied from interface: Select
      Add the given where conditions.
      Specified by:
      where in interface Select
    • having

      public void having(SQLBuffer sql)
      Description copied from interface: Select
      Add the given having conditions.
      Specified by:
      having in interface Select
    • having

      public void having(SQLBuffer sql, Joins joins)
      Description copied from interface: Select
      Add the given having conditions.
      Specified by:
      having in interface Select
    • having

      public void having(String sql)
      Description copied from interface: Select
      Add the given having conditions.
      Specified by:
      having in interface Select
    • having

      public void having(String sql, Joins joins)
      Description copied from interface: Select
      Add the given having conditions.
      Specified by:
      having in interface Select
    • groupBy

      public void groupBy(SQLBuffer sql)
      Description copied from interface: Select
      Add a GROUP BY clause.
      Specified by:
      groupBy in interface Select
    • groupBy

      public void groupBy(SQLBuffer sql, Joins joins)
      Description copied from interface: Select
      Add a GROUP BY clause.
      Specified by:
      groupBy in interface Select
    • groupBy

      public void groupBy(String sql)
      Description copied from interface: Select
      Add a GROUP BY clause.
      Specified by:
      groupBy in interface Select
    • groupBy

      public void groupBy(String sql, Joins joins)
      Description copied from interface: Select
      Add a GROUP BY clause.
      Specified by:
      groupBy in interface Select
    • groupBy

      public void groupBy(Column col)
      Description copied from interface: Select
      Group by the given column.
      Specified by:
      groupBy in interface Select
    • groupBy

      public void groupBy(Column col, Joins joins)
      Description copied from interface: Select
      Group by the given column.
      Specified by:
      groupBy in interface Select
    • groupBy

      public void groupBy(Column[] cols)
      Description copied from interface: Select
      Group by the given columns.
      Specified by:
      groupBy in interface Select
    • groupBy

      public void groupBy(Column[] cols, Joins joins)
      Description copied from interface: Select
      Group by the given columns.
      Specified by:
      groupBy in interface Select
    • groupBy

      public void groupBy(ClassMapping mapping, int subclasses, JDBCStore store, JDBCFetchConfiguration fetch)
      Description copied from interface: Select
      Group by the columns of the given mapping, possibly including subclasses. Assumes EAGER_NONE.
      Specified by:
      groupBy in interface Select
    • groupBy

      public void groupBy(ClassMapping mapping, int subclasses, JDBCStore store, JDBCFetchConfiguration fetch, Joins joins)
      Description copied from interface: Select
      Group by the columns of the given mapping, possibly including subclasses. Assumes EAGER_NONE.
      Specified by:
      groupBy in interface Select
    • whereClone

      public SelectExecutor whereClone(int sels)
      Description copied from interface: Select
      Return a SELECT with the same joins and where conditions as this one.
      Specified by:
      whereClone in interface Select
      Parameters:
      sels - number of selects to UNION together; ignored if <= 1
    • fullClone

      public SelectExecutor fullClone(int sels)
      Description copied from interface: Select
      Return a SELECT that is a complete clone of this one.
      Specified by:
      fullClone in interface Select
      Parameters:
      sels - number of selects to UNION together; ignored if <= 1
    • eagerClone

      public SelectExecutor eagerClone(FieldMapping key, int eagerType, boolean toMany, int sels)
      Description copied from interface: Select
      Return a select that will be eagerly executed with this one, or null if the select cannot be created for the given key and join type. If the join type is inner or outer, then this select instance will be returned. Otherwise, the returned select will have a clone of this select's where conditions and joins but will be independent.
      Specified by:
      eagerClone in interface Select
      Parameters:
      key - the key for the eager select
      eagerType - one of the EAGER_* constants
      toMany - whether the eager join is to-many
      sels - number of selects to UNION together; ignored if <= 1
    • getEager

      public SelectExecutor getEager(FieldMapping key)
      Description copied from interface: Select
      Return the eager select for the given key.
      Specified by:
      getEager in interface Select
    • newJoins

      public Joins newJoins()
      Description copied from interface: Select
      Return a new instance to use for joining.
      Specified by:
      newJoins in interface Select
    • newOuterJoins

      public Joins newOuterJoins()
      Description copied from interface: Select
      Return a new instance to use for outer joining.
      Specified by:
      newOuterJoins in interface Select
    • append

      public void append(SQLBuffer buf, Joins joins)
      Description copied from interface: Select
      Append the given joins to the given buffer.
      Specified by:
      append in interface Select
    • and

      public Joins and(Joins joins1, Joins joins2)
      Description copied from interface: Select
      AND the given joins together. The given joins will be hollowed in the process.
      Specified by:
      and in interface Select
    • or

      public Joins or(Joins joins1, Joins joins2)
      Description copied from interface: Select
      OR the given joins together. The common joins will be removed in the process.
      Specified by:
      or in interface Select
    • outer

      public Joins outer(Joins joins)
      Description copied from interface: Select
      Return a join set making the given joins outer joins.
      Specified by:
      outer in interface Select
    • toString

      public String toString()
      Description copied from interface: Select
      Implement toString to generate SQL string for profiling/debuggging.
      Specified by:
      toString in interface Select
      Overrides:
      toString in class Object
    • getExpectedResultCount

      public int getExpectedResultCount()
      Description copied from interface: SelectExecutor
      The expected result count for the query.
      Specified by:
      getExpectedResultCount in interface SelectExecutor
    • setExpectedResultCount

      public void setExpectedResultCount(int expectedResultCount, boolean force)
      Description copied from interface: SelectExecutor
      The expected result count for the query.
      Specified by:
      setExpectedResultCount in interface SelectExecutor
      force - if false, the count will be discarded if this select has any to-many eager joins that would throw off the result count
    • setContext

      public void setContext(Context context)
      Description copied from interface: Select
      Set JPQL query context for this select
      Specified by:
      setContext in interface Select
    • ctx

      public Context ctx()
      Description copied from interface: Select
      Return the JPQL query context of this select
      Specified by:
      ctx in interface Select
    • setSchemaAlias

      public void setSchemaAlias(String schemaAlias)
      Description copied from interface: Select
      Record the initial schemaAlias of a join path
      Specified by:
      setSchemaAlias in interface Select
    • logEagerRelations

      public void logEagerRelations()
      Description copied from interface: Select
      Extended trace that logs eager relations
      Specified by:
      logEagerRelations in interface Select
    • setTablePerClassMeta

      public void setTablePerClassMeta(ClassMapping meta)
      Description copied from interface: Select
      Set table-per-class metadata for polymorphic queries
      Specified by:
      setTablePerClassMeta in interface Select
    • getTablePerClassMeta

      public ClassMapping getTablePerClassMeta()
      Description copied from interface: Select
      get table-per-class metadata for polymorphic queries
      Specified by:
      getTablePerClassMeta in interface Select
    • setJoinedTableClassMeta

      public void setJoinedTableClassMeta(List meta)
      Description copied from interface: Select
      Set joined table metadatas for polymorphic queries
      Specified by:
      setJoinedTableClassMeta in interface Select
    • getJoinedTableClassMeta

      public List getJoinedTableClassMeta()
      Description copied from interface: Select
      get joined table metadatas for polymorphic queries
      Specified by:
      getJoinedTableClassMeta in interface Select
    • setExcludedJoinedTableClassMeta

      public void setExcludedJoinedTableClassMeta(List meta)
      Description copied from interface: Select
      Set joined table metadatas excluded for polymorphic queries
      Specified by:
      setExcludedJoinedTableClassMeta in interface Select
    • getExcludedJoinedTableClassMeta

      public List getExcludedJoinedTableClassMeta()
      Description copied from interface: Select
      get joined table metadatas excluded for polymorphic queries
      Specified by:
      getExcludedJoinedTableClassMeta in interface Select
    • getDictionary

      public DBDictionary getDictionary()
      Specified by:
      getDictionary in interface Select