@@ -438,3 +438,67 @@ Level Code Message
438
438
Note 1003 /* select#1 */ select 1 AS `1` from `test`.`t1` where ((`test`.`t1`.`a` = 0) and ('0' = `test`.`t1`.`b`))
439
439
DROP TABLE t1;
440
440
# End of 5.1 tests
441
+ #
442
+ # Bug#13463415 63502: INCORRECT RESULTS OF BIGINT AND DECIMAL COMPARISON
443
+ #
444
+ CREATE TABLE t_bigint(id BIGINT);
445
+ INSERT INTO t_bigint VALUES (1), (2);
446
+ SELECT id, id >= 1.1 FROM t_bigint;
447
+ id id >= 1.1
448
+ 1 0
449
+ 2 1
450
+ SELECT id, 1.1 <= id FROM t_bigint;
451
+ id 1.1 <= id
452
+ 1 0
453
+ 2 1
454
+ SELECT id, id = 1.1 FROM t_bigint;
455
+ id id = 1.1
456
+ 1 0
457
+ 2 0
458
+ SELECT id, 1.1 = id FROM t_bigint;
459
+ id 1.1 = id
460
+ 1 0
461
+ 2 0
462
+ SELECT * from t_bigint WHERE id = 1.1;
463
+ id
464
+ SELECT * from t_bigint WHERE id = 1.1e0;
465
+ id
466
+ SELECT * from t_bigint WHERE id = '1.1';
467
+ id
468
+ SELECT * from t_bigint WHERE id = '1.1e0';
469
+ id
470
+ SELECT * from t_bigint WHERE id IN (1.1, 2.2);
471
+ id
472
+ SELECT * from t_bigint WHERE id IN (1.1e0, 2.2e0);
473
+ id
474
+ SELECT * from t_bigint WHERE id IN ('1.1', '2.2');
475
+ id
476
+ SELECT * from t_bigint WHERE id IN ('1.1e0', '2.2e0');
477
+ id
478
+ SELECT * from t_bigint WHERE id BETWEEN 1.1 AND 1.9;
479
+ id
480
+ SELECT * from t_bigint WHERE id BETWEEN 1.1e0 AND 1.9e0;
481
+ id
482
+ SELECT * from t_bigint WHERE id BETWEEN '1.1' AND '1.9';
483
+ id
484
+ SELECT * from t_bigint WHERE id BETWEEN '1.1e0' AND '1.9e0';
485
+ id
486
+ DROP TABLE t_bigint;
487
+ #
488
+ # Bug#11758543 50756: BIGINT '100' MATCHES 1.001E2
489
+ #
490
+ CREATE TABLE t1 (a BIGINT);
491
+ INSERT INTO t1 VALUES (1);
492
+ SELECT * FROM t1 WHERE coalesce(a) BETWEEN 0 and 0.9;
493
+ a
494
+ SELECT * FROM t1 WHERE coalesce(a)=0.9;
495
+ a
496
+ SELECT * FROM t1 WHERE coalesce(a) in (0.8,0.9);
497
+ a
498
+ SELECT * FROM t1 WHERE a BETWEEN 0 AND 0.9;
499
+ a
500
+ SELECT * FROM t1 WHERE a=0.9;
501
+ a
502
+ SELECT * FROM t1 WHERE a IN (0.8,0.9);
503
+ a
504
+ DROP TABLE t1;
0 commit comments