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 voidbatchCancel()Cancels the server side batch (that is, clear any rows batched on the server).BatchCompletionbatchExecute()Execute the batch on the server.BatchParameterBuffercreateBatchParameterBuffer()Creates aBatchParameterBufferinstance compatible with this protocol version.voiddeferredBatchCreate(FbBatchConfig batchConfig, DeferredResponse<java.lang.Void> onResponse)Sends batch create with deferred response processing.voiddeferredBatchRelease(DeferredResponse<java.lang.Void> onResponse)Closes (releases) the batch on the server with deferred response processing.voiddeferredBatchSend(java.util.Collection<RowValue> rowValues, DeferredResponse<java.lang.Void> onResponse)Sends batch data with deferred response processing.protected voidsendBatchCreate(FbBatchConfig batchConfig)protected voidsendBatchMsg(java.util.Collection<RowValue> rowValues)protected voidsendExecute(int operation, RowValue parameters)Sends the execute (forop_executeorop_execute2) to the database.booleansupportBatchUpdates()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.SQLExceptionDescription copied from class:V10StatementSends the execute (forop_executeorop_execute2) to the database.- Overrides:
sendExecutein classV10Statement- Parameters:
operation- Operation (op_executeorop_execute2)parameters- Parameters- Throws:
java.io.IOExceptionjava.sql.SQLException
-
supportBatchUpdates
public boolean supportBatchUpdates()
Description copied from interface:FbStatementReports whether this statement implementation supports server-side batch updates.- Returns:
trueserver-side batch updates supported,falseif not supported (default implementation returnsfalse)
-
createBatchParameterBuffer
public BatchParameterBuffer createBatchParameterBuffer() throws java.sql.SQLException
Description copied from interface:FbStatementCreates aBatchParameterBufferinstance 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:FbStatementSends 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 callonResponsebefore 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.SQLExceptionjava.io.IOException
-
deferredBatchSend
public void deferredBatchSend(java.util.Collection<RowValue> rowValues, DeferredResponse<java.lang.Void> onResponse) throws java.sql.SQLException
Description copied from interface:FbStatementSends 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.SQLExceptionjava.io.IOException
-
batchExecute
public BatchCompletion batchExecute() throws java.sql.SQLException
Description copied from interface:FbStatementExecute 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.SQLExceptionDescription copied from interface:FbStatementCancels 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:FbStatementCloses (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()
-
-