Package org.postgresql.core.v3
Class CompositeQuery
- java.lang.Object
-
- org.postgresql.core.v3.CompositeQuery
-
- All Implemented Interfaces:
Query
class CompositeQuery extends java.lang.Object implements Query
V3 Query implementation for queries that involve multiple statements. We split it up into one SimpleQuery per statement, and wrap the corresponding per-statement SimpleParameterList objects in a CompositeParameterList.
-
-
Field Summary
Fields Modifier and Type Field Description private int[]offsetsprivate SimpleQuery[]subqueries
-
Constructor Summary
Constructors Constructor Description CompositeQuery(SimpleQuery[] subqueries, int[] offsets)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close this query and free any server-side resources associated with it.ParameterListcreateParameterList()Create a ParameterList suitable for storing parameters associated with this Query.intgetBatchSize()Get the number of times this Query has been batched.java.lang.StringgetNativeSql()Returns SQL in native for database format.java.util.Map<java.lang.String,java.lang.Integer>getResultSetColumnNameIndexMap()Get a map that a result set can use to find the index associated to a name.SqlCommandgetSqlCommand()Returns properties of the query (sql keyword, and some other parsing info).Query[]getSubqueries()Return a list of the Query objects that make up this query.booleanisEmpty()booleanisStatementDescribed()java.lang.StringtoString()java.lang.StringtoString(ParameterList parameters)Stringize this query to a human-readable form, substituting particular parameter values for parameter placeholders.
-
-
-
Field Detail
-
subqueries
private final SimpleQuery[] subqueries
-
offsets
private final int[] offsets
-
-
Constructor Detail
-
CompositeQuery
CompositeQuery(SimpleQuery[] subqueries, int[] offsets)
-
-
Method Detail
-
createParameterList
public ParameterList createParameterList()
Description copied from interface:QueryCreate a ParameterList suitable for storing parameters associated with this Query.
If this query has no parameters, a ParameterList will be returned, but it may be a shared immutable object. If this query does have parameters, the returned ParameterList is a new list, unshared by other callers.
- Specified by:
createParameterListin interfaceQuery- Returns:
- a suitable ParameterList instance for this query
-
toString
public java.lang.String toString(ParameterList parameters)
Description copied from interface:QueryStringize this query to a human-readable form, substituting particular parameter values for parameter placeholders.- Specified by:
toStringin interfaceQuery- Parameters:
parameters- a ParameterList returned by this Query'sQuery.createParameterList()method, ornullto leave the parameter placeholders unsubstituted.- Returns:
- a human-readable representation of this query
-
getNativeSql
public java.lang.String getNativeSql()
Description copied from interface:QueryReturns SQL in native for database format.- Specified by:
getNativeSqlin interfaceQuery- Returns:
- SQL in native for database format
-
getSqlCommand
public SqlCommand getSqlCommand()
Description copied from interface:QueryReturns properties of the query (sql keyword, and some other parsing info).- Specified by:
getSqlCommandin interfaceQuery- Returns:
- returns properties of the query (sql keyword, and some other parsing info) or null if not applicable
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
close
public void close()
Description copied from interface:QueryClose this query and free any server-side resources associated with it. The resources may not be immediately deallocated, but closing a Query may make the deallocation more prompt.
A closed Query should not be executed.
-
getSubqueries
public Query[] getSubqueries()
Description copied from interface:QueryReturn a list of the Query objects that make up this query. If this object is already a SimpleQuery, returns null (avoids an extra array construction in the common case).- Specified by:
getSubqueriesin interfaceQuery- Returns:
- an array of single-statement queries, or
nullif this object is already a single-statement query.
-
isStatementDescribed
public boolean isStatementDescribed()
- Specified by:
isStatementDescribedin interfaceQuery
-
getBatchSize
public int getBatchSize()
Description copied from interface:QueryGet the number of times this Query has been batched.- Specified by:
getBatchSizein interfaceQuery- Returns:
- number of times
addBatch()has been called.
-
getResultSetColumnNameIndexMap
public java.util.Map<java.lang.String,java.lang.Integer> getResultSetColumnNameIndexMap()
Description copied from interface:QueryGet a map that a result set can use to find the index associated to a name.- Specified by:
getResultSetColumnNameIndexMapin interfaceQuery- Returns:
- null if the query implementation does not support this method.
-
-