mirror of
https://github.com/MariaDB/server.git
synced 2025-12-20 03:05:51 +01: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
|
||
|---|---|---|
| .. | ||
| archive | ||
| atomic | ||
| binlog | ||
| binlog_encryption | ||
| client | ||
| compat | ||
| csv | ||
| encryption | ||
| engines | ||
| events | ||
| federated | ||
| funcs_1 | ||
| funcs_2 | ||
| galera | ||
| galera_3nodes | ||
| galera_3nodes_sr | ||
| galera_sr | ||
| gcol | ||
| handler | ||
| heap | ||
| innodb | ||
| innodb_fts | ||
| innodb_gis | ||
| innodb_i_s | ||
| innodb_zip | ||
| jp | ||
| json | ||
| large_tests | ||
| maria | ||
| mariabackup | ||
| merge | ||
| mtr/t | ||
| mtr2 | ||
| multi_source | ||
| optimizer_unfixed_bugs | ||
| parts | ||
| perfschema | ||
| perfschema_stress | ||
| period | ||
| plugins | ||
| roles | ||
| rpl | ||
| s3 | ||
| sql_sequence | ||
| storage_engine | ||
| stress | ||
| sys_vars | ||
| sysschema | ||
| unit | ||
| vcol | ||
| versioning | ||
| wsrep | ||