Bug #39265: fix for the bug 33699 should be reverted
Documented behaviour was broken by the patch for bug 33699 that actually is not a bug. This fix reverts patch for bug 33699 and reverts the UPDATE of NOT NULL field with NULL query to old behavior. mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test: Bug #39265: fix for the bug 33699 should be reverted mysql-test/include/ps_modify.inc: Bug #39265: fix for the bug 33699 should be reverted mysql-test/r/auto_increment.result: Bug #39265: fix for the bug 33699 should be reverted mysql-test/r/csv_not_null.result: Bug #39265: fix for the bug 33699 should be reverted mysql-test/r/null.result: Bug #39265: fix for the bug 33699 should be reverted mysql-test/r/ps_2myisam.result: Bug #39265: fix for the bug 33699 should be reverted mysql-test/r/ps_3innodb.result: Bug #39265: fix for the bug 33699 should be reverted mysql-test/r/ps_4heap.result: Bug #39265: fix for the bug 33699 should be reverted mysql-test/r/ps_5merge.result: Bug #39265: fix for the bug 33699 should be reverted mysql-test/r/warnings.result: Bug #39265: fix for the bug 33699 should be reverted mysql-test/suite/ndb/r/ps_7ndb.result: Bug #39265: fix for the bug 33699 should be reverted mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result: Bug #39265: fix for the bug 33699 should be reverted mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result: Bug #39265: fix for the bug 33699 should be reverted mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Bug #39265: fix for the bug 33699 should be reverted mysql-test/t/auto_increment.test: Bug #39265: fix for the bug 33699 should be reverted mysql-test/t/csv_not_null.test: Bug #39265: fix for the bug 33699 should be reverted mysql-test/t/null.test: Bug #39265: fix for the bug 33699 should be reverted mysql-test/t/warnings.test: Bug #39265: fix for the bug 33699 should be reverted sql/sql_update.cc: Bug #39265: fix for the bug 33699 should be reverted
This commit is contained in:
parent
ea15ebbbd4
commit
b9d02d4669
@ -419,7 +419,7 @@ connection master;
|
|||||||
update t31 set f5=555555555555555 where f3=6;
|
update t31 set f5=555555555555555 where f3=6;
|
||||||
update t31 set f2=2 where f3=2;
|
update t31 set f2=2 where f3=2;
|
||||||
update t31 set f1=NULL where f3=1;
|
update t31 set f1=NULL where f3=1;
|
||||||
update t31 set f3=0, f27=NULL, f35='f35 new value' where f3=3;
|
update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
|
||||||
|
|
||||||
--echo
|
--echo
|
||||||
--echo ** Delete from Master **
|
--echo ** Delete from Master **
|
||||||
|
@ -108,7 +108,6 @@ execute stmt1 using @arg00, @arg01;
|
|||||||
select a,b from t1 where a=@arg00;
|
select a,b from t1 where a=@arg00;
|
||||||
set @arg00=NULL;
|
set @arg00=NULL;
|
||||||
set @arg01=2;
|
set @arg01=2;
|
||||||
--error 1048
|
|
||||||
execute stmt1 using @arg00, @arg01;
|
execute stmt1 using @arg00, @arg01;
|
||||||
select a,b from t1 order by a;
|
select a,b from t1 order by a;
|
||||||
set @arg00=0;
|
set @arg00=0;
|
||||||
|
@ -231,7 +231,8 @@ a b
|
|||||||
204 7
|
204 7
|
||||||
delete from t1 where a=0;
|
delete from t1 where a=0;
|
||||||
update t1 set a=NULL where b=6;
|
update t1 set a=NULL where b=6;
|
||||||
ERROR 23000: Column 'a' cannot be null
|
Warnings:
|
||||||
|
Warning 1048 Column 'a' cannot be null
|
||||||
update t1 set a=300 where b=7;
|
update t1 set a=300 where b=7;
|
||||||
SET SQL_MODE='';
|
SET SQL_MODE='';
|
||||||
insert into t1(a,b)values(NULL,8);
|
insert into t1(a,b)values(NULL,8);
|
||||||
@ -246,7 +247,7 @@ a b
|
|||||||
1 1
|
1 1
|
||||||
200 2
|
200 2
|
||||||
201 4
|
201 4
|
||||||
203 6
|
0 6
|
||||||
300 7
|
300 7
|
||||||
301 8
|
301 8
|
||||||
400 9
|
400 9
|
||||||
@ -262,7 +263,6 @@ a b
|
|||||||
1 1
|
1 1
|
||||||
200 2
|
200 2
|
||||||
201 4
|
201 4
|
||||||
203 6
|
|
||||||
300 7
|
300 7
|
||||||
301 8
|
301 8
|
||||||
400 9
|
400 9
|
||||||
@ -273,20 +273,20 @@ a b
|
|||||||
405 14
|
405 14
|
||||||
delete from t1 where a=0;
|
delete from t1 where a=0;
|
||||||
update t1 set a=NULL where b=13;
|
update t1 set a=NULL where b=13;
|
||||||
ERROR 23000: Column 'a' cannot be null
|
Warnings:
|
||||||
|
Warning 1048 Column 'a' cannot be null
|
||||||
update t1 set a=500 where b=14;
|
update t1 set a=500 where b=14;
|
||||||
select * from t1 order by b;
|
select * from t1 order by b;
|
||||||
a b
|
a b
|
||||||
1 1
|
1 1
|
||||||
200 2
|
200 2
|
||||||
201 4
|
201 4
|
||||||
203 6
|
|
||||||
300 7
|
300 7
|
||||||
301 8
|
301 8
|
||||||
400 9
|
400 9
|
||||||
401 10
|
401 10
|
||||||
402 11
|
402 11
|
||||||
404 13
|
0 13
|
||||||
500 14
|
500 14
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (a bigint);
|
create table t1 (a bigint);
|
||||||
|
@ -46,8 +46,9 @@ SELECT * FROM t1;
|
|||||||
a b
|
a b
|
||||||
0 new_value
|
0 new_value
|
||||||
UPDATE t1 set b = NULL where b = 'new_value';
|
UPDATE t1 set b = NULL where b = 'new_value';
|
||||||
ERROR 23000: Column 'b' cannot be null
|
Warnings:
|
||||||
|
Warning 1048 Column 'b' cannot be null
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
a b
|
a b
|
||||||
0 new_value
|
0
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
@ -93,9 +93,11 @@ INSERT INTO t1 SET a = "", d= "2003-01-14 03:54:55";
|
|||||||
Warnings:
|
Warnings:
|
||||||
Warning 1265 Data truncated for column 'd' at row 1
|
Warning 1265 Data truncated for column 'd' at row 1
|
||||||
UPDATE t1 SET d=1/NULL;
|
UPDATE t1 SET d=1/NULL;
|
||||||
ERROR 23000: Column 'd' cannot be null
|
Warnings:
|
||||||
|
Warning 1265 Data truncated for column 'd' at row 1
|
||||||
UPDATE t1 SET d=NULL;
|
UPDATE t1 SET d=NULL;
|
||||||
ERROR 23000: Column 'd' cannot be null
|
Warnings:
|
||||||
|
Warning 1048 Column 'd' cannot be null
|
||||||
INSERT INTO t1 (a) values (null);
|
INSERT INTO t1 (a) values (null);
|
||||||
ERROR 23000: Column 'a' cannot be null
|
ERROR 23000: Column 'a' cannot be null
|
||||||
INSERT INTO t1 (a) values (1/null);
|
INSERT INTO t1 (a) values (1/null);
|
||||||
@ -130,7 +132,7 @@ Warning 1048 Column 'd' cannot be null
|
|||||||
Warning 1048 Column 'd' cannot be null
|
Warning 1048 Column 'd' cannot be null
|
||||||
select * from t1;
|
select * from t1;
|
||||||
a b c d
|
a b c d
|
||||||
0 0000-00-00 00:00:00 2003
|
0 0000-00-00 00:00:00 0
|
||||||
0 0000-00-00 00:00:00 0
|
0 0000-00-00 00:00:00 0
|
||||||
0 0000-00-00 00:00:00 0
|
0 0000-00-00 00:00:00 0
|
||||||
0 0000-00-00 00:00:00 0
|
0 0000-00-00 00:00:00 0
|
||||||
|
@ -1303,11 +1303,12 @@ a b
|
|||||||
set @arg00=NULL;
|
set @arg00=NULL;
|
||||||
set @arg01=2;
|
set @arg01=2;
|
||||||
execute stmt1 using @arg00, @arg01;
|
execute stmt1 using @arg00, @arg01;
|
||||||
ERROR 23000: Column 'a' cannot be null
|
Warnings:
|
||||||
|
Warning 1048 Column 'a' cannot be null
|
||||||
select a,b from t1 order by a;
|
select a,b from t1 order by a;
|
||||||
a b
|
a b
|
||||||
|
0 two
|
||||||
1 one
|
1 one
|
||||||
2 two
|
|
||||||
3 three
|
3 three
|
||||||
4 four
|
4 four
|
||||||
set @arg00=0;
|
set @arg00=0;
|
||||||
|
@ -1286,11 +1286,12 @@ a b
|
|||||||
set @arg00=NULL;
|
set @arg00=NULL;
|
||||||
set @arg01=2;
|
set @arg01=2;
|
||||||
execute stmt1 using @arg00, @arg01;
|
execute stmt1 using @arg00, @arg01;
|
||||||
ERROR 23000: Column 'a' cannot be null
|
Warnings:
|
||||||
|
Warning 1048 Column 'a' cannot be null
|
||||||
select a,b from t1 order by a;
|
select a,b from t1 order by a;
|
||||||
a b
|
a b
|
||||||
|
0 two
|
||||||
1 one
|
1 one
|
||||||
2 two
|
|
||||||
3 three
|
3 three
|
||||||
4 four
|
4 four
|
||||||
set @arg00=0;
|
set @arg00=0;
|
||||||
|
@ -1287,11 +1287,12 @@ a b
|
|||||||
set @arg00=NULL;
|
set @arg00=NULL;
|
||||||
set @arg01=2;
|
set @arg01=2;
|
||||||
execute stmt1 using @arg00, @arg01;
|
execute stmt1 using @arg00, @arg01;
|
||||||
ERROR 23000: Column 'a' cannot be null
|
Warnings:
|
||||||
|
Warning 1048 Column 'a' cannot be null
|
||||||
select a,b from t1 order by a;
|
select a,b from t1 order by a;
|
||||||
a b
|
a b
|
||||||
|
0 two
|
||||||
1 one
|
1 one
|
||||||
2 two
|
|
||||||
3 three
|
3 three
|
||||||
4 four
|
4 four
|
||||||
set @arg00=0;
|
set @arg00=0;
|
||||||
|
@ -1329,11 +1329,12 @@ a b
|
|||||||
set @arg00=NULL;
|
set @arg00=NULL;
|
||||||
set @arg01=2;
|
set @arg01=2;
|
||||||
execute stmt1 using @arg00, @arg01;
|
execute stmt1 using @arg00, @arg01;
|
||||||
ERROR 23000: Column 'a' cannot be null
|
Warnings:
|
||||||
|
Warning 1048 Column 'a' cannot be null
|
||||||
select a,b from t1 order by a;
|
select a,b from t1 order by a;
|
||||||
a b
|
a b
|
||||||
|
0 two
|
||||||
1 one
|
1 one
|
||||||
2 two
|
|
||||||
3 three
|
3 three
|
||||||
4 four
|
4 four
|
||||||
set @arg00=0;
|
set @arg00=0;
|
||||||
@ -4350,11 +4351,12 @@ a b
|
|||||||
set @arg00=NULL;
|
set @arg00=NULL;
|
||||||
set @arg01=2;
|
set @arg01=2;
|
||||||
execute stmt1 using @arg00, @arg01;
|
execute stmt1 using @arg00, @arg01;
|
||||||
ERROR 23000: Column 'a' cannot be null
|
Warnings:
|
||||||
|
Warning 1048 Column 'a' cannot be null
|
||||||
select a,b from t1 order by a;
|
select a,b from t1 order by a;
|
||||||
a b
|
a b
|
||||||
|
0 two
|
||||||
1 one
|
1 one
|
||||||
2 two
|
|
||||||
3 three
|
3 three
|
||||||
4 four
|
4 four
|
||||||
set @arg00=0;
|
set @arg00=0;
|
||||||
|
@ -98,7 +98,8 @@ Warning 1265 Data truncated for column 'c' at row 1
|
|||||||
Warning 1265 Data truncated for column 'c' at row 2
|
Warning 1265 Data truncated for column 'c' at row 2
|
||||||
alter table t1 add d char(2);
|
alter table t1 add d char(2);
|
||||||
update t1 set a=NULL where a=10;
|
update t1 set a=NULL where a=10;
|
||||||
ERROR 23000: Column 'a' cannot be null
|
Warnings:
|
||||||
|
Warning 1048 Column 'a' cannot be null
|
||||||
update t1 set c='mysql ab' where c='test';
|
update t1 set c='mysql ab' where c='test';
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1265 Data truncated for column 'c' at row 4
|
Warning 1265 Data truncated for column 'c' at row 4
|
||||||
|
@ -1286,11 +1286,12 @@ a b
|
|||||||
set @arg00=NULL;
|
set @arg00=NULL;
|
||||||
set @arg01=2;
|
set @arg01=2;
|
||||||
execute stmt1 using @arg00, @arg01;
|
execute stmt1 using @arg00, @arg01;
|
||||||
ERROR 23000: Column 'a' cannot be null
|
Warnings:
|
||||||
|
Warning 1048 Column 'a' cannot be null
|
||||||
select a,b from t1 order by a;
|
select a,b from t1 order by a;
|
||||||
a b
|
a b
|
||||||
|
0 two
|
||||||
1 one
|
1 one
|
||||||
2 two
|
|
||||||
3 three
|
3 three
|
||||||
4 four
|
4 four
|
||||||
set @arg00=0;
|
set @arg00=0;
|
||||||
|
@ -454,7 +454,9 @@ f1 f2 f3 f4
|
|||||||
update t31 set f5=555555555555555 where f3=6;
|
update t31 set f5=555555555555555 where f3=6;
|
||||||
update t31 set f2=2 where f3=2;
|
update t31 set f2=2 where f3=2;
|
||||||
update t31 set f1=NULL where f3=1;
|
update t31 set f1=NULL where f3=1;
|
||||||
update t31 set f3=0, f27=NULL, f35='f35 new value' where f3=3;
|
update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
|
||||||
|
Warnings:
|
||||||
|
Warning 1048 Column 'f3' cannot be null
|
||||||
|
|
||||||
** Delete from Master **
|
** Delete from Master **
|
||||||
|
|
||||||
@ -1593,7 +1595,9 @@ f1 f2 f3 f4
|
|||||||
update t31 set f5=555555555555555 where f3=6;
|
update t31 set f5=555555555555555 where f3=6;
|
||||||
update t31 set f2=2 where f3=2;
|
update t31 set f2=2 where f3=2;
|
||||||
update t31 set f1=NULL where f3=1;
|
update t31 set f1=NULL where f3=1;
|
||||||
update t31 set f3=0, f27=NULL, f35='f35 new value' where f3=3;
|
update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
|
||||||
|
Warnings:
|
||||||
|
Warning 1048 Column 'f3' cannot be null
|
||||||
|
|
||||||
** Delete from Master **
|
** Delete from Master **
|
||||||
|
|
||||||
@ -2732,7 +2736,9 @@ f1 f2 f3 f4
|
|||||||
update t31 set f5=555555555555555 where f3=6;
|
update t31 set f5=555555555555555 where f3=6;
|
||||||
update t31 set f2=2 where f3=2;
|
update t31 set f2=2 where f3=2;
|
||||||
update t31 set f1=NULL where f3=1;
|
update t31 set f1=NULL where f3=1;
|
||||||
update t31 set f3=0, f27=NULL, f35='f35 new value' where f3=3;
|
update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
|
||||||
|
Warnings:
|
||||||
|
Warning 1048 Column 'f3' cannot be null
|
||||||
|
|
||||||
** Delete from Master **
|
** Delete from Master **
|
||||||
|
|
||||||
|
@ -454,7 +454,9 @@ f1 f2 f3 f4
|
|||||||
update t31 set f5=555555555555555 where f3=6;
|
update t31 set f5=555555555555555 where f3=6;
|
||||||
update t31 set f2=2 where f3=2;
|
update t31 set f2=2 where f3=2;
|
||||||
update t31 set f1=NULL where f3=1;
|
update t31 set f1=NULL where f3=1;
|
||||||
update t31 set f3=0, f27=NULL, f35='f35 new value' where f3=3;
|
update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
|
||||||
|
Warnings:
|
||||||
|
Warning 1048 Column 'f3' cannot be null
|
||||||
|
|
||||||
** Delete from Master **
|
** Delete from Master **
|
||||||
|
|
||||||
@ -1593,7 +1595,9 @@ f1 f2 f3 f4
|
|||||||
update t31 set f5=555555555555555 where f3=6;
|
update t31 set f5=555555555555555 where f3=6;
|
||||||
update t31 set f2=2 where f3=2;
|
update t31 set f2=2 where f3=2;
|
||||||
update t31 set f1=NULL where f3=1;
|
update t31 set f1=NULL where f3=1;
|
||||||
update t31 set f3=0, f27=NULL, f35='f35 new value' where f3=3;
|
update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
|
||||||
|
Warnings:
|
||||||
|
Warning 1048 Column 'f3' cannot be null
|
||||||
|
|
||||||
** Delete from Master **
|
** Delete from Master **
|
||||||
|
|
||||||
@ -2732,7 +2736,9 @@ f1 f2 f3 f4
|
|||||||
update t31 set f5=555555555555555 where f3=6;
|
update t31 set f5=555555555555555 where f3=6;
|
||||||
update t31 set f2=2 where f3=2;
|
update t31 set f2=2 where f3=2;
|
||||||
update t31 set f1=NULL where f3=1;
|
update t31 set f1=NULL where f3=1;
|
||||||
update t31 set f3=0, f27=NULL, f35='f35 new value' where f3=3;
|
update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
|
||||||
|
Warnings:
|
||||||
|
Warning 1048 Column 'f3' cannot be null
|
||||||
|
|
||||||
** Delete from Master **
|
** Delete from Master **
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ kill @id;
|
|||||||
drop table t2,t3;
|
drop table t2,t3;
|
||||||
insert into t4 values (3),(4);
|
insert into t4 values (3),(4);
|
||||||
connection master;
|
connection master;
|
||||||
--error 0,1053,2013,1048
|
--error 0,1053,2013
|
||||||
reap;
|
reap;
|
||||||
connection master1;
|
connection master1;
|
||||||
save_master_pos;
|
save_master_pos;
|
||||||
|
@ -149,7 +149,6 @@ delete from t1 where a=0;
|
|||||||
update t1 set a=0 where b=5;
|
update t1 set a=0 where b=5;
|
||||||
select * from t1 order by b;
|
select * from t1 order by b;
|
||||||
delete from t1 where a=0;
|
delete from t1 where a=0;
|
||||||
--error 1048
|
|
||||||
update t1 set a=NULL where b=6;
|
update t1 set a=NULL where b=6;
|
||||||
update t1 set a=300 where b=7;
|
update t1 set a=300 where b=7;
|
||||||
SET SQL_MODE='';
|
SET SQL_MODE='';
|
||||||
@ -165,7 +164,6 @@ delete from t1 where a=0;
|
|||||||
update t1 set a=0 where b=12;
|
update t1 set a=0 where b=12;
|
||||||
select * from t1 order by b;
|
select * from t1 order by b;
|
||||||
delete from t1 where a=0;
|
delete from t1 where a=0;
|
||||||
--error 1048
|
|
||||||
update t1 set a=NULL where b=13;
|
update t1 set a=NULL where b=13;
|
||||||
update t1 set a=500 where b=14;
|
update t1 set a=500 where b=14;
|
||||||
select * from t1 order by b;
|
select * from t1 order by b;
|
||||||
|
@ -93,7 +93,6 @@ SELECT * FROM t1;
|
|||||||
UPDATE t1 set b = 'new_value' where a = 0;
|
UPDATE t1 set b = 'new_value' where a = 0;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
--error ER_BAD_NULL_ERROR
|
|
||||||
UPDATE t1 set b = NULL where b = 'new_value';
|
UPDATE t1 set b = NULL where b = 'new_value';
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
|
|
||||||
|
@ -61,9 +61,7 @@ drop table t1;
|
|||||||
#
|
#
|
||||||
CREATE TABLE t1 (a varchar(16) NOT NULL default '', b smallint(6) NOT NULL default 0, c datetime NOT NULL default '0000-00-00 00:00:00', d smallint(6) NOT NULL default 0);
|
CREATE TABLE t1 (a varchar(16) NOT NULL default '', b smallint(6) NOT NULL default 0, c datetime NOT NULL default '0000-00-00 00:00:00', d smallint(6) NOT NULL default 0);
|
||||||
INSERT INTO t1 SET a = "", d= "2003-01-14 03:54:55";
|
INSERT INTO t1 SET a = "", d= "2003-01-14 03:54:55";
|
||||||
--error 1048
|
|
||||||
UPDATE t1 SET d=1/NULL;
|
UPDATE t1 SET d=1/NULL;
|
||||||
--error 1048
|
|
||||||
UPDATE t1 SET d=NULL;
|
UPDATE t1 SET d=NULL;
|
||||||
--error 1048
|
--error 1048
|
||||||
INSERT INTO t1 (a) values (null);
|
INSERT INTO t1 (a) values (null);
|
||||||
|
@ -65,7 +65,6 @@ create table t1(a tinyint NOT NULL, b tinyint unsigned, c char(5));
|
|||||||
insert into t1 values(NULL,100,'mysql'),(10,-1,'mysql ab'),(500,256,'open source'),(20,NULL,'test');
|
insert into t1 values(NULL,100,'mysql'),(10,-1,'mysql ab'),(500,256,'open source'),(20,NULL,'test');
|
||||||
alter table t1 modify c char(4);
|
alter table t1 modify c char(4);
|
||||||
alter table t1 add d char(2);
|
alter table t1 add d char(2);
|
||||||
--error 1048
|
|
||||||
update t1 set a=NULL where a=10;
|
update t1 set a=NULL where a=10;
|
||||||
update t1 set c='mysql ab' where c='test';
|
update t1 set c='mysql ab' where c='test';
|
||||||
update t1 set d=c;
|
update t1 set d=c;
|
||||||
|
@ -526,9 +526,11 @@ int mysql_update(THD *thd,
|
|||||||
init_read_record(&info, thd, table, select, 0, 1, FALSE);
|
init_read_record(&info, thd, table, select, 0, 1, FALSE);
|
||||||
|
|
||||||
updated= found= 0;
|
updated= found= 0;
|
||||||
/* Generate an error when trying to set a NOT NULL field to NULL. */
|
/*
|
||||||
thd->count_cuted_fields= ignore ? CHECK_FIELD_WARN
|
Generate an error (in TRADITIONAL mode) or warning
|
||||||
: CHECK_FIELD_ERROR_FOR_NULL;
|
when trying to set a NOT NULL field to NULL.
|
||||||
|
*/
|
||||||
|
thd->count_cuted_fields= CHECK_FIELD_WARN;
|
||||||
thd->cuted_fields=0L;
|
thd->cuted_fields=0L;
|
||||||
thd_proc_info(thd, "Updating");
|
thd_proc_info(thd, "Updating");
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user