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

Method openBlob

src/yvalve/why.cpp:5806–5831  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5804}
5805
5806YBlob* YAttachment::openBlob(CheckStatusWrapper* status, ITransaction* transaction, ISC_QUAD* id,
5807 unsigned int bpbLength, const unsigned char* bpb)
5808{
5809 try
5810 {
5811 YEntry<YAttachment> entry(status, this);
5812
5813 YTransaction* yTra = getTransaction(transaction);
5814 NextTransaction nextTra(yTra->next);
5815
5816 IBlob* blob = entry.next()->openBlob(status, nextTra, id, bpbLength, bpb);
5817 YBlob* r = NULL;
5818 if (blob != NULL)
5819 {
5820 r = FB_NEW YBlob(this, yTra, blob);
5821 r->addRef();
5822 }
5823 return r;
5824 }
5825 catch (const Exception& e)
5826 {
5827 e.stuffException(status);
5828 }
5829
5830 return NULL;
5831}
5832
5833int YAttachment::getSlice(CheckStatusWrapper* status, ITransaction* transaction, ISC_QUAD* id,
5834 unsigned int sdlLength, const unsigned char* sdl, unsigned int paramLength,

Callers 2

dumpFunction · 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