MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / openCursor

Method openCursor

src/yvalve/why.cpp:4508–4538  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4506}
4507
4508IResultSet* 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
4540void YStatement::free(CheckStatusWrapper* status)
4541{

Callers 5

iscBlobLookupDescImplFunction · 0.45
iscArrayLookupBoundsImplFunction · 0.45
iscArrayLookupDescImplFunction · 0.45

Calls 11

YResultSetClass · 0.85
translateHandleFunction · 0.85
getTransactionFunction · 0.85
getNextTransactionMethod · 0.80
getMethod · 0.45
nextMethod · 0.45
getStateMethod · 0.45
getTransactionMethod · 0.45
addRefMethod · 0.45
stuffExceptionMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected