Module org.firebirdsql.jaybird
Package org.firebirdsql.gds.ng.wire.version13

# Class V13Statement

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

All Implemented Interfaces:
  `AutoCloseable`, `FbStatement`, `ExceptionListenable`, `FbWireStatement`

Direct Known Subclasses:
  `V16Statement`

public class V13Statement extends V12Statement

Author:
  Mark Rotteveel

## Field Summary

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

`asyncFetchStatus`

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

`exceptionListenerDispatcher, statementListenerDispatcher`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`int`
`getDefaultSqlInfoSize()`
`int`
`getMaxSqlInfoSize()`
`protected RowValue`
`readSqlData()`
Reads a single row from the database.
`protected void`
`writeSqlData(XdrOutputStream xdrOut, BlrCalculator blrCalculator, RowDescriptor rowDescriptor, RowValue fieldValues, boolean useActualLength)`
`protected void`
`writeSqlData(RowDescriptor rowDescriptor, RowValue fieldValues, boolean useActualLength)`
Write a set of SQL data from a `RowValue`.

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

`asyncFetchRows, completeAsyncFetch, fetchRows, free, prepare, reset`

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

`doFreePacket, execute, processAllocateResponse, processExecuteResponse, processExecuteSingletonResponse, processFetchResponse, processFetchResponse, processFreeResponse, processPrepareResponse, readColumnData, sendAllocate, sendExecute, sendFetch, sendFree, sendPrepare, setCursorNameImpl, writeColumnData`

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

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

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

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

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

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

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

`addExceptionListener, removeExceptionListener`

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

`addStatementListener, addWeakStatementListener, batchCancel, batchExecute, clearCursorFlag, close, closeCursor, closeCursor, createBatchParameterBuffer, deferredBatchCreate, deferredBatchRelease, deferredBatchSend, emptyRowDescriptor, ensureClosedCursor, fetchScroll, getCursorInfo, getCursorInfo, getDatabase, getExecutionPlan, getExplainedExecutionPlan, getHandle, getParameterDescriptor, getRowDescriptor, getSqlCounts, getSqlInfo, getSqlInfo, getState, getTimeout, getTransaction, getType, hasFetched, isCursorFlagSet, removeStatementListener, setCursorFlag, setCursorName, setTimeout, setTransaction, supportBatchUpdates, supportsCursorInfo, supportsFetchScroll, unprepare, validateParameters, withLock`

## Constructor Details

### V13Statement

public V13Statement(FbWireDatabase database)
Creates a new instance of V13Statement for the specified database.

Parameters:
  `database` - FbWireDatabase implementation

## Method Details

### readSqlData

protected RowValue readSqlData() throws SQLException, IOException
Description copied from class: `V10Statement`
Reads a single row from the database.

Overrides:
  `readSqlData` in class `V10Statement`
Returns:
  Row as a `RowValue`
Throws:
  `SQLException`
  `IOException`

### writeSqlData

protected void writeSqlData(RowDescriptor rowDescriptor, RowValue fieldValues, boolean useActualLength) throws IOException, SQLException
Description copied from class: `V10Statement`
Write a set of SQL data from a `RowValue`.

Overrides:
  `writeSqlData` in class `V10Statement`
Parameters:
  `rowDescriptor` - The row descriptor
  `fieldValues` - The List containing the SQL data to be written
  `useActualLength` - Should actual field length be used (applies to CHAR)
Throws:
  `IOException` - if an error occurs while writing to the underlying output stream
  `SQLException`

### writeSqlData

protected void writeSqlData(XdrOutputStream xdrOut, BlrCalculator blrCalculator, RowDescriptor rowDescriptor, RowValue fieldValues, boolean useActualLength) throws IOException, SQLException

Throws:
  `IOException`
  `SQLException`

### getDefaultSqlInfoSize

public int getDefaultSqlInfoSize()

Specified by:
  `getDefaultSqlInfoSize` in interface `FbStatement`
Overrides:
  `getDefaultSqlInfoSize` in class `V10Statement`
Returns:
  The default size to use for the sql info buffer

### getMaxSqlInfoSize

public int getMaxSqlInfoSize()

Specified by:
  `getMaxSqlInfoSize` in interface `FbStatement`
Overrides:
  `getMaxSqlInfoSize` in class `V12Statement`
Returns:
  The maximum size to use for the sql info buffer