summaryrefslogtreecommitdiff
path: root/mysql-test/main/func_op.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/func_op.test')
-rw-r--r--mysql-test/main/func_op.test37
1 files changed, 37 insertions, 0 deletions
diff --git a/mysql-test/main/func_op.test b/mysql-test/main/func_op.test
new file mode 100644
index 00000000000..13fa40b513b
--- /dev/null
+++ b/mysql-test/main/func_op.test
@@ -0,0 +1,37 @@
+# Description
+# -----------
+# Simple operands and arithmetic grouping
+
+select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2;
+explain extended select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2;
+select 1 | (1+1),5 & 3,bit_count(7) ;
+explain extended select 1 | (1+1),5 & 3,bit_count(7) ;
+select 1 << 32,1 << 63, 1 << 64, 4 >> 2, 4 >> 63, 1<< 63 >> 60;
+#
+# bug #1993: bit functions must be unsigned
+#
+select -1 | 0, -1 ^ 0, -1 & 0;
+select -1 | 1, -1 ^ 1, -1 & 1;
+select 1 | -1, 1 ^ -1, 1 & -1;
+select 0 | -1, 0 ^ -1, 0 & -1;
+select -1 >> 0, -1 << 0;
+select -1 >> 1, -1 << 1;
+
+#
+# Bug 13044: wrong bit_count() results
+#
+
+--disable_warnings
+drop table if exists t1,t2;
+--enable_warnings
+create table t1(a int);
+create table t2(a int, b int);
+insert into t1 values (1), (2), (3);
+insert into t2 values (1, 7), (3, 7);
+SET @save_optimizer_switch=@@optimizer_switch;
+SET optimizer_switch='outer_join_with_cache=off';
+select t1.a, t2.a, t2.b, bit_count(t2.b) from t1 left join t2 on t1.a=t2.a;
+SET optimizer_switch=@save_optimizer_switch;
+drop table t1, t2;
+
+# End of 4.1 tests