Class V18Statement
- 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
-
- org.firebirdsql.gds.ng.wire.version18.V18Statement
-
- All Implemented Interfaces:
java.lang.AutoCloseable,FbStatement,ExceptionListenable,FbWireStatement
public class V18Statement extends V16Statement
- Since:
- 5
- Author:
- Mark Rotteveel
-
-
Field Summary
-
Fields inherited from class org.firebirdsql.gds.ng.AbstractFbStatement
exceptionListenerDispatcher, statementListenerDispatcher
-
-
Constructor Summary
Constructors Constructor Description V18Statement(FbWireDatabase database)Creates a new instance of V18Statement for the specified database.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearCursorFlag(CursorFlag flag)Clears cursor flag.protected voidfetchScrollImpl(FetchType fetchType, int fetchSize, int position)Implementation ofAbstractFbStatement.fetchScroll(FetchType, int, int).protected intgetCursorFlagsAsInt()protected byte[]getCursorInfoImpl(byte[] requestItems, int bufferLength)Implementation ofAbstractFbStatement.getCursorInfo(byte[], int).booleanisCursorFlagSet(CursorFlag flag)Reports whether a cursor flag is set.protected voidsendExecute(int operation, RowValue parameters)Sends the execute (forop_executeorop_execute2) to the database.protected voidsendFetchScroll(FetchType fetchType, int fetchSize, int position)voidsetCursorFlag(CursorFlag flag)Set cursor flag.booleansupportsCursorInfo()Reports whether this statement implementation supportsFbStatement.getCursorInfo(byte[], int, InfoProcessor)andFbStatement.getCursorInfo(byte[], int).booleansupportsFetchScroll()Reports whether this statement implementation supportsFbStatement.fetchScroll(FetchType, int, int)with anything other thanFetchType.NEXT.-
Methods inherited from class org.firebirdsql.gds.ng.wire.version16.V16Statement
batchCancel, batchExecute, createBatchParameterBuffer, deferredBatchCreate, deferredBatchRelease, deferredBatchSend, sendBatchCreate, sendBatchMsg, supportBatchUpdates
-
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, finalize, forceState, getAllowedTimeout, getCursorInfo, getCursorInfo, 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, close, closeCursor, closeCursor, emptyRowDescriptor, ensureClosedCursor, fetchScroll, getCursorInfo, getCursorInfo, getDatabase, getExecutionPlan, getExplainedExecutionPlan, getHandle, getParameterDescriptor, getRowDescriptor, getSqlCounts, getSqlInfo, getSqlInfo, getState, getTimeout, getTransaction, getType, hasFetched, removeStatementListener, setTimeout, setTransaction, unprepare, validateParameters, withLock
-
-
-
-
Constructor Detail
-
V18Statement
public V18Statement(FbWireDatabase database)
Creates a new instance of V18Statement 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 classV16Statement- Parameters:
operation- Operation (op_executeorop_execute2)parameters- Parameters- Throws:
java.io.IOExceptionjava.sql.SQLException
-
fetchScrollImpl
protected void fetchScrollImpl(FetchType fetchType, int fetchSize, int position) throws java.sql.SQLException
Description copied from class:AbstractFbStatementImplementation ofAbstractFbStatement.fetchScroll(FetchType, int, int).An implementation should not notify
exceptionListenerDispatcher, as that is already handled inAbstractFbStatement.fetchScroll(FetchType, int, int).The implementation of
AbstractFbStatement.fetchScroll(FetchType, int, int)redirectsFetchType.NEXTtoFbStatement.fetchRows(int). The implementation does need to handleNEXT, but only when actually implementing the other scroll direction.- Overrides:
fetchScrollImplin classAbstractFbStatement- Throws:
java.sql.SQLFeatureNotSupportedException- If the protocol version or the implementation does not support scroll fetch (even forNEXT)java.sql.SQLException- For database access errors, when called on a closed statement, when no cursor is open, or for serverside error conditions- See Also:
AbstractFbStatement.fetchScroll(FetchType, int, int),FbStatement.supportsFetchScroll()
-
sendFetchScroll
protected void sendFetchScroll(FetchType fetchType, int fetchSize, int position) throws java.sql.SQLException, java.io.IOException
- Throws:
java.sql.SQLExceptionjava.io.IOException
-
getCursorInfoImpl
protected byte[] getCursorInfoImpl(byte[] requestItems, int bufferLength) throws java.sql.SQLExceptionDescription copied from class:AbstractFbStatementImplementation ofAbstractFbStatement.getCursorInfo(byte[], int).An implementation should not notify
exceptionListenerDispatcher, as that is already handled inAbstractFbStatement.getCursorInfo(byte[], int).- Overrides:
getCursorInfoImplin classAbstractFbStatement- Throws:
java.sql.SQLException- For errors retrieving or transforming the responsejava.sql.SQLFeatureNotSupportedException- If requesting cursor info is not supported (Firebird 4.0 or earlier, or native implementation)- See Also:
AbstractFbStatement.getCursorInfo(byte[], int),FbStatement.supportsCursorInfo()
-
supportsFetchScroll
public boolean supportsFetchScroll()
Description copied from interface:FbStatementReports whether this statement implementation supportsFbStatement.fetchScroll(FetchType, int, int)with anything other thanFetchType.NEXT.- Returns:
truefetchScrollsupported,falseif not supported (default implementation returnsfalse)
-
supportsCursorInfo
public boolean supportsCursorInfo()
Description copied from interface:FbStatementReports whether this statement implementation supportsFbStatement.getCursorInfo(byte[], int, InfoProcessor)andFbStatement.getCursorInfo(byte[], int).- Returns:
truegetCursorInfosupported,falseif not supported (default implementation returnsfalse)
-
getCursorFlagsAsInt
protected final int getCursorFlagsAsInt()
-
setCursorFlag
public final void setCursorFlag(CursorFlag flag)
Description copied from interface:FbStatementSet cursor flag.If a protocol version does not support cursor flags, this is silently ignored.
- Parameters:
flag- Cursor flag to set
-
clearCursorFlag
public final void clearCursorFlag(CursorFlag flag)
Description copied from interface:FbStatementClears cursor flag.Setting a cursor flag only affects subsequent executes. A currently open cursor will not be affected.
If a protocol version does not support cursor flags, this is silently ignored.
- Parameters:
flag- Cursor flag to clear
-
isCursorFlagSet
public final boolean isCursorFlagSet(CursorFlag flag)
Description copied from interface:FbStatementReports whether a cursor flag is set.If a protocol version does not support cursor flags,
falseshould be returned.- Parameters:
flag- Cursor flag- Returns:
truewhen set,falseotherwise
-
-