@@ -1957,7 +1957,9 @@ func TestCreateTable(t *testing.T) {
19571957 " total int generated always as (price * qty),\n " +
19581958 " total_virtual int generated always as (price * qty) virtual,\n " +
19591959 " total_stored int generated always as ((price * qty) + 1) stored key,\n " +
1960- " total_comment int generated always as (ifnull(price, 0) * qty) stored comment 'computed'\n " +
1960+ " total_comment int generated always as (ifnull(price, 0) * qty) stored comment 'computed',\n " +
1961+ " total_not_null int generated always as (ifnull(price, 0) * ifnull(qty, 0)) stored not null,\n " +
1962+ " total_not_null_unique int generated always as (ifnull(price, 0) + ifnull(qty, 0)) stored not null comment 'derived' unique key\n " +
19611963 ")" ,
19621964
19631965 // test defining indexes separately
@@ -2177,6 +2179,10 @@ func TestCreateTable(t *testing.T) {
21772179 "alter table tbl_vis_a add column col_a int invisible" ,
21782180 "alter table tbl_vis_b modify column col_b int visible not null default 0" ,
21792181 "alter table tbl_vis_c change column col_old col_new int default 1 invisible" ,
2182+ "alter table tbl_gen_a add column col_gen int generated always as (col_src + 1) stored not null" ,
2183+ "alter table tbl_gen_b add column col_gen int generated always as (col_src + 1) not null stored" ,
2184+ "alter table tbl_gen_c modify column col_gen int generated always as (col_src + 1) comment 'derived' stored" ,
2185+ "alter table tbl_gen_d change column col_prev col_gen int generated always as (col_src + 1) key stored" ,
21802186 }
21812187 for _ , sql := range validAlterTableMultiSpecSQL {
21822188 tree , err := ParseStrictDDL (sql )
@@ -2461,6 +2467,10 @@ func TestCreateTable(t *testing.T) {
24612467 "alter table tbl_attr_bad6 add column col_a int visible invisible" ,
24622468 "alter table tbl_attr_bad7 add column col_a int invisible visible" ,
24632469 "create table tbl_attr_bad8 (col_a int visible visible)" ,
2470+ "alter table tbl_attr_bad9 add column col_a int generated always as (col_b + 1) stored virtual" ,
2471+ "alter table tbl_attr_bad10 add column col_a int generated always as (col_b + 1) not null null" ,
2472+ "alter table tbl_attr_bad11 add column col_a int generated always as (col_b + 1) key unique" ,
2473+ "alter table tbl_attr_bad12 add column col_a int generated always as (col_b + 1) comment 'a' comment 'b'" ,
24642474 }
24652475 for _ , sql := range invalidColumnAttributeDupSQL {
24662476 tree , err := ParseStrictDDL (sql )
0 commit comments