mariadb/mysql-test/suite
Aleksey Midenkov 04b06f69e6 MDEV-37008 ROW START/END columns added with ALTER TABLE are never INVISIBLE
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
2025-07-21 17:25:28 +03:00
..
archive Merge remote-tracking branch 'github/bb-11.4-release' into bb-11.8-serg 2025-04-27 19:40:00 +02:00
atomic Fix the test: changing charset should be dome when we can not skip the test. 2025-05-09 07:36:15 +02:00
binlog MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
binlog_encryption MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
client Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
compat mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
csv mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
encryption mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
engines MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
events MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
federated MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
funcs_1 cleanup: disconnect before DROP USER 2025-07-16 09:14:33 +07:00
funcs_2 Merge 11.4 into 11.8 2025-04-02 14:07:01 +03:00
galera MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
galera_3nodes Merge branch '11.8' into 12.0 2025-06-18 07:50:39 +02:00
galera_3nodes_sr Merge 11.4 into 11.8 2025-04-02 14:07:01 +03:00
galera_sr Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
gcol mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
handler mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
heap Merge branch '11.4' into 11.7 2025-02-06 16:46:36 +01:00
innodb cleanup: disconnect before DROP USER 2025-07-16 09:14:33 +07:00
innodb_fts mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
innodb_gis mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
innodb_i_s
innodb_zip Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
jp Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
json Merge branch '11.8' into 12.0 2025-05-22 09:22:55 +02:00
large_tests
maria MDEV-24 Segmented key cache for Aria 2025-06-25 17:59:45 +03:00
mariabackup mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
merge mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
mtr/t Remove dates from all rdiff files 2025-01-05 16:40:11 +02:00
mtr2
multi_source MDEV-35304: Fix multi_source.connects_tried 2025-04-29 11:00:37 -06:00
optimizer_unfixed_bugs
parts Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
perfschema cleanup: disconnect before DROP USER 2025-07-16 09:14:33 +07:00
perfschema_stress remove features that were deprecated in 10.5 2025-04-29 16:53:02 +02:00
period Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
plugins MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
roles MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
rpl MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
s3 Merge branch '11.8' into 12.0 2025-06-18 07:50:39 +02:00
sql_sequence cleanup: disconnect before DROP USER 2025-07-16 09:14:33 +07:00
storage_engine mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
stress MDEV-34453 Trying to read 16384 bytes at 70368744161280 outside the bounds of the file: ./ibdata1 2024-09-20 20:26:43 +05:30
sys_vars cleanup: disconnect before DROP USER 2025-07-16 09:14:33 +07:00
sysschema MDEV-34888 Implement SEMIJOIN() and SUBQUERY() hints 2025-05-05 12:02:47 +07:00
unit Merge branch '11.4' into 11.5 2024-08-05 17:50:18 +02:00
vcol MDEV-28933: Per-table unique FOREIGN KEY constraint names 2025-07-08 12:30:27 +03:00
versioning MDEV-37008 ROW START/END columns added with ALTER TABLE are never INVISIBLE 2025-07-21 17:25:28 +03:00
wsrep Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00