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

Method appendBlobData

src/remote/client/interface.cpp:2931–2965  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2929
2930
2931void Batch::appendBlobData(CheckStatusWrapper* status, unsigned length, const void* inBuffer)
2932{
2933 try
2934 {
2935 // Check and validate handles, etc.
2936 if (!stmt)
2937 {
2938 Arg::Gds(isc_bad_req_handle).raise();
2939 }
2940
2941 // Policy check
2942 switch (blobPolicy)
2943 {
2944 case IBatch::BLOB_ID_USER:
2945 case IBatch::BLOB_ID_ENGINE:
2946 break;
2947 default:
2948 (Arg::Gds(isc_batch_policy) << "appendBlobData").raise();
2949 }
2950
2951 Rsr* statement = stmt->getStatement();
2952 CHECK_HANDLE(statement, isc_bad_req_handle);
2953 Rdb* rdb = statement->rsr_rdb;
2954 CHECK_HANDLE(rdb, isc_bad_db_handle);
2955 rem_port* port = rdb->rdb_port;
2956 RefMutexGuard portGuard(*port->port_sync, FB_FUNCTION);
2957
2958 // Store blob data
2959 putSegment(length, inBuffer);
2960 }
2961 catch (const Exception& ex)
2962 {
2963 ex.stuffException(status);
2964 }
2965}
2966
2967
2968void Batch::addBlobStream(CheckStatusWrapper* status, unsigned length, const void* inBuffer)

Callers

nothing calls this directly

Calls 6

GdsClass · 0.85
CHECK_HANDLEFunction · 0.85
putSegmentFunction · 0.85
raiseMethod · 0.45
getStatementMethod · 0.45
stuffExceptionMethod · 0.45

Tested by

no test coverage detected