MCPcopy Create free account
hub / github.com/MariaDB/server / split_block

Method split_block

sql/sql_cache.cc:3783–3807  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3781
3782
3783void Query_cache::split_block(Query_cache_block *block, size_t len)
3784{
3785 DBUG_ENTER("Query_cache::split_block");
3786 Query_cache_block *new_block = (Query_cache_block*)(((uchar*) block)+len);
3787
3788 new_block->init(block->length - len);
3789 total_blocks++;
3790 block->length=len;
3791 new_block->pnext = block->pnext;
3792 block->pnext = new_block;
3793 new_block->pprev = block;
3794 new_block->pnext->pprev = new_block;
3795
3796 if (block->type == Query_cache_block::FREE)
3797 {
3798 // if block was free then it already joined with all free neighbours
3799 insert_into_free_memory_list(new_block);
3800 }
3801 else
3802 free_memory_block(new_block);
3803
3804 DBUG_PRINT("qcache", ("split %p (%zu) new %p",
3805 block, len, new_block));
3806 DBUG_VOID_RETURN;
3807}
3808
3809
3810Query_cache_block *

Callers 1

end_of_resultMethod · 0.80

Calls 1

initMethod · 0.45

Tested by

no test coverage detected