Hi Serg,
A test was added, that uses MySql.Data from powershell - only works if MySql.Data is installed into GAC (i.e with C/NET MSI package)
please, make sure that MySql.Data is installed on at least one buildbot builder.
It is on 3 buildbot builders now .There is 8.0.31 version of the connector on "old" buildbot", and latest 8.2.0 on new "buildbot", the required builder. The added test is succeeding everywhere.
wouldn't it be better to do instead
- bool is_context= cmp(context_collation_name, full_collation_name); + bool is_context= cmp(context_collation_name, full_collation_name) + && !(thd->variables.old_behavior & OLD_MODE_NO_NULL_COLLATION_IDS);
?
Right, seems better to me too. If this connector is so much interested in collation id => charset mappings, it does not hurt to have full picture (in practice it mostly likely will be only seeing utf8mb4 variations only, but better safe than sorry) I changed it like you proposed. Best, Wlad ________________________________ From: Sergei Golubchik <serg@mariadb.org> Sent: Wednesday, November 29, 2023 8:45 PM To: Vladislav Vaintroub <vvaintroub@gmail.com> Cc: developers@lists.mariadb.org <developers@lists.mariadb.org> Subject: Re: d25ab9fdfa1: MDEV-31608 - Connector/NET fails to connect since 10.10 Hi, Vladislav, On Nov 29, Vladislav Vaintroub wrote:
revision-id: d25ab9fdfa1 (mariadb-10.11.2-62-gd25ab9fdfa1) parent(s): 034848c6c27 author: Vladislav Vaintroub committer: Vladislav Vaintroub timestamp: 2023-10-08 19:37:20 +0200 message:
MDEV-31608 - Connector/NET fails to connect since 10.10
Connector/NET does not expect collation IDs returned by "show collations" to be NULL, runs into an exception.
The fix is to determine connector/net using its connection attributes, exclude null-id collations from "show collations".The patch introduces new old_mode NO_NULL_COLLATION_IDs, that is automatically set, once MySQL Connector/NET connection is determined.
I don't like this hack at all, but I don't have any better ideas, so just one question below
A test was added, that uses MySql.Data from powershell - only works if MySql.Data is installed into GAC (i.e with C/NET MSI package)
please, make sure that MySql.Data is installed on at least one buildbot builder.
diff --git a/sql/sql_show.cc b/sql/sql_show.cc index bff55f7a431..bea993305be 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -6386,7 +6386,8 @@ int fill_schema_collation(THD *thd, TABLE_LIST *tables, COND *cond) character set prefix). */ if (is_context && - cmp(tmp_cl->cs_name, Lex_cstring(STRING_WITH_LEN("utf8mb4")))) + ((thd->variables.old_behavior & OLD_MODE_NO_NULL_COLLATION_IDS) || + cmp(tmp_cl->cs_name, Lex_cstring(STRING_WITH_LEN("utf8mb4")))))
wouldn't it be better to do instead - bool is_context= cmp(context_collation_name, full_collation_name); + bool is_context= cmp(context_collation_name, full_collation_name) + && !(thd->variables.old_behavior & OLD_MODE_NO_NULL_COLLATION_IDS); ?
continue; restore_record(table, s->default_values); table->field[0]->store(context_collation_name, scs);
Regards, Sergei Chief Architect, MariaDB Server and security@mariadb.org