diff options
Diffstat (limited to 'mysql-test/main/ansi.test')
-rw-r--r-- | mysql-test/main/ansi.test | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/mysql-test/main/ansi.test b/mysql-test/main/ansi.test new file mode 100644 index 00000000..19dc4ff0 --- /dev/null +++ b/mysql-test/main/ansi.test @@ -0,0 +1,75 @@ +# +# Test of ansi mode +# + +--disable_warnings +drop table if exists t1; +--enable_warnings +--disable_service_connection +set sql_mode="MySQL40"; +select @@sql_mode; +set @@sql_mode="ANSI"; +select @@sql_mode; + +# Test some functions that works different in ansi mode + +SELECT 'A' || 'B'; + +# Test GROUP BY behaviour + +CREATE TABLE t1 (id INT, id2 int); +SELECT id,NULL,1,1.1,'a' FROM t1 GROUP BY id; +#No --error 1055 error due to temporary fix for BUG#8510: +#ONLY_FULL_GROUP_BY is overly restrictive, so remove it from ANSI mode. +SELECT id FROM t1 GROUP BY id2; +drop table t1; + +SET @@SQL_MODE=""; + +# Bug#14515 + +CREATE TABLE t1 (i int auto_increment NOT NULL, PRIMARY KEY (i)); +SHOW CREATE TABLE t1; +SET @@SQL_MODE="MYSQL323"; +SHOW CREATE TABLE t1; +SET @@SQL_MODE="MYSQL40"; +SHOW CREATE TABLE t1; +SET @@SQL_MODE="NO_FIELD_OPTIONS"; +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; +--enable_service_connection |