| 360 | } |
| 361 | |
| 362 | void BufferedStream::locate(thread_db* tdbb, FB_UINT64 position) const |
| 363 | { |
| 364 | Request* const request = tdbb->getRequest(); |
| 365 | Impure* const impure = request->getImpure<Impure>(m_impure); |
| 366 | |
| 367 | // If we haven't fetched and cached the underlying stream completely, do it now |
| 368 | if (impure->irsb_flags & irsb_mustread) |
| 369 | { |
| 370 | while (this->getRecord(tdbb)) |
| 371 | ; // no-op |
| 372 | fb_assert(!(impure->irsb_flags & irsb_mustread)); |
| 373 | } |
| 374 | |
| 375 | impure->irsb_position = position; |
| 376 | } |
| 377 | |
| 378 | FB_UINT64 BufferedStream::getCount(thread_db* tdbb) const |
| 379 | { |
no test coverage detected