MCPcopy Create free account
hub / github.com/RedisGraph/RedisGraph / _DataBlock_AddBlocks

Function _DataBlock_AddBlocks

src/util/datablock/datablock.c:31–54  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29 dataBlock->blocks[ITEM_INDEX_TO_BLOCK_INDEX(idx, dataBlock->blockCap)]
30
31static void _DataBlock_AddBlocks
32(
33 DataBlock *dataBlock,
34 uint blockCount
35) {
36 ASSERT(dataBlock);
37 ASSERT(blockCount > 0);
38
39 uint prevBlockCount = dataBlock->blockCount;
40 dataBlock->blockCount += blockCount;
41 if(!dataBlock->blocks)
42 dataBlock->blocks = rm_malloc(sizeof(Block *) * dataBlock->blockCount);
43 else
44 dataBlock->blocks = rm_realloc(dataBlock->blocks, sizeof(Block *) * dataBlock->blockCount);
45
46 uint i;
47 for(i = prevBlockCount; i < dataBlock->blockCount; i++) {
48 dataBlock->blocks[i] = Block_New(dataBlock->itemSize, dataBlock->blockCap);
49 if(i > 0) dataBlock->blocks[i - 1]->next = dataBlock->blocks[i];
50 }
51 dataBlock->blocks[i - 1]->next = NULL;
52
53 dataBlock->itemCap = dataBlock->blockCount * dataBlock->blockCap;
54}
55
56// Checks to see if idx is within global array bounds
57// array bounds are between 0 and itemCount + #deleted indices

Callers 4

DataBlock_NewFunction · 0.85
DataBlock_AccommodateFunction · 0.85
DataBlock_EnsureFunction · 0.85
DataBlock_AllocateItemFunction · 0.85

Calls 3

rm_mallocFunction · 0.85
rm_reallocFunction · 0.85
Block_NewFunction · 0.85

Tested by

no test coverage detected