Bug #137 | <=> operator doesn't work as expected with ROW | ||
---|---|---|---|
Submitted: | 9 Mar 2003 18:13 | Modified: | 10 Mar 2003 9:47 |
Reporter: | jocelyn fournier (Silver Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 4.1 | OS: | Any (all) |
Assigned to: | CPU Architecture: | Any |
[9 Mar 2003 18:13]
jocelyn fournier
[10 Mar 2003 9:47]
MySQL Verification Team
==== sql/item_cmpfunc.cc 1.75 vs edited ===== *** /tmp/item_cmpfunc.cc-1.75-8523 Fri Mar 7 11:39:24 2003 --- edited/sql/item_cmpfunc.cc Mon Mar 10 19:26:07 2003 *************** *** 266,273 **** uint n= (*a)->cols(); for (uint i= 0; i<n; i++) { ! if ((res= comparators[i].compare())) ! return 1; } return 1; } --- 266,273 ---- uint n= (*a)->cols(); for (uint i= 0; i<n; i++) { ! if ((res= !comparators[i].compare())) ! return 0; } return 1; } *************** *** 352,358 **** { Item_bool_func2::fix_length_and_dec(); maybe_null=null_value=0; - set_cmp_func(); } longlong Item_func_equal::val_int() --- 352,357 ---- Additional note: SELECT ROW(NULL,10) <=> (ROW(3,NULL)) should be 0 and not NULL. <=> never returns NULL, only 0 and 1.