mariadb/mysql-test/suite/vcol/r
Nikita Malyavin 25e2d0a6bb MDEV-34632 Assertion failed in handler::assert_icp_limitations
Assertion `table->field[0]->ptr >= table->record[0] &&
table->field[0]->ptr <= table->record[0] + table->s->reclength' failed in
handler::assert_icp_limitations.

table->move_fields has some limitations:
1. It cannot be used in cascade
2. It should always have a restoring pair.

Rule 1 is covered by assertions in handler::assert_icp_limitations
and handler::ptr_in_record (commit 30894fe9a9).

Rule 2 should be manually maintained with care. Hopefully, the rule 1 assertions
may sometimes help as well.

In ha_myisam::repair, both rules are broken. table->move_fields is used
asymmetrically there: it is set on every param->fix_record call
(i.e. in compute_vcols) but is restored only once, in the end of repair.

The reason to updating field ptr's for every call is that compute_vcols can
(supposedly) be called in parallel, that is, with the same table, but different
records.

The condition to "unmove" the pointers in ha_myisam::restore_vcos_after_repair
is incorrect, when stored vcols are available, and myisam stores a VIRTUAL field
if it's the only field in the table (the record cannot be of zero length).

This patch solves the problem by "unmoving" the pointers symmetrically, in
compute_vcols. That is, both rules will be preserved maintained.
2024-08-07 14:50:19 +02:00
..
alter_inplace-9045.result
binlog.result Merge remote-tracking branch 'origin/10.4' into 10.5 2022-09-14 16:24:51 +04:00
charsets.result
cross_db.result MDEV-29446 Change SHOW CREATE TABLE to display default collation 2022-09-12 22:10:39 +04:00
delayed.result
func_regexp.result MDEV-21058 CREATE TABLE with generated column and RLIKE results in sigabrt 2024-04-29 11:08:07 +04:00
index.result
innodb_autoinc_vcol.result MDEV-29446 Change SHOW CREATE TABLE to display default collation 2022-09-12 22:10:39 +04:00
innodb_virtual_fk.result MDEV-31853 Assertion failure in Column_definition::check_vcol_for_key upon adding FK 2023-08-06 20:08:51 +02:00
load_data.result
mrr.result
myisam_repair_prefix_varchar.result
not_supported.result try harder to reject not strictly deterministic vcols in indexes/stored 2022-12-02 16:19:13 +01:00
partition.result MDEV-28127 EXCHANGE PARTITION with non-matching vcol expression segfault 2023-11-10 15:46:15 +03:00
races.result
range.result
rpl_vcol.result Merge remote-tracking branch 'origin/10.4' into 10.5 2022-09-14 16:24:51 +04:00
update.result Merge 10.3 into 10.4 2022-09-13 16:36:38 +03:00
update_binlog.result Merge 10.3 into 10.4 2022-09-13 16:36:38 +03:00
upgrade.result MDEV-30016 Virtual columns do not support autoincrement columns 2022-12-02 16:19:13 +01:00
vcol_archive.result
vcol_blackhole.result
vcol_blocked_sql_funcs.result Merge 10.4 into 10.5 2023-01-03 17:08:42 +02:00
vcol_column_def_options_innodb.result Merge remote-tracking branch 'origin/10.4' into 10.5 2022-09-14 16:24:51 +04:00
vcol_column_def_options_myisam.result Merge remote-tracking branch 'origin/10.4' into 10.5 2022-09-14 16:24:51 +04:00
vcol_csv.result
vcol_handler_aria.result
vcol_handler_innodb.result
vcol_handler_myisam.result
vcol_ins_upd_innodb.result
vcol_ins_upd_myisam.result
vcol_keys_aria.result
vcol_keys_innodb.result MDEV-34632 Assertion failed in handler::assert_icp_limitations 2024-08-07 14:50:19 +02:00
vcol_keys_myisam.result MDEV-34632 Assertion failed in handler::assert_icp_limitations 2024-08-07 14:50:19 +02:00
vcol_memory.result
vcol_merge.result
vcol_misc.result Merge branch '10.4' into 10.5 2023-11-08 12:59:00 +01:00
vcol_non_stored_columns_innodb.result Merge remote-tracking branch 'origin/10.4' into 10.5 2022-09-14 16:24:51 +04:00
vcol_non_stored_columns_myisam.result Merge remote-tracking branch 'origin/10.4' into 10.5 2022-09-14 16:24:51 +04:00
vcol_partition_innodb.result
vcol_partition_myisam.result
vcol_select_innodb.result
vcol_select_myisam.result
vcol_sql_mode.result Merge remote-tracking branch 'origin/10.4' into 10.5 2022-09-14 16:24:51 +04:00
vcol_sql_mode_datetime.result
vcol_sql_mode_time.result
vcol_sql_mode_timestamp.result
vcol_sql_mode_upgrade.result MDEV-31853 Assertion failure in Column_definition::check_vcol_for_key upon adding FK 2023-08-06 20:08:51 +02:00
vcol_supported_sql_funcs.result Merge remote-tracking branch 'origin/10.4' into 10.5 2022-09-14 16:24:51 +04:00
vcol_syntax.result Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
vcol_trigger_sp_innodb.result
vcol_trigger_sp_myisam.result
vcol_utf32.result MDEV-27966 Assertion fixed()' failed and Assertion fixed == 1' failed, both in Item_func_concat::val_str on SELECT after INSERT with collation utf32_bin on utf8_bin table 2024-06-19 10:01:30 +04:00
vcol_view_innodb.result
vcol_view_myisam.result
wrong_arena.result Merge 10.3 into 10.4 2022-09-13 16:36:38 +03:00