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

Method createBlob

src/yvalve/why.cpp:5779–5804  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5777}
5778
5779YBlob* YAttachment::createBlob(CheckStatusWrapper* status, ITransaction* transaction, ISC_QUAD* id,
5780 unsigned int bpbLength, const unsigned char* bpb)
5781{
5782 try
5783 {
5784 YEntry<YAttachment> entry(status, this);
5785
5786 YTransaction* yTra = getTransaction(transaction);
5787 NextTransaction nextTra(yTra->next);
5788
5789 IBlob* blob = entry.next()->createBlob(status, nextTra, id, bpbLength, bpb);
5790 YBlob* r = NULL;
5791 if (blob != NULL)
5792 {
5793 r = FB_NEW YBlob(this, yTra, blob);
5794 r->addRef();
5795 }
5796 return r;
5797 }
5798 catch (const Exception& e)
5799 {
5800 e.stuffException(status);
5801 }
5802
5803 return NULL;
5804}
5805
5806YBlob* YAttachment::openBlob(CheckStatusWrapper* status, ITransaction* transaction, ISC_QUAD* id,
5807 unsigned int bpbLength, const unsigned char* bpb)

Callers 2

loadFunction · 0.45
openOrCreateBlobFunction · 0.45

Calls 5

getTransactionFunction · 0.85
YBlobClass · 0.85
nextMethod · 0.45
addRefMethod · 0.45
stuffExceptionMethod · 0.45

Tested by

no test coverage detected