Some things still fail in innodb-index.test, and there seems to be
a race condition (data dictionary lock wait) when running with --valgrind.
dfield_t: Add an "external storage" flag, dfield->ext.
dfield_is_null(), dfield_is_ext(), dfield_set_ext(), dfield_set_null():
New functions.
dfield_copy(), dfield_copy_data(): Add const qualifiers, fix in/out comments.
data_write_sql_null(): Use memset().
big_rec_field_t: Replace byte* data with const void* data.
ut_ulint_sort(): Remove.
upd_field_t: Remove extern_storage.
upd_node_t: Replace ext_vec, n_ext_vec with n_ext.
row_merge_copy_blobs(): New function.
row_ins_index_entry(): Add the parameter "ibool foreign" for suppressing
foreign key checks during fast index creation or when inserting into
secondary indexes.
btr_page_insert_fits(): Add const qualifiers.
btr_cur_add_ext(), upd_ext_vec_contains(): Remove.
dfield_print_also_hex(), dfield_print(): Replace if...else if with switch.
Observe dfield_is_ext().
during fast index creation.
TEMP_TABLE_PREFIX: Move the definition from dict0dict.h to ut0ut.h.
ut_print_namel(): Check if the name starts with TEMP_TABLE_PREFIX.
innobase_rename_table(): Print all names with ut_print_name().
row_prebuilt_free(): Replace assert() with ut_a().
of UT_SORT_FUNCTION_BODY is best done by defining SORT_FUN and CMP_FUN as
macros when needed. The solution of r1523 allows for only one extra parameter.
functions.
ut_malloc_low(): Flag the block with UNIV_MEM_ALLOC(). Do not flag the
block with UNIV_MEM_FREE() in ut_free(), because it would cause bogus
Valgrind warnings in the underlying memory allocator.
mem_pool_create(): Flag the data area with UNIV_MEM_FREE().
mem_pool_fill_free_list(): Flag the area header with UNIV_MEM_ALLOC().
mem_area_alloc(): Flag the data area with UNIV_MEM_ALLOC().
mem_area_free(): Flag the data area with UNIV_MEM_FREE().
mem_heap_alloc(): Flag the buffer with UNIV_MEM_ALLOC().
mem_heap_block_free(): Flag the block with UNIV_MEM_FREE().
mem_heap_free_top(): Flag the block with UNIV_MEM_FREE().