• marko's avatar
    Reduce the size of the data dictionary cache. (Bug #20877) · 1c1026ec
    marko authored
    dtype_t: Remove unused field "prec", which was supposed to be used for
    the precision of decimal columns in stand-alone InnoDB.
    
    dtype_get_prec(): Remove.
    
    dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
    
    dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
    into bit-fields.
    
    dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
    
    dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
    
    Replace the default clust_pos value ULINT_UNDEFINED with
    REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
    the accessor function dict_col_get_clust_pos().
    
    dict_field_t: Turn prefix_len and fixed_len into bit-fields.
    
    dict_tree_t: Remove pad[64].
    
    dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
    cached, flags, stat_initialized, and autoinc_inited into bit-fields.
    Remove does_not_fit_in_memory from non-debug builds.
    
    dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
    n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
    
    dict_foreign_struct: Turn n_fields and type into bit-fields.
    
    rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
    Omit level unless #defined UNIV_SYNC_DEBUG.
    
    Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
    from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
    dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
    1c1026ec
data0type.h 15.9 KB