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

Method deleteRecord

src/jrd/replication/Replicator.cpp:389–415  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

387}
388
389void Replicator::deleteRecord(CheckStatusWrapper* status,
390 Transaction* transaction,
391 const char* relName,
392 IReplicatedRecord* record)
393{
394 try
395 {
396 const auto length = record->getRawLength();
397 const auto data = record->getRawData();
398
399 auto& txnData = transaction->getData();
400
401 const auto atom = txnData.defineAtom(relName);
402
403 txnData.putTag(opDeleteRecord);
404 txnData.putInt32(atom);
405 txnData.putInt32(length);
406 txnData.putBinary(length, data);
407
408 if (txnData.getSize() > m_config->bufferSize)
409 flush(txnData, FLUSH_OVERFLOW);
410 }
411 catch (const Exception& ex)
412 {
413 ex.stuffException(status);
414 }
415}
416
417void Replicator::executeSqlIntl(CheckStatusWrapper* status,
418 Transaction* transaction,

Callers

nothing calls this directly

Calls 9

putTagMethod · 0.80
putInt32Method · 0.80
putBinaryMethod · 0.80
getRawLengthMethod · 0.45
getRawDataMethod · 0.45
getDataMethod · 0.45
defineAtomMethod · 0.45
getSizeMethod · 0.45
stuffExceptionMethod · 0.45

Tested by

no test coverage detected