Package org.postgresql.core.v3

# Class BatchedQuery

java.lang.Object
org.postgresql.core.v3.BatchedQuery

All Implemented Interfaces:
  `Query`

public class BatchedQuery extends Object
Purpose of this object is to support batched query re write behaviour. Responsibility for tracking the batch size and implement the clean up of the query fragments after the batch execute is complete. Intended to be used to wrap a Query that is present in the batchStatements collection.

## Constructor Summary

Constructors
Constructor
Description
`BatchedQuery(NativeQuery query, TypeTransferModeRegistry transferModeRegistry, int valuesBraceOpenPosition, int valuesBraceClosePosition, boolean sanitiserDisabled)`

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Close this query and free any server-side resources associated with it.
`ParameterList`
`createParameterList()`
Create a ParameterList suitable for storing parameters associated with this Query.
`BatchedQuery`
`deriveForMultiBatch(int valueBlock)`
`int`
`getBatchSize()`
Get the number of times this Query has been batched.
`final int`
`getBindCount()`
`int`
`getMaxResultRowSize()`
Return maximum size in bytes that each result row from this query may return.
`String`
`getNativeSql()`
Method to return the sql based on number of batches.
`@Nullable Map<String,Integer>`
`getResultSetColumnNameIndexMap()`
Get a map that a result set can use to find the index associated to a name.
`SqlCommand`
`getSqlCommand()`
Returns properties of the query (sql keyword, and some other parsing info).
`org.postgresql.core.v3.SimpleQuery @Nullable []`
`getSubqueries()`
Return a list of the Query objects that make up this query.
`boolean`
`hasBinaryFields()`
`boolean`
`isEmpty()`
`boolean`
`isStatementDescribed()`
`void`
`resetNeedUpdateFieldFormats()`
`void`
`setHasBinaryFields(boolean hasBinaryFields)`
`String`
`toString()`
`String`
`toString(@Nullable ParameterList params)`
Stringize this query to a human-readable form, substituting particular parameter values for parameter placeholders.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### BatchedQuery

public BatchedQuery(NativeQuery query, TypeTransferModeRegistry transferModeRegistry, int valuesBraceOpenPosition, int valuesBraceClosePosition, boolean sanitiserDisabled)

## Method Details

### deriveForMultiBatch

public BatchedQuery deriveForMultiBatch(int valueBlock)

### getBatchSize

public int getBatchSize()
Description copied from interface: `Query`
Get the number of times this Query has been batched.

Specified by:
  `getBatchSize` in interface `Query`
Returns:
  number of times `addBatch()` has been called.

### getNativeSql

public String getNativeSql()
Method to return the sql based on number of batches. Skipping the initial batch.

Specified by:
  `getNativeSql` in interface `Query`
Returns:
  SQL in native for database format

### toString

public String toString(@Nullable ParameterList params)
Description copied from interface: `Query`
Stringize this query to a human-readable form, substituting particular parameter values for parameter placeholders.

Specified by:
  `toString` in interface `Query`
Parameters:
  `params` - a ParameterList returned by this Query's `Query.createParameterList()` method, or `null` to leave the parameter placeholders unsubstituted.
Returns:
  a human-readable representation of this query

### createParameterList

public ParameterList createParameterList()
Description copied from interface: `Query`

Create 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:
  `createParameterList` in interface `Query`
Returns:
  a suitable ParameterList instance for this query

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### close

public void close()
Description copied from interface: `Query`

Close 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.

Specified by:
  `close` in interface `Query`

### getSubqueries

public org.postgresql.core.v3.SimpleQuery @Nullable [] getSubqueries()
Description copied from interface: `Query`
Return 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:
  `getSubqueries` in interface `Query`
Returns:
  an array of single-statement queries, or `null` if this object is already a single-statement query.

### getMaxResultRowSize

public int getMaxResultRowSize()

Return maximum size in bytes that each result row from this query may return. Mainly used for batches that return results.

Results are cached until/unless the query is re-described.

Returns:
  Max size of result data in bytes according to returned fields, 0 if no results, -1 if result is unbounded.
Throws:
  `IllegalStateException` - if the query is not described

### resetNeedUpdateFieldFormats

public void resetNeedUpdateFieldFormats()

### hasBinaryFields

public boolean hasBinaryFields()

### setHasBinaryFields

public void setHasBinaryFields(boolean hasBinaryFields)

### isStatementDescribed

public boolean isStatementDescribed()

Specified by:
  `isStatementDescribed` in interface `Query`

### isEmpty

public boolean isEmpty()

Specified by:
  `isEmpty` in interface `Query`

### getBindCount

public final int getBindCount()

### getResultSetColumnNameIndexMap

public @Nullable Map<String,Integer> getResultSetColumnNameIndexMap()
Description copied from interface: `Query`
Get a map that a result set can use to find the index associated to a name.

Specified by:
  `getResultSetColumnNameIndexMap` in interface `Query`
Returns:
  null if the query implementation does not support this method.

### getSqlCommand

public SqlCommand getSqlCommand()
Description copied from interface: `Query`
Returns properties of the query (sql keyword, and some other parsing info).

Specified by:
  `getSqlCommand` in interface `Query`
Returns:
  returns properties of the query (sql keyword, and some other parsing info) or null if not applicable