From c777add74f968724e6f2be679ce41328967781e0 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Mon, 8 Jan 2018 20:15:42 +0100 Subject: [PATCH] Tests: inserting an explicit value into a vers column must behave as any other generated column: an error in the strict mode, a warning otherwise. --- mysql-test/suite/versioning/r/insert.result | 6 +++++- mysql-test/suite/versioning/t/insert.test | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/mysql-test/suite/versioning/r/insert.result b/mysql-test/suite/versioning/r/insert.result index e90adde3144..48b1f2778fb 100644 --- a/mysql-test/suite/versioning/r/insert.result +++ b/mysql-test/suite/versioning/r/insert.result @@ -308,8 +308,11 @@ create or replace table t1 (x int) with system versioning engine innodb; insert into t1 values (1), (2); insert into t1 (row_start) select row_end from t1; ERROR HY000: The value specified for generated column 'row_start' in table 't1' ignored +set sql_mode=''; insert into t1 (row_start, row_end) values (DEFAULT, 1); -ERROR HY000: The value specified for generated column 'row_end' in table 't1' ignored +Warnings: +Warning 1906 The value specified for generated column 'row_end' in table 't1' ignored +set sql_mode=default; select @@sql_mode into @saved_mode; set sql_mode= ''; insert into t1 (x, row_start, row_end) values (3, 4, 5); @@ -322,6 +325,7 @@ select * from t1; x 1 2 +NULL 3 NULL # MDEV-14792 INSERT without column list into table with explicit versioning columns produces bad data diff --git a/mysql-test/suite/versioning/t/insert.test b/mysql-test/suite/versioning/t/insert.test index b870db33fcc..f459f196759 100644 --- a/mysql-test/suite/versioning/t/insert.test +++ b/mysql-test/suite/versioning/t/insert.test @@ -210,8 +210,9 @@ create or replace table t1 (x int) with system versioning engine innodb; insert into t1 values (1), (2); --error ER_WARNING_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN insert into t1 (row_start) select row_end from t1; ---error ER_WARNING_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN +set sql_mode=''; insert into t1 (row_start, row_end) values (DEFAULT, 1); +set sql_mode=default; select @@sql_mode into @saved_mode; set sql_mode= ''; insert into t1 (x, row_start, row_end) values (3, 4, 5);