summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2012-06-23 20:12:54 +0400
committerSergey Petrunya <psergey@askmonty.org>2012-06-23 20:12:54 +0400
commitf8f65accf99821386ad2cffdf0c3f473e8f33064 (patch)
tree2d471c06242e08df95c86136ebb0a838594a80f2 /mysql-test
parent048cc420521b9187adcb89026c72601db0a07d01 (diff)
downloadmariadb-git-f8f65accf99821386ad2cffdf0c3f473e8f33064.tar.gz
Add back testcase for lp:817966 (was lost in the merge)
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/func_in.result13
-rw-r--r--mysql-test/t/func_in.test18
2 files changed, 31 insertions, 0 deletions
diff --git a/mysql-test/r/func_in.result b/mysql-test/r/func_in.result
index 800b9a976b4..fc56660ac62 100644
--- a/mysql-test/r/func_in.result
+++ b/mysql-test/r/func_in.result
@@ -789,6 +789,19 @@ DROP TABLE t1;
# End of test BUG#13012483
#
End of 5.1 tests
+create table t1 (a bigint, b int);
+insert t1 values (1,1),(2,2),(3,3);
+select * from t1 where a in ('2.1');
+a b
+select * from t1 where b in ('2.1');
+a b
+select * from t1 where a='2.1';
+a b
+select * from t1 where b='2.1';
+a b
+select * from t1 where IF(1,a,a)='2.1';
+a b
+drop table t1;
#
# LP bug#992380 Crash when creating PS for a query with
# subquery in WHERE (see also mysql bug#13012483)
diff --git a/mysql-test/t/func_in.test b/mysql-test/t/func_in.test
index e6d991e097d..1e695142d90 100644
--- a/mysql-test/t/func_in.test
+++ b/mysql-test/t/func_in.test
@@ -577,6 +577,24 @@ DROP TABLE t1;
--echo #
--echo End of 5.1 tests
+#
+# lp:817966 int_column IN (string_constant)
+#
+# rather illogically, when BIGINT field is compared to a string,
+# the string is converted to an integer, not to a double.
+# When some other integer field (not BIGINT) is compared to a string,
+# or when the BIGINT is not a field, but an expression, both
+# operands are compared as doubles. The latter behavior is correct,
+# according to the manual.
+#
+create table t1 (a bigint, b int);
+insert t1 values (1,1),(2,2),(3,3);
+select * from t1 where a in ('2.1');
+select * from t1 where b in ('2.1');
+select * from t1 where a='2.1';
+select * from t1 where b='2.1';
+select * from t1 where IF(1,a,a)='2.1';
+drop table t1;
--echo #
--echo # LP bug#992380 Crash when creating PS for a query with
--echo # subquery in WHERE (see also mysql bug#13012483)