# # 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