diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2019-07-26 22:42:35 +0200 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2019-07-26 22:42:35 +0200 |
commit | d97342b6f2cfdd55eb0f82b390ebc89c5997c382 (patch) | |
tree | 238dbb11c51a2352c99de198586b84f260b3aad9 /mysql-test/main/ps.test | |
parent | 00a254cc069e77f2088f6fbf8c367f247cfdd0dc (diff) | |
parent | 32c6f40a6319d493e5270c72ac5d27dc99d1b242 (diff) | |
download | mariadb-git-d97342b6f2cfdd55eb0f82b390ebc89c5997c382.tar.gz |
Merge branch '10.2' into 10.3
Diffstat (limited to 'mysql-test/main/ps.test')
-rw-r--r-- | mysql-test/main/ps.test | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/mysql-test/main/ps.test b/mysql-test/main/ps.test index 685d528ecb9..6677c3d8b2a 100644 --- a/mysql-test/main/ps.test +++ b/mysql-test/main/ps.test @@ -3872,6 +3872,83 @@ FROM FROM t1 A, (SELECT @cnt := 0) C) T ) X; drop table t1; + +--echo # +--echo # MDEV-17042: prepared statement does not return error with +--echo # SQL_MODE STRICT_TRANS_TABLES. (Part 1) +--echo # + +set @save_sql_mode=@@sql_mode; +set sql_mode='STRICT_ALL_TABLES'; + +CREATE TABLE t1 (id int, count int); +insert into t1 values (1,1),(0,2); +--error ER_TRUNCATED_WRONG_VALUE +update t1 set count = count + 1 where id = '1bad'; + +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt; +deallocate prepare stmt; + +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt using @a; +deallocate prepare stmt; +drop table t1; + +CREATE TABLE t1 (id decimal(10,5), count int); +insert into t1 values (1,1),(0,2); +--error ER_TRUNCATED_WRONG_VALUE +update t1 set count = count + 1 where id = '1bad'; + +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt; +deallocate prepare stmt; + +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt using @a; +deallocate prepare stmt; +drop table t1; + +CREATE TABLE t1 (id double, count int); +insert into t1 values (1,1),(0,2); +--error ER_TRUNCATED_WRONG_VALUE +update t1 set count = count + 1 where id = '1bad'; + +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt; +deallocate prepare stmt; + +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt using @a; +deallocate prepare stmt; +drop table t1; + +CREATE TABLE t1 (id date, count int); +insert into t1 values ("2019-06-11",1),("2019-06-12",2); +--error ER_TRUNCATED_WRONG_VALUE +update t1 set count = count + 1 where id = '1bad'; + +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt; +deallocate prepare stmt; + +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt using @a; +deallocate prepare stmt; +drop table t1; +set sql_mode=@save_sql_mode; --echo # End of 5.5 tests --echo # |