summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/ansi.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/ansi.test')
-rw-r--r--mysql-test/main/ansi.test75
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