Package org.apache.openjpa.jdbc.sql
Interface SelectExecutor
- All Known Implementing Classes:
LogicalUnion
,LogicalUnion.UnionSelect
,SelectImpl
public interface SelectExecutor
Interface for configuring and executing a SQL select.
- Author:
- Abe White
-
Method Summary
Modifier and TypeMethodDescriptionexecute
(JDBCStore store, JDBCFetchConfiguration fetch) Execute this select in the context of the given store manager.execute
(JDBCStore store, JDBCFetchConfiguration fetch, int lockLevel) Execute this select in the context of the given store manager.boolean
Whether to automatically make results distinct when relational joins would otherwise introduce duplicates.Return the select configuration.int
Return the number of instances matching this select.int
The expected result count for the query.int
The join syntax for this select, as one of the syntax constants fromJoinSyntaxes
.getSQL()
Get the buffer if it has been computed by a previous call totoSelect(boolean, JDBCFetchConfiguration)
, if any.boolean
Affirm if this receiver requires more than one selects to fetch its data.boolean
Whether this is a SELECT DISTINCT / UNION ALL.boolean
isLRS()
Whether the result of this select should be treated as a large result set.void
setAutoDistinct
(boolean distinct) Whether to automatically make results distinct when relational joins would otherwise introduce duplicates.void
setDistinct
(boolean distinct) Whether this is a SELECT DISTINCT / UNION ALL.void
setExpectedResultCount
(int expectedResultCount, boolean force) The expected result count for the query.void
setJoinSyntax
(int joinSyntax) The join syntax for this select, as one of the syntax constants fromJoinSyntaxes
.void
setLRS
(boolean lrs) Whether the result of this select should be treated as a large result set.boolean
Whether this select can be executed for update.boolean
supportsRandomAccess
(boolean forUpdate) Return whether this select can support a random access result set type.toSelect
(boolean forUpdate, JDBCFetchConfiguration fetch) Return this select as a SQL statement formatted for the current dictionary.Return this select as a COUNT SQL statement formatted for the current dictionary.
-
Method Details
-
getConfiguration
JDBCConfiguration getConfiguration()Return the select configuration. -
toSelect
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 totoSelect(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 fromJoinSyntaxes
. -
setJoinSyntax
void setJoinSyntax(int joinSyntax) The join syntax for this select, as one of the syntax constants fromJoinSyntaxes
. -
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
Return the number of instances matching this select.- Throws:
SQLException
-
execute
Execute this select in the context of the given store manager.- Throws:
SQLException
-
execute
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
-