mirror of
https://github.com/MariaDB/server.git
synced 2025-08-25 03:41:39 +02:00
![]() FIXME: commit message invisible property in Alter_column and add_alter_alter_list(). mysql_prepare_alter_table() takes this value for new column definition. Vers_parse_info::fix_alter_info() is more fine-grained on throwing ER_VERS_ALTER_SYSTEM_FIELD. Now it does not fail on visibility change. mysqltest: At line 78: query 'alter table t add column trx_start timestamp(6) as row start' succeeded - should have failed with error ER_MISSING (4125)... In Vers_parse_info::fix_alter_info() we override data from parser: 9059 as_row= start_end_t(start, end); 9060 period= as_row; Then Vers_parse_info::check_conditions() fails to find error: 9180 if (!as_row.start || !as_row.end) 9181 { 9182 my_error(ER_MISSING, MYF(0), table_name.str, 9183 as_row.start ? "AS ROW END" : "AS ROW START"); 9184 return true; 9185 } But as_row is used when creating frm: 529 if (create_info->versioned()) 530 { 531 *pos++= EXTRA2_PERIOD_FOR_SYSTEM_TIME; 532 *pos++= 2 * frm_fieldno_size; 533 store_frm_fieldno(pos, get_fieldno_by_name(create_info, create_fields, 534 create_info->vers_info.as_row.start)); 535 pos+= frm_fieldno_size; 536 store_frm_fieldno(pos, get_fieldno_by_name(create_info, create_fields, 537 create_info->vers_info.as_row.end)); 538 pos+= frm_fieldno_size; 539 } There should be other info for it to take start/end indexes. Parser stage and prepare stage data separation. Vers_parse_info::as_row and period are left untouched (the exception is fix_create_like() where as_row |
||
---|---|---|
.. | ||
alter.result | ||
autoinc.result | ||
binlog.result | ||
commit_id.result | ||
create.result | ||
cte,32bit.rdiff | ||
cte.result | ||
data.result | ||
debug.result | ||
delete.result | ||
delete_history,32bit.rdiff | ||
delete_history.result | ||
derived.result | ||
foreign.result | ||
insert.result | ||
insert2.result | ||
misc.result | ||
not_embedded.result | ||
old_timestamp.result | ||
online.result | ||
optimized.result | ||
partition,heap.rdiff | ||
partition.result | ||
replace.result | ||
rpl.result | ||
rpl_mix.result | ||
rpl_row.result | ||
rpl_stmt.result | ||
select.result | ||
select2,trx_id.rdiff | ||
select2.result | ||
simple.result | ||
sysvars.result | ||
trx_id.result | ||
update,trx_id.rdiff | ||
update-big.result | ||
update.result | ||
view.result |