• marko's avatar
    Remove dict_col_t::hash, dict_col_t::table, · acd34bac
    marko authored
    dict_sys->col_hash, and DICT_POOL_PER_COL_HASH.  (Bug #20877)
    
    The col->table pointer was only needed for maintaining a hash table of
    all defined columns in all tables.  The hash table was only looked up
    in dict_index_find_cols().  Removing the col->hash and col->table
    pointers reduces the size of a table column by two machine words
    (usually 8 or 16 bytes).
    
    dict_col_add_to_cache(), dict_col_reposition_in_cache(),
    dict_col_remove_from_cache(): Remove.  These only updated dict_sys->col_hash.
    
    dict_index_find_cols(): Use a linear search instead of the hash table.
    The time complexity is affected, but this function is only invoked by
    dict_index_add_to_cache(), and we only search the columns of a single
    table (typically at most a few dozen) as opposed to all columns of all
    tables.
    acd34bac
dict0mem.c 6.39 KB