| Bug #99357 | Return error of Illegal mix of collations of explicit and implicit collations. | ||
|---|---|---|---|
| Submitted: | 26 Apr 2020 5:57 | Modified: | 28 Apr 2020 13:33 |
| Reporter: | wj huang | Email Updates: | |
| Status: | Not a Bug | Impact on me: | |
| Category: | MySQL Server | Severity: | S3 (Non-critical) |
| Version: | 8.0.19 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[26 Apr 2020 5:57]
wj huang
[28 Apr 2020 11:46]
MySQL Verification Team
Hi Mr. huang, Thank you for your bug report. However, this is not a bug. Since you have read that page, let me quote to you one sentence: " An explicit COLLATE clause has a coercibility of 0 (not coercible at all). " Hence, in the first query, you can not coerce those two different collations at all. Second query is coercible. Hence , this is not a bug.
[28 Apr 2020 12:12]
wj huang
Thank you for your reply.
Sorry for my previous misleading example, in the following queries:
mysql> set names utf8mb4 collate utf8mb4_bin;
Query OK, 0 rows affected (0.00 sec)
mysql> select concat(_ascii "a" collate ascii_bin, "b");
+-------------------------------------------+
| concat(_ascii "a" collate ascii_bin, "b") |
+-------------------------------------------+
| ab |
+-------------------------------------------+
1 row in set (0.00 sec)
mysql> select collation("b");
+----------------+
| collation("b") |
+----------------+
| utf8mb4_bin |
+----------------+
1 row in set (0.00 sec)
I think the only difference here is the coercibility value. Then I can't understand why the first query is not coercible but the second is coercible.
[28 Apr 2020 12:35]
MySQL Verification Team
Hi Mr. huang, You can read on the same page about the exception with UTF collations. Which is why your first query now works. Not a bug.
[28 Apr 2020 13:33]
wj huang
Thanks. I figured out that it's because of the repertoire of a character set. Not a bug.
[28 Apr 2020 13:36]
MySQL Verification Team
Hello Mr. huang, Yes that is correct and you are welcome.
