Loading mysql-test/t/grant.test +7 −0 Original line number Diff line number Diff line Loading @@ -480,4 +480,11 @@ flush privileges; delete from tables_priv where host = '' and user = 'mysqltest_1'; flush privileges; # # Bug #10892 user variables not auto cast for comparisons # Check that we don't get illegal mix of collations # set @user123="non-existent"; select * from mysql.db where user=@user123; # End of 4.1 tests sql/item.cc +8 −4 Original line number Diff line number Diff line Loading @@ -1016,14 +1016,18 @@ bool DTCollation::aggregate(DTCollation &dt, uint flags) ; // Do nothing } else if ((flags & MY_COLL_ALLOW_SUPERSET_CONV) && derivation < dt.derivation && collation->state & MY_CS_UNICODE) collation->state & MY_CS_UNICODE && (derivation < dt.derivation || (derivation == dt.derivation && !(dt.collation->state & MY_CS_UNICODE)))) { // Do nothing } else if ((flags & MY_COLL_ALLOW_SUPERSET_CONV) && dt.derivation < derivation && dt.collation->state & MY_CS_UNICODE) dt.collation->state & MY_CS_UNICODE && (dt.derivation < derivation || (dt.derivation == derivation && !(collation->state & MY_CS_UNICODE)))) { set(dt); } Loading Loading
mysql-test/t/grant.test +7 −0 Original line number Diff line number Diff line Loading @@ -480,4 +480,11 @@ flush privileges; delete from tables_priv where host = '' and user = 'mysqltest_1'; flush privileges; # # Bug #10892 user variables not auto cast for comparisons # Check that we don't get illegal mix of collations # set @user123="non-existent"; select * from mysql.db where user=@user123; # End of 4.1 tests
sql/item.cc +8 −4 Original line number Diff line number Diff line Loading @@ -1016,14 +1016,18 @@ bool DTCollation::aggregate(DTCollation &dt, uint flags) ; // Do nothing } else if ((flags & MY_COLL_ALLOW_SUPERSET_CONV) && derivation < dt.derivation && collation->state & MY_CS_UNICODE) collation->state & MY_CS_UNICODE && (derivation < dt.derivation || (derivation == dt.derivation && !(dt.collation->state & MY_CS_UNICODE)))) { // Do nothing } else if ((flags & MY_COLL_ALLOW_SUPERSET_CONV) && dt.derivation < derivation && dt.collation->state & MY_CS_UNICODE) dt.collation->state & MY_CS_UNICODE && (dt.derivation < derivation || (dt.derivation == derivation && !(collation->state & MY_CS_UNICODE)))) { set(dt); } Loading