| 4506 | } |
| 4507 | |
| 4508 | IResultSet* YStatement::openCursor(CheckStatusWrapper* status, ITransaction* transaction, |
| 4509 | IMessageMetadata* inMetadata, void* inBuffer, IMessageMetadata* outMetadata, unsigned int flags) |
| 4510 | { |
| 4511 | try |
| 4512 | { |
| 4513 | YEntry<YStatement> entry(status, this); |
| 4514 | |
| 4515 | NextTransaction trans; |
| 4516 | if (transaction) |
| 4517 | attachment.get()->getNextTransaction(status, transaction, trans); |
| 4518 | |
| 4519 | IResultSet* rs = entry.next()->openCursor(status, trans, inMetadata, inBuffer, outMetadata, flags); |
| 4520 | if (status->getState() & IStatus::STATE_ERRORS) |
| 4521 | { |
| 4522 | return NULL; |
| 4523 | } |
| 4524 | fb_assert(rs); |
| 4525 | |
| 4526 | YTransaction* const yTra = attachment.get()->getTransaction(transaction); |
| 4527 | |
| 4528 | YResultSet* r = FB_NEW YResultSet(attachment.get(), yTra, this, rs); |
| 4529 | r->addRef(); |
| 4530 | return r; |
| 4531 | } |
| 4532 | catch (const Exception& e) |
| 4533 | { |
| 4534 | e.stuffException(status); |
| 4535 | } |
| 4536 | |
| 4537 | return NULL; |
| 4538 | } |
| 4539 | |
| 4540 | void YStatement::free(CheckStatusWrapper* status) |
| 4541 | { |
no test coverage detected