org.firebirdsql.gds.ng.wire.version16

## Class V16Statement

- java.lang.Object
- - org.firebirdsql.gds.ng.AbstractFbStatement
  - - org.firebirdsql.gds.ng.wire.AbstractFbWireStatement
    - - org.firebirdsql.gds.ng.wire.version10.V10Statement
      - - org.firebirdsql.gds.ng.wire.version11.V11Statement
        - - org.firebirdsql.gds.ng.wire.version12.V12Statement
          - - org.firebirdsql.gds.ng.wire.version13.V13Statement
            - - org.firebirdsql.gds.ng.wire.version16.V16Statement

- All Implemented Interfaces:
    java.lang.AutoCloseable, FbStatement, ExceptionListenable, FbWireStatement
  Direct Known Subclasses:
    V18Statement

      public class V16Statement
      extends V13Statement

  Since:
    4.0
  Author:
    Mark Rotteveel

- - ### Field Summary

    - ### Fields inherited from class org.firebirdsql.gds.ng.AbstractFbStatement

      `exceptionListenerDispatcher, statementListenerDispatcher`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `V16Statement(FbWireDatabase database)` Creates a new instance of V16Statement for the specified database.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `batchCancel()` Cancels the server side batch (that is, clear any rows batched on the server).
    `BatchCompletion` | `batchExecute()` Execute the batch on the server.
    `BatchParameterBuffer` | `createBatchParameterBuffer()` Creates a `BatchParameterBuffer` instance compatible with this protocol version.
    `void` | `deferredBatchCreate(FbBatchConfig batchConfig, DeferredResponse<java.lang.Void> onResponse)` Sends batch create with deferred response processing.
    `void` | `deferredBatchRelease(DeferredResponse<java.lang.Void> onResponse)` Closes (releases) the batch on the server with deferred response processing.
    `void` | `deferredBatchSend(java.util.Collection<RowValue> rowValues, DeferredResponse<java.lang.Void> onResponse)` Sends batch data with deferred response processing.
    `protected void` | `sendBatchCreate(FbBatchConfig batchConfig)`
    `protected void` | `sendBatchMsg(java.util.Collection<RowValue> rowValues)`
    `protected void` | `sendExecute(int operation, RowValue parameters)` Sends the execute (for `op_execute` or `op_execute2`) to the database.
    `boolean` | `supportBatchUpdates()` Reports whether this statement implementation supports server-side batch updates.

    - ### Methods inherited from class org.firebirdsql.gds.ng.wire.version13.V13Statement

      `readSqlData, writeSqlData, writeSqlData`

    - ### Methods inherited from class org.firebirdsql.gds.ng.wire.version11.V11Statement

      `free, prepare`

    - ### Methods inherited from class org.firebirdsql.gds.ng.wire.version10.V10Statement

      `doFreePacket, execute, fetchRows, getDefaultSqlInfoSize, getMaxSqlInfoSize, processAllocateResponse, processExecuteResponse, processExecuteSingletonResponse, processFetchResponse, processFreeResponse, processPrepareResponse, readColumnData, sendAllocate, sendFetch, sendFree, sendPrepare, setCursorName, writeColumnData`

    - ### Methods inherited from class org.firebirdsql.gds.ng.wire.AbstractFbWireStatement

      `calculateBlr, calculateBlr, close, emptyRowDescriptor, getBlrCalculator, getDatabase, getHandle, getInfo, getSqlInfo, getXdrIn, getXdrOut, isValidTransactionClass, setHandle, withLock, wrapDeferredResponse`

    - ### Methods inherited from class org.firebirdsql.gds.ng.AbstractFbStatement

      `addExceptionListener, addStatementListener, checkStatementValid, checkStatementValid, closeCursor, closeCursor, createExecutionPlanProcessor, createSqlCountProcessor, ensureClosedCursor, fetchScroll, fetchScrollImpl, finalize, forceState, getAllowedTimeout, getCursorInfo, getCursorInfo, getCursorInfoImpl, getExecutionPlan, getExplainedExecutionPlan, getParameterDescriptionInfoRequestItems, getParameterDescriptor, getRowDescriptor, getSqlCounts, getSqlInfo, getState, getStatementInfoRequestItems, getStatementWarningCallback, getTimeout, getTransaction, getTransactionListener, getType, hasFetched, hasFields, hasSingletonResult, isAfterLast, isBeforeFirst, isPrepareAllowed, parseStatementInfo, queueRowData, removeExceptionListener, removeStatementListener, reset, reset, resetAll, setAfterLast, setBeforeFirst, setParameterDescriptor, setRowDescriptor, setTimeout, setTransaction, setType, signalExecute, signalFetch, switchState, unprepare, validateParameters`

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

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

    - ### Methods inherited from interface org.firebirdsql.gds.ng.FbStatement

      `addStatementListener, clearCursorFlag, close, closeCursor, closeCursor, emptyRowDescriptor, ensureClosedCursor, fetchScroll, getCursorInfo, getCursorInfo, getDatabase, getExecutionPlan, getExplainedExecutionPlan, getHandle, getParameterDescriptor, getRowDescriptor, getSqlCounts, getSqlInfo, getSqlInfo, getState, getTimeout, getTransaction, getType, hasFetched, isCursorFlagSet, removeStatementListener, setCursorFlag, setTimeout, setTransaction, supportsCursorInfo, supportsFetchScroll, unprepare, validateParameters, withLock`

    - ### Methods inherited from interface org.firebirdsql.gds.ng.listeners.ExceptionListenable

      `addExceptionListener, removeExceptionListener`

