| 645 | |
| 646 | |
| 647 | bool InternalStatement::doFetch(thread_db* tdbb) |
| 648 | { |
| 649 | FbLocalStatus status; |
| 650 | |
| 651 | bool res = true; |
| 652 | |
| 653 | { |
| 654 | EngineCallbackGuard guard(tdbb, *this, FB_FUNCTION); |
| 655 | |
| 656 | fb_assert(m_outMetadata->getMessageLength() == m_out_buffer.getCount()); |
| 657 | fb_assert(m_cursor); |
| 658 | res = m_cursor->fetchNext(&status, m_out_buffer.begin()) == IStatus::RESULT_OK; |
| 659 | } |
| 660 | |
| 661 | if (status->getState() & IStatus::STATE_ERRORS) |
| 662 | raise(&status, tdbb, "JResultSet::fetchNext"); |
| 663 | |
| 664 | return res; |
| 665 | } |
| 666 | |
| 667 | |
| 668 | void InternalStatement::doClose(thread_db* tdbb, bool drop) |