/** * Scan the data buffer to see if end of data (SQL state 02000) * has been received. This method should only be called when the * cursor is being closed since the pointer to the current row can * be modified. * * @exception SqlException */ void scanDataBufferForEndOfData() throws SqlException { while (!allRowsReceivedFromServer() && (position_ != lastValidBytePosition_)) { stepNext(false); } }
/** * Scan the data buffer to see if end of data (SQL state 02000) * has been received. This method should only be called when the * cursor is being closed since the pointer to the current row can * be modified. * * @exception SqlException */ void scanDataBufferForEndOfData() throws SqlException { while (!allRowsReceivedFromServer() && (position_ != lastValidBytePosition_)) { stepNext(false); } }
protected void parseRowset_() throws SqlException { int row = 0; // Parse all the rows received in the rowset // The index we are passing will keep track of which row in the rowset we are parsing // so we can reuse the columnDataPosition/Length/IsNull arrays. while (netCursor_.calculateColumnOffsetsForRow_(row, true)) { rowsReceivedInCurrentRowset_++; row++; } // if rowset is not complete and an endqryrm was received, will skip the while loop // and go to the checkAndThrow method. otherwise flow an cntqry to try to complete // the rowset. // -- there is no need to complete the rowset for rowset cursors. fetching stops when // the end of data is returned or when an error occurs. all successfully fetched rows // are returned to the user. the specific error is not returned until the next fetch. while (rowsReceivedInCurrentRowset_ != fetchSize_ && !netCursor_.allRowsReceivedFromServer() && !isRowsetCursor_ && sensitivity_ != sensitivity_sensitive_dynamic__ && sensitivity_ != sensitivity_sensitive_static__) { flowFetchToCompleteRowset(); while (netCursor_.calculateColumnOffsetsForRow_(row, true)) { rowsReceivedInCurrentRowset_++; row++; } } checkAndThrowReceivedQueryTerminatingException(); }
protected void parseRowset_() throws SqlException { int row = 0; // Parse all the rows received in the rowset // The index we are passing will keep track of which row in the rowset we are parsing // so we can reuse the columnDataPosition/Length/IsNull arrays. while (netCursor_.calculateColumnOffsetsForRow_(row, true)) { rowsReceivedInCurrentRowset_++; row++; } // if rowset is not complete and an endqryrm was received, will skip the while loop // and go to the checkAndThrow method. otherwise flow an cntqry to try to complete // the rowset. // -- there is no need to complete the rowset for rowset cursors. fetching stops when // the end of data is returned or when an error occurs. all successfully fetched rows // are returned to the user. the specific error is not returned until the next fetch. while (rowsReceivedInCurrentRowset_ != fetchSize_ && !netCursor_.allRowsReceivedFromServer() && !isRowsetCursor_ && sensitivity_ != sensitivity_sensitive_dynamic__ && sensitivity_ != sensitivity_sensitive_static__) { flowFetchToCompleteRowset(); while (netCursor_.calculateColumnOffsetsForRow_(row, true)) { rowsReceivedInCurrentRowset_++; row++; } } checkAndThrowReceivedQueryTerminatingException(); }
if (allRowsReceivedFromServer() && (position_ == lastValidBytePosition_)) { markNextRowPosition(); isNull_ = columnDataIsNull; if (!allRowsReceivedFromServer()) { calculateLobColumnPositionsForRow(); if (!blocking_ && allRowsReceivedFromServer() && daNullIndicator == 0xFF) { return false;
if (allRowsReceivedFromServer() && (position_ == lastValidBytePosition_)) { markNextRowPosition(); isNull_ = columnDataIsNull; if (!allRowsReceivedFromServer()) { calculateLobColumnPositionsForRow(); if (!blocking_ && allRowsReceivedFromServer() && daNullIndicator == 0xFF) { return false;