diff options
author | Alexander Barkov <bar@mariadb.com> | 2018-05-16 17:21:31 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2018-05-16 17:21:31 +0400 |
commit | c2df4e9d624199db421f6fc1a58e354f3f5dbac8 (patch) | |
tree | 733888eeda14e0ab26ae219edcbbcdd9ad2f02b6 /mysql-test/main/ansi.test | |
parent | 66360506f0a0b76590d660e2ff5be3248cdba01c (diff) | |
download | mariadb-git-c2df4e9d624199db421f6fc1a58e354f3f5dbac8.tar.gz |
MDEV-16186 Concatenation operator || returns wrong results in sql_mode=ORACLE
Diffstat (limited to 'mysql-test/main/ansi.test')
-rw-r--r-- | mysql-test/main/ansi.test | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/mysql-test/main/ansi.test b/mysql-test/main/ansi.test index fa7f999954e..0620465728b 100644 --- a/mysql-test/main/ansi.test +++ b/mysql-test/main/ansi.test @@ -39,3 +39,36 @@ SHOW CREATE TABLE t1; DROP TABLE t1; # End of 4.1 tests + + +--echo # +--echo # MDEV-16186 Concatenation operator || returns wrong results in sql_mode=ORACLE +--echo # + +SET sql_mode=ANSI; + +# Concatenation operator || is stronger than numeric dyadic operators ^ * + << + +SELECT -1<<1||1 AS a FROM DUAL; +SELECT -1||0<<1 AS a FROM DUAL; + +EXPLAIN EXTENDED SELECT -1<<1||1 AS a FROM DUAL; +EXPLAIN EXTENDED SELECT -1||0<<1 AS a FROM DUAL; + +SELECT -1+1||1 AS a FROM DUAL; +SELECT -1||0+1 AS a FROM DUAL; + +EXPLAIN EXTENDED SELECT -1+1||1 AS a FROM DUAL; +EXPLAIN EXTENDED SELECT -1||0+1 AS a FROM DUAL; + +SELECT 1*1||-1 AS a FROM DUAL; +SELECT 1||1*-1 AS a FROM DUAL; + +EXPLAIN EXTENDED SELECT 1*1||-1 AS a FROM DUAL; +EXPLAIN EXTENDED SELECT 1||1*-1 AS a FROM DUAL; + +SELECT -1^1||1 AS a FROM DUAL; +SELECT -1||0^1 AS a FROM DUAL; + +EXPLAIN EXTENDED SELECT -1^1||1 AS a FROM DUAL; +EXPLAIN EXTENDED SELECT -1||0^1 AS a FROM DUAL; |