mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
MDEV-16365 Setting a column NOT NULL fails to return error for
NULL values when there is no DEFAULT Copy and inplace algorithm works similarly for NULL to NOT NULL conversion for the following cases: (1) strict sql mode - Should give error. (2) non-strict sql mode - Should give warnings alone (3) alter ignore table command. - Should give warnings alone.
This commit is contained in:
@ -3,7 +3,7 @@
|
||||
CREATE TABLE t1 (i1 INT UNSIGNED NULL DEFAULT 42) ENGINE=innodb;
|
||||
INSERT INTO t1 VALUES(NULL);
|
||||
--enable_info
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
--error WARN_DATA_TRUNCATED
|
||||
ALTER TABLE t1 CHANGE i1 i1 INT UNSIGNED NOT NULL DEFAULT rand(),
|
||||
ALGORITHM=INPLACE;
|
||||
--error WARN_DATA_TRUNCATED
|
||||
@ -12,7 +12,7 @@ ALGORITHM=COPY;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
||||
ALTER TABLE t1 CHANGE i1 id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
ADD PRIMARY KEY(id), ALGORITHM=INPLACE;
|
||||
ALTER TABLE t1 ADD PRIMARY KEY(i1), ALGORITHM=INPLACE;
|
||||
ALTER IGNORE TABLE t1 ADD PRIMARY KEY(i1), ALGORITHM=INPLACE;
|
||||
ALTER TABLE t1 CHANGE i1 id INT UNSIGNED NOT NULL AUTO_INCREMENT;
|
||||
--disable_info
|
||||
SELECT * FROM t1;
|
||||
|
Reference in New Issue
Block a user