mariadb/storage/innobase
Marko Mäkelä 255328d393 MDEV-16131 Assertion failed in dict_index_t::instant_field_value()
During a table-rebuilding online ALTER TABLE, if
dict_index_t::remove_instant() was invoked on the source table
(because it became empty), we would inadvertently change the way
how log records are written and parsed. We must keep the online_log
format unchanged throughout the whole table-rebuilding operation.

dict_col_t::def_t: Name the type of dict_col_t::def_val.

rec_get_n_add_field_len(), rec_set_n_add_field(): Define globally,
because these will be needed in row_log_table_low().

rec_init_offsets_temp(), rec_init_offsets_comp_ordinary(): Add
the parameter def_val for explicitly passing the default values
of the instantly added columns of the source table, so that
dict_index_t::instant_field_value() will not be called during
row_log_table_apply(). This allows us to consistently parse the
online_log records, even if the source table was converted
to the canonical non-instant format during the rebuild operation.

row_log_t::non_core_fields[]: The default values of the
instantly added columns on the source table; copied
during ha_innobase::prepare_inplace_alter_table()
while the table is exclusively locked.

row_log_t::instant_field_value(): Accessor to non_core_fields[],
analogous to dict_index_t::instant_field_value().

row_log_table_low(): Add fake_extra_size bytes to the record
header if the source table was converted to the canonical format
during the operation.

row_log_allocate(): Initialize row_log_t::non_core_fields.
2018-07-26 23:09:17 +03:00
..
btr Merge 10.2 into 10.3 2018-07-26 09:19:52 +03:00
buf Merge 10.2 into 10.3 2018-07-26 09:19:52 +03:00
data Fix most -Wsign-conversion in InnoDB 2018-04-28 20:45:45 +03:00
dict Merge 10.2 into 10.3 2018-07-05 17:08:44 +03:00
eval Fix most -Wsign-conversion in InnoDB 2018-04-28 20:45:45 +03:00
fil Follow-up to MDEV-12266: Remove latch_t::m_temp_fsp 2018-07-23 12:09:59 +03:00
fsp Merge 10.1 into 10.2 2018-05-29 16:52:12 +03:00
fts Merge 10.2 into 10.3 2018-05-12 22:14:59 +03:00
fut review fixes 2018-02-16 22:15:51 +03:00
gis Merge 10.2 into 10.3 2018-07-23 18:56:52 +03:00
ha Do not divide or multiply by srv_page_size 2018-04-28 20:52:22 +03:00
handler Merge 10.2 into 10.3 2018-07-26 09:19:52 +03:00
ibuf Merge 10.2 into 10.3 2018-06-18 15:43:59 +03:00
include MDEV-16131 Assertion failed in dict_index_t::instant_field_value() 2018-07-26 23:09:17 +03:00
lock Merge 10.2 into 10.3 2018-07-05 17:08:44 +03:00
log Merge branch '10.2' into 10.3 2018-06-30 16:39:20 +02:00
mach Fix Bug#24707869 GCC 5 AND 6 MISCOMPILE MACH_PARSE_COMPRESSED 2017-04-26 23:03:29 +03:00
mem Replace univ_page_size and UNIV_PAGE_SIZE 2018-04-28 20:45:45 +03:00
mtr Fix many -Wunused-parameter 2018-05-01 16:52:19 +03:00
mysql-test/storage_engine Follow up for 9a84980668 - adjustments to storage_engine tests 2018-05-03 20:54:23 +03:00
os Merge 10.2 into 10.3 2018-07-03 10:25:38 +03:00
page Merge 10.2 into 10.3 2018-07-26 09:19:52 +03:00
pars Fix most -Wsign-conversion in InnoDB 2018-04-28 20:45:45 +03:00
que Fix most -Wsign-conversion in InnoDB 2018-04-28 20:45:45 +03:00
read MDEV-15773 - Simplified away trx_sys_t::m_views 2018-04-04 14:09:37 +04:00
rem MDEV-16131 Assertion failed in dict_index_t::instant_field_value() 2018-07-26 23:09:17 +03:00
row MDEV-16131 Assertion failed in dict_index_t::instant_field_value() 2018-07-26 23:09:17 +03:00
srv Merge branch '10.2' into 10.3 2018-06-30 16:39:20 +02:00
sync Merge 10.2 into 10.3 2018-07-23 18:56:52 +03:00
trx Merge 10.2 into 10.3 2018-07-23 18:56:52 +03:00
ut Merge 10.2 into 10.3 2018-07-23 18:56:52 +03:00
bzip2.cmake cleanup: innodb files in cmake/ 2017-03-29 00:40:22 +02:00
CMakeLists.txt Make MariaDB CRC32-lib platform independence (#780) 2018-06-01 14:06:01 +04:00
compile-innodb move to storage/innobase 2015-05-04 19:17:21 +02:00
COPYING.Google move to storage/innobase 2015-05-04 19:17:21 +02:00
COPYING.Percona move to storage/innobase 2015-05-04 19:17:21 +02:00
innodb.cmake Fix WITH_INNODB_EXTRA_DEBUG 2018-04-30 18:19:54 +03:00
lz4.cmake cleanup: innodb files in cmake/ 2017-03-29 00:40:22 +02:00
lzma.cmake cleanup: innodb files in cmake/ 2017-03-29 00:40:22 +02:00
lzo.cmake cleanup: innodb files in cmake/ 2017-03-29 00:40:22 +02:00
plugin_exports Solaris compilation failure: xtradb is linked in statically, ha_innodb.so needs 2014-05-01 14:05:52 +02:00
snappy.cmake cleanup: innodb files in cmake/ 2017-03-29 00:40:22 +02:00