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

Method addBlobStream

src/remote/client/interface.cpp:2968–3000  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2966
2967
2968void Batch::addBlobStream(CheckStatusWrapper* status, unsigned length, const void* inBuffer)
2969{
2970 try
2971 {
2972 // Check and validate handles, etc.
2973 if (!stmt)
2974 {
2975 Arg::Gds(isc_bad_req_handle).raise();
2976 }
2977
2978 // Policy check
2979 if (blobPolicy != IBatch::BLOB_STREAM)
2980 {
2981 (Arg::Gds(isc_batch_policy) << "addBlobStream").raise();
2982 }
2983
2984 Rsr* statement = stmt->getStatement();
2985 CHECK_HANDLE(statement, isc_bad_req_handle);
2986 Rdb* rdb = statement->rsr_rdb;
2987 CHECK_HANDLE(rdb, isc_bad_db_handle);
2988 rem_port* port = rdb->rdb_port;
2989 RefMutexGuard portGuard(*port->port_sync, FB_FUNCTION);
2990
2991 // Store stream data
2992 putBlobData(length, inBuffer);
2993
2994 batchActive = true;
2995 }
2996 catch (const Exception& ex)
2997 {
2998 ex.stuffException(status);
2999 }
3000}
3001
3002
3003void Batch::sendBlobPacket(unsigned size, const UCHAR* ptr, bool flash)

Callers 1

batch_blob_streamMethod · 0.45

Calls 5

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

Tested by

no test coverage detected