You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug#32824429 - SIGNAL 11 / VIRTUAL LONGLONG ITEM_FUNC_IN::VAL_INT():
ASSERTION `IN_ITEM'
Problem:
Floating point literal in query was identified as real number,
then converted to zerofilled string to compare with
zerofilled float column.
Due to being identified as a real number the comparison was
attempted in a real context, even after the value was converted
to string.
Solution:
Convert zerofill numbers to zerofilled Item_string only when
used in a string context, eg. concat or comparing with a string
constant.
(cherry picked from commit ce4d1d1b605535db3f00bedc810bce93e7b7ccc0)
Change-Id: Id1e3ddcb917471258ca5e003e075fcb0b4a09b21
Copy file name to clipboardExpand all lines: mysql-test/r/myisam_icp.result
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -599,7 +599,7 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
599
599
3 SUBQUERY t3 NULL system NULL NULL NULL NULL 1 100.00 NULL
600
600
Warnings:
601
601
Note 1276 Field or reference 'test.t1.c1' of SELECT #2 was resolved in SELECT #1
602
-
Note 1003 /* select#1 */ select '2' AS `i1` from dual where exists(/* select#2 */ select `test`.`t2`.`c1` from `test`.`t2` where ((`test`.`t2`.`c1` = 'v') and (`test`.`t2`.`c2` = (/* select#3 */ select min('v') from dual))))
602
+
Note 1003 /* select#1 */ select '2' AS `i1` from dual where exists(/* select#2 */ select `test`.`t2`.`c1` from `test`.`t2` where ((`test`.`t2`.`c1` = 'v') and (`test`.`t2`.`c2` = (/* select#3 */ select min('v') from dual)) and ((/* select#3 */ select min('v') from dual) <> 'w')))
Copy file name to clipboardExpand all lines: mysql-test/r/myisam_icp_all.result
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -599,7 +599,7 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
599
599
3 SUBQUERY t3 NULL system NULL NULL NULL NULL 1 100.00 NULL
600
600
Warnings:
601
601
Note 1276 Field or reference 'test.t1.c1' of SELECT #2 was resolved in SELECT #1
602
-
Note 1003 /* select#1 */ select '2' AS `i1` from dual where exists(/* select#2 */ select `test`.`t2`.`c1` from `test`.`t2` where ((`test`.`t2`.`c1` = 'v') and (`test`.`t2`.`c2` = (/* select#3 */ select min('v') from dual))))
602
+
Note 1003 /* select#1 */ select '2' AS `i1` from dual where exists(/* select#2 */ select `test`.`t2`.`c1` from `test`.`t2` where ((`test`.`t2`.`c1` = 'v') and (`test`.`t2`.`c2` = (/* select#3 */ select min('v') from dual)) and ((/* select#3 */ select min('v') from dual) <> 'w')))
Copy file name to clipboardExpand all lines: mysql-test/r/myisam_icp_none.result
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -598,7 +598,7 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
598
598
3 SUBQUERY t3 NULL system NULL NULL NULL NULL 1 100.00 NULL
599
599
Warnings:
600
600
Note 1276 Field or reference 'test.t1.c1' of SELECT #2 was resolved in SELECT #1
601
-
Note 1003 /* select#1 */ select '2' AS `i1` from dual where exists(/* select#2 */ select `test`.`t2`.`c1` from `test`.`t2` where ((`test`.`t2`.`c1` = 'v') and (`test`.`t2`.`c2` = (/* select#3 */ select min('v') from dual))))
601
+
Note 1003 /* select#1 */ select '2' AS `i1` from dual where exists(/* select#2 */ select `test`.`t2`.`c1` from `test`.`t2` where ((`test`.`t2`.`c1` = 'v') and (`test`.`t2`.`c2` = (/* select#3 */ select min('v') from dual)) and ((/* select#3 */ select min('v') from dual) <> 'w')))
0 commit comments