A cleanup for MDEV-27896 Wrong result upon `COLLATE latin1_bin CHARACTER SET...
A cleanup for MDEV-27896 Wrong result upon `COLLATE latin1_bin CHARACTER SET latin1` on the table or the database level Changing the error messages in a statement like this: CREATE DATABASE db1 COLLATE utf8mb4_bin CHARACTER SET utf8mb4 CHARACTER SET latin1; from COLLATION 'utf8mb4_bin' is not valid for CHARACTER SET 'latin1' to a more expected: Conflicting declarations: 'CHARACTER SET utf8mb4' and 'CHARACTER SET latin1' In order to do this: - Adding a new type TYPE_CHARACTER_SET_COLLATE_EXACT into Lex_exact_charset_extended_collation_attrs_st - Removing m_had_charset_exact from its descendant class Lex_extended_charset_extended_collation_attrs_st Additional cleanup: - Changing methods in Lex_exact_charset_extended_collation_attrs_st set_charset(), set_charset_collate_default(), set_charset_collate_binary() to get Lex_exact_charset instead CHARSET_INFO as a parameter, to guarantee that the argument is only CHARACTER SET and does not have any COLLATE clauses yet. This change is not directly related to the error message change.
Showing
Please register or sign in to comment