public class V18Statement extends V16Statement
exceptionListenerDispatcher, statementListenerDispatcher
Constructor and Description |
---|
V18Statement(FbWireDatabase database)
Creates a new instance of V18Statement for the specified database.
|
Modifier and Type | Method and Description |
---|---|
void |
clearCursorFlag(CursorFlag flag)
Clears cursor flag.
|
protected void |
fetchScrollImpl(FetchType fetchType,
int fetchSize,
int position)
Implementation of
AbstractFbStatement.fetchScroll(FetchType, int, int) . |
protected int |
getCursorFlagsAsInt() |
protected byte[] |
getCursorInfoImpl(byte[] requestItems,
int bufferLength)
Implementation of
AbstractFbStatement.getCursorInfo(byte[], int) . |
boolean |
isCursorFlagSet(CursorFlag flag)
Reports whether a cursor flag is set.
|
protected void |
sendExecute(int operation,
RowValue parameters)
Sends the execute (for
op_execute or op_execute2 ) to the database. |
protected void |
sendFetchScroll(FetchType fetchType,
int fetchSize,
int position) |
void |
setCursorFlag(CursorFlag flag)
Set cursor flag.
|
boolean |
supportsCursorInfo()
Reports whether this statement implementation supports
FbStatement.getCursorInfo(byte[], int, InfoProcessor) and
FbStatement.getCursorInfo(byte[], int) . |
boolean |
supportsFetchScroll()
Reports whether this statement implementation supports
FbStatement.fetchScroll(FetchType, int, int) with anything
other than FetchType.NEXT . |
batchCancel, batchExecute, createBatchParameterBuffer, deferredBatchCreate, deferredBatchRelease, deferredBatchSend, sendBatchCreate, sendBatchMsg, supportBatchUpdates
readSqlData, writeSqlData, writeSqlData
free, prepare
doFreePacket, execute, fetchRows, getDefaultSqlInfoSize, getMaxSqlInfoSize, processAllocateResponse, processExecuteResponse, processExecuteSingletonResponse, processFetchResponse, processFreeResponse, processPrepareResponse, readColumnData, sendAllocate, sendFetch, sendFree, sendPrepare, setCursorName, writeColumnData
calculateBlr, calculateBlr, close, emptyRowDescriptor, getBlrCalculator, getDatabase, getHandle, getInfo, getSqlInfo, getXdrIn, getXdrOut, isValidTransactionClass, setHandle, withLock, wrapDeferredResponse
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
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
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
addExceptionListener, removeExceptionListener
public V18Statement(FbWireDatabase database)
database
- FbWireDatabase implementationprotected void sendExecute(int operation, RowValue parameters) throws java.io.IOException, java.sql.SQLException
V10Statement
op_execute
or op_execute2
) to the database.sendExecute
in class V16Statement
operation
- Operation (op_execute
or op_execute2
)parameters
- Parametersjava.io.IOException
java.sql.SQLException
protected void fetchScrollImpl(FetchType fetchType, int fetchSize, int position) throws java.sql.SQLException
AbstractFbStatement
AbstractFbStatement.fetchScroll(FetchType, int, int)
.
An implementation should not notify exceptionListenerDispatcher
, as that is already handled in
AbstractFbStatement.fetchScroll(FetchType, int, int)
.
The implementation of AbstractFbStatement.fetchScroll(FetchType, int, int)
redirects FetchType.NEXT
to
FbStatement.fetchRows(int)
. The implementation does need to handle NEXT
, but only when actually implementing
the other scroll direction.
fetchScrollImpl
in class AbstractFbStatement
java.sql.SQLFeatureNotSupportedException
- If the protocol version or the implementation does not support scroll fetch (even for NEXT
)java.sql.SQLException
- For database access errors, when called on a closed statement, when no cursor is open, or for serverside
error conditionsAbstractFbStatement.fetchScroll(FetchType, int, int)
,
FbStatement.supportsFetchScroll()
protected void sendFetchScroll(FetchType fetchType, int fetchSize, int position) throws java.sql.SQLException, java.io.IOException
java.sql.SQLException
java.io.IOException
protected byte[] getCursorInfoImpl(byte[] requestItems, int bufferLength) throws java.sql.SQLException
AbstractFbStatement
AbstractFbStatement.getCursorInfo(byte[], int)
.
An implementation should not notify exceptionListenerDispatcher
, as that is already handled in
AbstractFbStatement.getCursorInfo(byte[], int)
.
getCursorInfoImpl
in class AbstractFbStatement
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)AbstractFbStatement.getCursorInfo(byte[], int)
,
FbStatement.supportsCursorInfo()
public boolean supportsFetchScroll()
FbStatement
FbStatement.fetchScroll(FetchType, int, int)
with anything
other than FetchType.NEXT
.true
fetchScroll
supported, false
if not supported (default implementation
returns false
)public boolean supportsCursorInfo()
FbStatement
FbStatement.getCursorInfo(byte[], int, InfoProcessor)
and
FbStatement.getCursorInfo(byte[], int)
.true
getCursorInfo
supported, false
if not supported (default implementation
returns false
)protected final int getCursorFlagsAsInt()
public final void setCursorFlag(CursorFlag flag)
FbStatement
If a protocol version does not support cursor flags, this is silently ignored.
flag
- Cursor flag to setpublic final void clearCursorFlag(CursorFlag flag)
FbStatement
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.
flag
- Cursor flag to clearpublic final boolean isCursorFlagSet(CursorFlag flag)
FbStatement
If a protocol version does not support cursor flags, false
should be returned.
flag
- Cursor flagtrue
when set, false
otherwiseCopyright © 2001-2024 Jaybird (Firebird JDBC) team. All rights reserved.