← Back to team overview

maria-developers team mailing list archive

Re: Add back testcase for lp:817966 (was lost in the merge)

 

Hi, Sergey!

On Jun 23, Sergey Petrunya wrote:
> At file:///home/psergey/dev2/5.5-look6/
> 
> ------------------------------------------------------------
> revno: 3457
> revision-id: psergey@xxxxxxxxxxxx-20120623161254-ido3pf16l31psyyv
> parent: knielsen@xxxxxxxxxxxxxxx-20120622084255-u53u21xv3w7sqxms
> committer: Sergey Petrunya <psergey@xxxxxxxxxxxx>
> branch nick: 5.5-look6
> timestamp: Sat 2012-06-23 20:12:54 +0400
> message:
>   Add back testcase for lp:817966 (was lost in the merge)
> 
> === modified file 'mysql-test/t/func_in.test'
> --- a/mysql-test/t/func_in.test	2012-06-20 11:01:28 +0000
> +++ b/mysql-test/t/func_in.test	2012-06-23 16:12:54 +0000
> @@ -577,6 +577,24 @@
>  --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.

I don't think this comment holds anymore, perhaps it'd better to remove
it.

> +#
> +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)
> 
Regards,
Sergei