Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
MDEV-16365 Setting a column NOT NULL fails to return error for
NULL values when there is no DEFAULT - Merged the alter_non_null test case to alter_not_null test case. Renamed the alter_non_null_debug to alter_not_null_debug test case
- Loading branch information
1 parent
46857a8
commit 6e90c19
Showing
13 changed files
with
144 additions
and
136 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -64,7 +64,7 @@ | ||
| < 10 0 | ||
| --- | ||
| > 10 NULL | ||
| 88,89c70,71 | ||
| 98,99c80,81 | ||
| < affected rows: 0 | ||
| < info: Records: 0 Duplicates: 0 Warnings: 1 | ||
| --- | ||
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,14 +1,114 @@ | ||
| set @@sql_mode = 'STRICT_TRANS_TABLES'; | ||
| CREATE TABLE t1(f1 INT)ENGINE=INNODB; | ||
| INSERT INTO t1 VALUES(NULL); | ||
| SELECT * FROM t1; | ||
| f1 | ||
| NULL | ||
| ALTER TABLE t1 CHANGE f1 f1 INT NOT NULL; | ||
| affected rows: 0 | ||
| info: Records: 0 Duplicates: 0 Warnings: 1 | ||
| Warnings: | ||
| Warning 1265 Data truncated for column 'f1' at row 1 | ||
| SELECT * FROM t1; | ||
| f1 | ||
| 0 | ||
| DROP TABLE t1; | ||
| CREATE TABLE t1(f1 CHAR(10))ENGINE=INNODB; | ||
| INSERT INTO t1 VALUES(NULL); | ||
| SELECT * FROM t1; | ||
| f1 | ||
| NULL | ||
| ALTER TABLE t1 CHANGE f1 f1 CHAR(10) NOT NULL; | ||
| affected rows: 0 | ||
| info: Records: 0 Duplicates: 0 Warnings: 1 | ||
| Warnings: | ||
| Warning 1265 Data truncated for column 'f1' at row 1 | ||
| SELECT * FROM t1; | ||
| f1 | ||
|
|
||
| DROP TABLE t1; | ||
| CREATE TABLE t1(f1 VARCHAR(10))ENGINE=INNODB; | ||
| INSERT INTO t1 VALUES(NULL); | ||
| SELECT * FROM t1; | ||
| f1 | ||
| NULL | ||
| ALTER TABLE t1 CHANGE f1 f1 VARCHAR(20) NOT NULL; | ||
| affected rows: 0 | ||
| info: Records: 0 Duplicates: 0 Warnings: 1 | ||
| Warnings: | ||
| Warning 1265 Data truncated for column 'f1' at row 1 | ||
| SELECT * FROM t1; | ||
| f1 | ||
|
|
||
| DROP TABLE t1; | ||
| CREATE TABLE t1(f1 TEXT)ENGINE=INNODB; | ||
| INSERT INTO t1 VALUES(NULL); | ||
| SELECT * FROM t1; | ||
| f1 | ||
| NULL | ||
| ALTER TABLE t1 CHANGE f1 f1 TEXT NOT NULL DEFAULT 'abc'; | ||
| affected rows: 0 | ||
| info: Records: 0 Duplicates: 0 Warnings: 1 | ||
| Warnings: | ||
| Warning 1265 Data truncated for column 'f1' at row 1 | ||
| SELECT * FROM t1; | ||
| f1 | ||
|
|
||
| DROP TABLE t1; | ||
| CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL, f3 INT)ENGINE=INNODB; | ||
| INSERT INTO t1 VALUES(2, 2, NULL); | ||
| SELECT * FROM t1; | ||
| f1 f2 f3 | ||
| 2 2 NULL | ||
| ALTER TABLE t1 CHANGE f3 f3 INT NOT NULL DEFAULT (f1 + f2); | ||
| affected rows: 0 | ||
| info: Records: 0 Duplicates: 0 Warnings: 1 | ||
| Warnings: | ||
| Warning 1265 Data truncated for column 'f3' at row 1 | ||
| SELECT * FROM t1; | ||
| f1 f2 f3 | ||
| 2 2 0 | ||
| DROP TABLE t1; | ||
| CREATE TABLE t1(f1 INT NOT NULL DEFAULT 0, b TINYINT)ENGINE=InnoDB; | ||
| INSERT INTO t1 VALUES(10, NULL); | ||
| SELECT * FROM t1; | ||
| f1 b | ||
| 10 NULL | ||
| ALTER TABLE t1 CHANGE b b TINYINT NOT NULL DEFAULT if(unix_timestamp()>1,1000,0); | ||
| affected rows: 0 | ||
| info: Records: 0 Duplicates: 0 Warnings: 1 | ||
| Warnings: | ||
| Warning 1265 Data truncated for column 'b' at row 1 | ||
| SELECT * FROM t1; | ||
| f1 b | ||
| 10 0 | ||
| DROP TABLE t1; | ||
| CREATE TABLE t1(a INT, v INT AS (a), c INT, d INT NOT NULL, e INT) ENGINE=InnoDB; | ||
| ALTER TABLE t1 DROP COLUMN c, CHANGE COLUMN e e INT NOT NULL, ALGORITHM=INPLACE; | ||
| ALTER TABLE t1 DROP COLUMN c, CHANGE COLUMN e e INT NOT NULL; | ||
| affected rows: 0 | ||
| info: Records: 0 Duplicates: 0 Warnings: 0 | ||
| DROP TABLE t1; | ||
| CREATE TABLE t1 (a INT, v INT AS (a), d INT NOT NULL, e INT) ENGINE=InnoDB; | ||
| ALTER TABLE t1 FORCE, ALGORITHM=INPLACE; | ||
| ALTER TABLE t1 FORCE; | ||
| affected rows: 0 | ||
| info: Records: 0 Duplicates: 0 Warnings: 0 | ||
| DROP TABLE t1; | ||
| CREATE TABLE t1(c1 INT NOT NULL, c2 INT, PRIMARY KEY(c1))ENGINE=INNODB; | ||
| INSERT INTO t1 VALUES(1, NULL); | ||
| ALTER IGNORE TABLE t1 CHANGE c2 c2 INT NOT NULL DEFAULT 2; | ||
| affected rows: 0 | ||
| info: Records: 0 Duplicates: 0 Warnings: 1 | ||
| Warnings: | ||
| Warning 1265 Data truncated for column 'c2' at row 1 | ||
| SELECT * FROM t1; | ||
| c1 c2 | ||
| 1 0 | ||
| DROP TABLE t1; | ||
| # | ||
| # MDEV-16126 Crash or ASAN heap-buffer-overflow in | ||
| # mach_read_from_n_little_endian upon ALTER TABLE with blob | ||
| # | ||
| CREATE TABLE t1(a INT, v INT AS (a), b INT, c BLOB) ENGINE=InnoDB; | ||
| ALTER TABLE t1 ADD PRIMARY KEY(b); | ||
| affected rows: 0 | ||
| info: Records: 0 Duplicates: 0 Warnings: 0 | ||
| DROP TABLE t1; |
File renamed without changes.
File renamed without changes.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,19 +1,10 @@ | ||
| --source include/have_innodb.inc | ||
| set @@sql_mode = 'STRICT_TRANS_TABLES'; | ||
| --source alter_sql_mode.inc | ||
|
|
||
| CREATE TABLE t1(a INT, v INT AS (a), c INT, d INT NOT NULL, e INT) ENGINE=InnoDB; | ||
| ALTER TABLE t1 DROP COLUMN c, CHANGE COLUMN e e INT NOT NULL, ALGORITHM=INPLACE; | ||
| DROP TABLE t1; | ||
| let $sql_mode = `SELECT @@SQL_MODE`; | ||
| let $error_code = 0; | ||
|
|
||
| CREATE TABLE t1 (a INT, v INT AS (a), d INT NOT NULL, e INT) ENGINE=InnoDB; | ||
| ALTER TABLE t1 FORCE, ALGORITHM=INPLACE; | ||
| DROP TABLE t1; | ||
| if ($sql_mode == "STRICT_TRANS_TABLES") { | ||
| let $error_code = WARN_DATA_TRUNCATED; | ||
| } | ||
|
|
||
| --echo # | ||
| --echo # MDEV-16126 Crash or ASAN heap-buffer-overflow in | ||
| --echo # mach_read_from_n_little_endian upon ALTER TABLE with blob | ||
| --echo # | ||
|
|
||
| CREATE TABLE t1(a INT, v INT AS (a), b INT, c BLOB) ENGINE=InnoDB; | ||
| ALTER TABLE t1 ADD PRIMARY KEY(b); | ||
| DROP TABLE t1; | ||
| --source include/alter_not_null.inc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters