mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-18819 ALTER_COLUMN_VCOL is not set for generated stored columns
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
--- alter_algorithm.result
|
||||
+++ alter_algorithm.reject
|
||||
@@ -7,44 +7,44 @@
|
||||
@@ -7,40 +7,40 @@
|
||||
INSERT INTO t1(f1, f2, f3) VALUES(1, 1, 1);
|
||||
SELECT @@alter_algorithm;
|
||||
@@alter_algorithm
|
||||
@ -18,12 +18,6 @@
|
||||
-affected rows: 1
|
||||
-info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
+affected rows: 0
|
||||
+info: Records: 0 Duplicates: 0 Warnings: 0
|
||||
# Make existing column NON-NULLABLE
|
||||
ALTER TABLE t1 MODIFY f3 INT NOT NULL;
|
||||
-affected rows: 1
|
||||
-info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
+affected rows: 0
|
||||
+info: Records: 0 Duplicates: 0 Warnings: 0
|
||||
# Drop Stored Column
|
||||
ALTER TABLE t1 DROP COLUMN f5;
|
||||
@ -64,7 +58,7 @@
|
||||
DROP TABLE t1;
|
||||
affected rows: 0
|
||||
CREATE TABLE t1(f1 INT PRIMARY KEY, f2 INT NOT NULL,
|
||||
@@ -57,22 +57,22 @@
|
||||
@@ -53,22 +53,22 @@
|
||||
FOREIGN KEY fidx(f1) REFERENCES t1(f1))ENGINE=INNODB;
|
||||
INSERT INTO t1(f1, f2, f4, f5) VALUES(1, 2, 3, 4);
|
||||
ALTER TABLE t1 ADD INDEX idx1(f4), page_compressed=1;
|
||||
@ -97,7 +91,7 @@
|
||||
DROP TABLE t2, t1;
|
||||
affected rows: 0
|
||||
CREATE TABLE t1(f1 INT NOT NULL,
|
||||
@@ -85,27 +85,27 @@
|
||||
@@ -81,27 +81,27 @@
|
||||
INSERT INTO t1(f1, f2) VALUES(1, 1);
|
||||
# Add column at the end of the table
|
||||
ALTER TABLE t1 ADD COLUMN f4 char(100) default 'BIG WALL';
|
||||
@ -135,7 +129,7 @@
|
||||
# Column length varies
|
||||
ALTER TABLE t2 CHANGE f3 f3 VARCHAR(20);
|
||||
affected rows: 0
|
||||
@@ -113,12 +113,12 @@
|
||||
@@ -109,12 +109,12 @@
|
||||
SET foreign_key_checks = 0;
|
||||
affected rows: 0
|
||||
ALTER TABLE t3 ADD FOREIGN KEY fidx(f2) REFERENCES t2(f1);
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- alter_algorithm.result
|
||||
+++ alter_algorithm.reject
|
||||
@@ -7,44 +7,35 @@
|
||||
@@ -7,40 +7,32 @@
|
||||
INSERT INTO t1(f1, f2, f3) VALUES(1, 1, 1);
|
||||
SELECT @@alter_algorithm;
|
||||
@@alter_algorithm
|
||||
@ -16,11 +16,6 @@
|
||||
ALTER TABLE t1 MODIFY f2 INT;
|
||||
-affected rows: 1
|
||||
-info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
+Got one of the listed errors
|
||||
# Make existing column NON-NULLABLE
|
||||
ALTER TABLE t1 MODIFY f3 INT NOT NULL;
|
||||
-affected rows: 1
|
||||
-info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
+Got one of the listed errors
|
||||
# Drop Stored Column
|
||||
ALTER TABLE t1 DROP COLUMN f5;
|
||||
@ -55,7 +50,7 @@
|
||||
DROP TABLE t1;
|
||||
affected rows: 0
|
||||
CREATE TABLE t1(f1 INT PRIMARY KEY, f2 INT NOT NULL,
|
||||
@@ -57,22 +48,17 @@
|
||||
@@ -53,22 +45,17 @@
|
||||
FOREIGN KEY fidx(f1) REFERENCES t1(f1))ENGINE=INNODB;
|
||||
INSERT INTO t1(f1, f2, f4, f5) VALUES(1, 2, 3, 4);
|
||||
ALTER TABLE t1 ADD INDEX idx1(f4), page_compressed=1;
|
||||
@ -83,7 +78,7 @@
|
||||
DROP TABLE t2, t1;
|
||||
affected rows: 0
|
||||
CREATE TABLE t1(f1 INT NOT NULL,
|
||||
@@ -85,27 +71,27 @@
|
||||
@@ -81,27 +68,27 @@
|
||||
INSERT INTO t1(f1, f2) VALUES(1, 1);
|
||||
# Add column at the end of the table
|
||||
ALTER TABLE t1 ADD COLUMN f4 char(100) default 'BIG WALL';
|
||||
@ -121,7 +116,7 @@
|
||||
# Column length varies
|
||||
ALTER TABLE t2 CHANGE f3 f3 VARCHAR(20);
|
||||
affected rows: 0
|
||||
@@ -113,12 +99,12 @@
|
||||
@@ -109,12 +96,12 @@
|
||||
SET foreign_key_checks = 0;
|
||||
affected rows: 0
|
||||
ALTER TABLE t3 ADD FOREIGN KEY fidx(f2) REFERENCES t2(f1);
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- alter_algorithm.result
|
||||
+++ alter_algorithm.reject
|
||||
@@ -7,44 +7,35 @@
|
||||
@@ -7,40 +7,32 @@
|
||||
INSERT INTO t1(f1, f2, f3) VALUES(1, 1, 1);
|
||||
SELECT @@alter_algorithm;
|
||||
@@alter_algorithm
|
||||
@ -16,11 +16,6 @@
|
||||
ALTER TABLE t1 MODIFY f2 INT;
|
||||
-affected rows: 1
|
||||
-info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
+Got one of the listed errors
|
||||
# Make existing column NON-NULLABLE
|
||||
ALTER TABLE t1 MODIFY f3 INT NOT NULL;
|
||||
-affected rows: 1
|
||||
-info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
+Got one of the listed errors
|
||||
# Drop Stored Column
|
||||
ALTER TABLE t1 DROP COLUMN f5;
|
||||
@ -55,7 +50,7 @@
|
||||
DROP TABLE t1;
|
||||
affected rows: 0
|
||||
CREATE TABLE t1(f1 INT PRIMARY KEY, f2 INT NOT NULL,
|
||||
@@ -57,22 +48,22 @@
|
||||
@@ -53,22 +45,22 @@
|
||||
FOREIGN KEY fidx(f1) REFERENCES t1(f1))ENGINE=INNODB;
|
||||
INSERT INTO t1(f1, f2, f4, f5) VALUES(1, 2, 3, 4);
|
||||
ALTER TABLE t1 ADD INDEX idx1(f4), page_compressed=1;
|
||||
@ -88,7 +83,7 @@
|
||||
DROP TABLE t2, t1;
|
||||
affected rows: 0
|
||||
CREATE TABLE t1(f1 INT NOT NULL,
|
||||
@@ -85,27 +76,27 @@
|
||||
@@ -81,27 +73,27 @@
|
||||
INSERT INTO t1(f1, f2) VALUES(1, 1);
|
||||
# Add column at the end of the table
|
||||
ALTER TABLE t1 ADD COLUMN f4 char(100) default 'BIG WALL';
|
||||
@ -126,7 +121,7 @@
|
||||
# Column length varies
|
||||
ALTER TABLE t2 CHANGE f3 f3 VARCHAR(20);
|
||||
affected rows: 0
|
||||
@@ -113,12 +104,12 @@
|
||||
@@ -109,12 +101,12 @@
|
||||
SET foreign_key_checks = 0;
|
||||
affected rows: 0
|
||||
ALTER TABLE t3 ADD FOREIGN KEY fidx(f2) REFERENCES t2(f1);
|
||||
|
@ -17,10 +17,6 @@ info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
ALTER TABLE t1 MODIFY f2 INT;
|
||||
affected rows: 1
|
||||
info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
# Make existing column NON-NULLABLE
|
||||
ALTER TABLE t1 MODIFY f3 INT NOT NULL;
|
||||
affected rows: 1
|
||||
info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
# Drop Stored Column
|
||||
ALTER TABLE t1 DROP COLUMN f5;
|
||||
affected rows: 1
|
||||
|
@ -96,8 +96,8 @@ INSERT INTO t3 SET c=NULL;
|
||||
SET @old_sql_mode = @@sql_mode;
|
||||
SET sql_mode = '';
|
||||
ALTER TABLE t1 MODIFY c INT NOT NULL;
|
||||
affected rows: 0
|
||||
info: Records: 0 Duplicates: 0 Warnings: 1
|
||||
affected rows: 1
|
||||
info: Records: 1 Duplicates: 0 Warnings: 1
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c' at row 1
|
||||
ALTER TABLE t2 MODIFY c INT NOT NULL;
|
||||
@ -111,10 +111,9 @@ info: Records: 1 Duplicates: 0 Warnings: 1
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c' at row 1
|
||||
SET sql_mode = @old_sql_mode;
|
||||
# MDEV-18819 FIXME: Wrong result g=NULL
|
||||
SELECT * FROM t1;
|
||||
c g
|
||||
0 NULL
|
||||
0 0
|
||||
SELECT * FROM t2;
|
||||
c v
|
||||
0 0
|
||||
@ -137,8 +136,8 @@ INSERT INTO t1 SET c=NULL;
|
||||
INSERT INTO t2 SET c=NULL;
|
||||
INSERT INTO t3 SET c=NULL;
|
||||
ALTER IGNORE TABLE t1 MODIFY c INT NOT NULL;
|
||||
affected rows: 0
|
||||
info: Records: 0 Duplicates: 0 Warnings: 1
|
||||
affected rows: 1
|
||||
info: Records: 1 Duplicates: 0 Warnings: 1
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c' at row 1
|
||||
ALTER IGNORE TABLE t2 MODIFY c INT NOT NULL;
|
||||
@ -151,10 +150,9 @@ affected rows: 1
|
||||
info: Records: 1 Duplicates: 0 Warnings: 1
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c' at row 1
|
||||
# MDEV-18819 FIXME: Wrong result g=NULL
|
||||
SELECT * FROM t1;
|
||||
c g
|
||||
0 NULL
|
||||
0 0
|
||||
SELECT * FROM t2;
|
||||
c v
|
||||
0 0
|
||||
@ -186,12 +184,11 @@ UPDATE t1 SET c=0;
|
||||
UPDATE t2 SET c=0;
|
||||
UPDATE t3 SET c=0;
|
||||
ALTER TABLE t1 MODIFY c INT NOT NULL;
|
||||
affected rows: 0
|
||||
info: Records: 0 Duplicates: 0 Warnings: 0
|
||||
affected rows: 1
|
||||
info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
ALTER TABLE t2 MODIFY c INT NOT NULL;
|
||||
affected rows: 0
|
||||
info: Records: 0 Duplicates: 0 Warnings: 0
|
||||
# MDEV-18819 FIXME: This should not require ALGORITHM=COPY.
|
||||
ALTER TABLE t3 MODIFY c INT NOT NULL;
|
||||
affected rows: 1
|
||||
info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
|
@ -31,10 +31,6 @@ ALTER TABLE t1 ADD COLUMN col1 INT NOT NULL,DROP PRIMARY KEY,ADD PRIMARY KEY(col
|
||||
--error $error_code
|
||||
ALTER TABLE t1 MODIFY f2 INT;
|
||||
|
||||
--echo # Make existing column NON-NULLABLE
|
||||
--error $error_code
|
||||
ALTER TABLE t1 MODIFY f3 INT NOT NULL;
|
||||
|
||||
--echo # Drop Stored Column
|
||||
--error $error_code
|
||||
ALTER TABLE t1 DROP COLUMN f5;
|
||||
|
@ -104,7 +104,6 @@ ALTER TABLE t2 MODIFY c INT NOT NULL;
|
||||
ALTER TABLE t3 MODIFY c INT NOT NULL;
|
||||
--disable_info
|
||||
SET sql_mode = @old_sql_mode;
|
||||
--echo # MDEV-18819 FIXME: Wrong result g=NULL
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t2;
|
||||
SELECT * FROM t3;
|
||||
@ -123,7 +122,6 @@ ALTER IGNORE TABLE t1 MODIFY c INT NOT NULL;
|
||||
ALTER IGNORE TABLE t2 MODIFY c INT NOT NULL;
|
||||
ALTER IGNORE TABLE t3 MODIFY c INT NOT NULL;
|
||||
--disable_info
|
||||
--echo # MDEV-18819 FIXME: Wrong result g=NULL
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t2;
|
||||
SELECT * FROM t3;
|
||||
@ -151,7 +149,6 @@ UPDATE t3 SET c=0;
|
||||
--enable_info
|
||||
ALTER TABLE t1 MODIFY c INT NOT NULL;
|
||||
ALTER TABLE t2 MODIFY c INT NOT NULL;
|
||||
--echo # MDEV-18819 FIXME: This should not require ALGORITHM=COPY.
|
||||
ALTER TABLE t3 MODIFY c INT NOT NULL;
|
||||
--disable_info
|
||||
SELECT * FROM t1;
|
||||
|
@ -6733,7 +6733,7 @@ static bool fill_alter_inplace_info(THD *thd, TABLE *table, bool varchar,
|
||||
}
|
||||
|
||||
if (field->vcol_info->is_in_partitioning_expr() ||
|
||||
field->flags & PART_KEY_FLAG)
|
||||
field->flags & PART_KEY_FLAG || field->stored_in_db())
|
||||
{
|
||||
if (value_changes)
|
||||
ha_alter_info->handler_flags|= ALTER_COLUMN_VCOL;
|
||||
|
Reference in New Issue
Block a user