• marko's avatar
    Remove dict_tree_t, which should have been removed in r453. · 7696b8dd
    marko authored
    There always was a one-to-one mapping between dict_tree_t and dict_index_t.
    
    This saves 6 machine words per B-tree index in the data dictionary
    cache plus the memory allocation overhead.  We save one mem_heap_t
    object per index (15 machine words).  Considering the internal
    fragmentation of the buddy allocator in mem_area_alloc(), this should
    save 32 machine words per index (128 bytes on 32-bit systems and 256
    bytes on 64-bit systems).  (Bug #20877)
    
    struct dict_tree_struct, dict_tree_t: Remove.
    
    struct dict_index_struct: Add page and lock.
    
    dict_tree_create(): Remove.  Replace the invocation with
    assignment to index->page and a call to rw_lock_create(&index->lock).
    
    dict_tree_free(): Remove.  Replace the invocation wtih
    a call to rw_lock_free(&index->lock).
    
    dict_index_get_tree(): Remove.
    
    dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
    and remove the parameter, which was unused.
    
    btr_level_list_remove(): Remove the unused parameter "tree".
    
    Replace the occurrences of "tree" with "index" in names of variables,
    functions and data types, e.g. "dict_tree_t tree" becomes
    "dict_index_t index".  Remove local variables "tree" or "index" of
    functions that needed both "tree" and "index".
    7696b8dd
dict0crea.c 36 KB