mariadb/row
marko 77ebaf6f33 branches/zip: dtuple_convert_big_rec(): Do not store anything locally
of externally stored columns, and fix bugs introduced in r873.  (Bug #22496)

btr_page_get_sure_split_rec(), btr_page_insert_fits(),
rec_get_converted_size(), rec_convert_dtuple_to_rec(),
rec_convert_dtuple_to_rec_old(), rec_convert_dtuple_to_rec_new():
Add parameters ext and n_ext.  Flag external fields during the
conversion.

rec_set_field_extern_bits(), rec_set_field_extern_bits_new(),
rec_offs_set_nth_extern(), rec_set_nth_field_extern_bit_old():
Remove.  The bits are set by rec_convert_dtuple_to_rec().

page_cur_insert_rec_low(): Remove the parameters ext and n_ext.

btr_cur_add_ext(): New utility function for updating and sorting ext[].
Low-level functions now expect the array to be in ascending order
for performance reasons.  Used in btr_cur_optimistic_insert(),
btr_cur_pessimistic_insert(), and btr_cur_pessimistic_update().

btr_cur_optimistic_insert(): Remove some defensive code, because we cannot
compute the added parameters of rec_get_converted_size().

btr_push_update_extern_fields(): Sort the array.  Require the array to
be twice the maximum usage, so that ut_ulint_sort() can be used.

dtuple_convert_big_rec(): Allocate new space for the BLOB pointer,
to avoid overwriting prefix indexes to the same column.  Adapt
dtuple_convert_back_big_rec().

row_build_index_entry(): Fetch the columns also for prefix indexes of
the clustered index.

page_zip_apply_log(), page_zip_decompress_clust(): Allow externally
stored fields to lack a locally stored part.
2006-09-29 10:40:42 +00:00
..
Makefile.am branches/zip: Add row_ext_t for caching prefixes of externally stored columns. 2006-09-26 07:28:23 +00:00
row0ext.c branches/zip: Add row_ext_t for caching prefixes of externally stored columns. 2006-09-26 07:28:23 +00:00
row0ins.c branches/zip: Allow the locally stored part of externally stored columns 2006-09-26 11:50:54 +00:00
row0mysql.c branches/zip: Merge revisions 804:838 from trunk. 2006-09-19 10:14:07 +00:00
row0purge.c branches/zip: Allow the locally stored part of externally stored columns 2006-09-26 11:50:54 +00:00
row0row.c branches/zip: row_build_index_entry(): Fix errors introduced in r870. 2006-09-26 14:26:19 +00:00
row0sel.c branches/zip: Implement the ability to fetch a prefix of an externally 2006-09-26 06:22:16 +00:00
row0uins.c branches/zip: Allow the locally stored part of externally stored columns 2006-09-26 11:50:54 +00:00
row0umod.c branches/zip: Allow the locally stored part of externally stored columns 2006-09-26 11:50:54 +00:00
row0undo.c branches/zip: Allow the locally stored part of externally stored columns 2006-09-26 11:50:54 +00:00
row0upd.c branches/zip: dtuple_convert_big_rec(): Do not store anything locally 2006-09-29 10:40:42 +00:00
row0vers.c branches/zip: Allow the locally stored part of externally stored columns 2006-09-26 11:50:54 +00:00