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

Method BLB_put_data

src/jrd/blb.cpp:1559–1585  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1557
1558
1559void blb::BLB_put_data(thread_db* tdbb, const UCHAR* buffer, SLONG length)
1560{
1561/**************************************
1562 *
1563 * b l b : : p u t _ d a t a
1564 *
1565 **************************************
1566 *
1567 * Functional description
1568 * Write data to a blob.
1569 * Don't worry about segment boundaries.
1570 *
1571 **************************************/
1572 SET_TDBB(tdbb);
1573 const BLOB_PTR* p = buffer;
1574
1575 while (length > 0)
1576 {
1577 // ASF: the comment below was copied from BLB_get_data
1578 // I have no idea why this limit is 32768 instead of 32767
1579 // 1994-August-12 David Schnepper
1580 const USHORT n = (USHORT) MIN(length, (SLONG) 32768);
1581 BLB_put_segment(tdbb, p, n);
1582 p += n;
1583 length -= n;
1584 }
1585}
1586
1587
1588void blb::BLB_put_segment(thread_db* tdbb, const void* seg, USHORT segment_length)

Callers 15

executeMethod · 0.80
performMethod · 0.80
aggPassMethod · 0.80
executeMethod · 0.80
putSegmentMethod · 0.80
appendFromBlobFunction · 0.80
evlBlobAppendFunction · 0.80
nextMethod · 0.80
evlEncodeDecode64Function · 0.80
evlEncodeDecodeHexFunction · 0.80
evlGetContextFunction · 0.80
evlOverlayFunction · 0.80

Calls 1

SET_TDBBFunction · 0.85

Tested by

no test coverage detected