- - ### Constructor Detail

    - #### V16Statement

          public V16Statement(FbWireDatabase database)

      Creates a new instance of V16Statement for the specified database.
      Parameters:
        `database` - FbWireDatabase implementation

  - ### Method Detail

    - #### sendExecute

          protected void sendExecute(int operation,
                                     RowValue parameters)
                              throws java.io.IOException,
                                     java.sql.SQLException

      Description copied from class: `V10Statement`
      Sends the execute (for `op_execute` or `op_execute2`) to the database.
      Overrides:
        `sendExecute` in class `V10Statement`
      Parameters:
        `operation` - Operation (`op_execute` or `op_execute2`)
        `parameters` - Parameters
      Throws:
        `java.io.IOException`
        `java.sql.SQLException`

    - #### supportBatchUpdates

          public boolean supportBatchUpdates()

      Description copied from interface: `FbStatement`
      Reports whether this statement implementation supports server-side batch updates.
      Returns:
        `true` server-side batch updates supported, `false` if not supported (default implementation returns `false`)

    - #### createBatchParameterBuffer

          public BatchParameterBuffer createBatchParameterBuffer()
                                                          throws java.sql.SQLException

      Description copied from interface: `FbStatement`
      Creates a `BatchParameterBuffer` instance compatible with this protocol version.
      Returns:
        batch parameter buffer
      Throws:
        `java.sql.SQLException` - if this statement is closed, or a database access error occurs, or when the parameter buffer could not be created for other reasons
        `java.sql.SQLFeatureNotSupportedException` - when this statement implementation does not support batch updates
      See Also:
        `FbStatement.supportBatchUpdates()`

    - #### deferredBatchCreate

          public void deferredBatchCreate(FbBatchConfig batchConfig,
                                          DeferredResponse<java.lang.Void> onResponse)
                                   throws java.sql.SQLException

      Description copied from interface: `FbStatement`
      Sends batch create with deferred response processing.

      Implementations that do not supported deferred or async response processing should call `DeferredResponse.onResponse(Object)` and - optionally - `DeferredResponse.onException(Exception)` synchronously. If the response is deferred, but the implementation is not capable of connecting the response back, it should call `onResponse` before method return, and any exceptions generated by deferred processing should then be thrown from the method that causes the response to be received.

      Parameters:
        `batchConfig` - batch configuration
        `onResponse` - deferred action to call when response is received
      Throws:
        `java.sql.SQLException` - for database access errors (I/O errors)
        `java.sql.SQLFeatureNotSupportedException` - when this statement implementation does not support batch updates
      See Also:
        `FbStatement.supportBatchUpdates()`

    - #### sendBatchCreate

          protected void sendBatchCreate(FbBatchConfig batchConfig)
                                  throws java.sql.SQLException,
                                         java.io.IOException

      Throws:
        `java.sql.SQLException`
        `java.io.IOException`

    - #### deferredBatchSend

          public void deferredBatchSend(java.util.Collection<RowValue> rowValues,
                                        DeferredResponse<java.lang.Void> onResponse)
                                 throws java.sql.SQLException

      Description copied from interface: `FbStatement`
      Sends batch data with deferred response processing.

      For implementations that do not supported deferred or async response processing, see `FbStatement.deferredBatchCreate(FbBatchConfig, DeferredResponse)` for expected behaviour.

      Parameters:
        `rowValues` - collection of row values
        `onResponse` - deferred action to call when response is received
      Throws:
        `java.sql.SQLException` - for database access errors (I/O errors)
        `java.sql.SQLFeatureNotSupportedException` - when this statement implementation does not support batch updates
      See Also:
        `FbStatement.supportBatchUpdates()`

    - #### sendBatchMsg

          protected void sendBatchMsg(java.util.Collection<RowValue> rowValues)
                               throws java.sql.SQLException,
                                      java.io.IOException

      Throws:
        `java.sql.SQLException`
        `java.io.IOException`

    - #### batchExecute

          public BatchCompletion batchExecute()
                                       throws java.sql.SQLException

      Description copied from interface: `FbStatement`
      Execute the batch on the server.
      Returns:
        batch completion response
      Throws:
        `java.sql.SQLException` - for database access errors
        `java.sql.SQLFeatureNotSupportedException` - when this statement implementation does not support batch updates
      See Also:
        `FbStatement.supportBatchUpdates()`

    - #### batchCancel

          public void batchCancel()
                           throws java.sql.SQLException

      Description copied from interface: `FbStatement`
      Cancels the server side batch (that is, clear any rows batched on the server).
      Throws:
        `java.sql.SQLException` - for database access errors
        `java.sql.SQLFeatureNotSupportedException` - when this statement implementation does not support batch updates
      See Also:
        `FbStatement.supportBatchUpdates()`

    - #### deferredBatchRelease

          public void deferredBatchRelease(DeferredResponse<java.lang.Void> onResponse)
                                    throws java.sql.SQLException

      Description copied from interface: `FbStatement`
      Closes (releases) the batch on the server with deferred response processing.

      For implementations that do not supported deferred or async response processing, see `FbStatement.deferredBatchCreate(FbBatchConfig, DeferredResponse)` for expected behaviour.

      Parameters:
        `onResponse` - deferred action to call when response is received
      Throws:
        `java.sql.SQLException` - for database access errors
        `java.sql.SQLFeatureNotSupportedException` - when this statement implementation does not support batch updates
      See Also:
        `FbStatement.supportBatchUpdates()`

Copyright © 2001-2025 Jaybird (Firebird JDBC) team. All rights reserved.