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 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 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 aBatchParameterBuffer
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 (forop_execute
orop_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.listeners.ExceptionListenable
addExceptionListener, removeExceptionListener
-
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
-
-
-
-
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 (forop_execute
orop_execute2
) to the database.- Overrides:
sendExecute
in classV10Statement
- Parameters:
operation
- Operation (op_execute
orop_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 returnsfalse
)
-
createBatchParameterBuffer
public BatchParameterBuffer createBatchParameterBuffer() throws java.sql.SQLException
Description copied from interface:FbStatement
Creates aBatchParameterBuffer
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 reasonsjava.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 callonResponse
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 configurationonResponse
- 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 valuesonResponse
- 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 errorsjava.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 errorsjava.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 errorsjava.sql.SQLFeatureNotSupportedException
- when this statement implementation does not support batch updates- See Also:
FbStatement.supportBatchUpdates()
-
-