Hi, Sanja! On Oct 02, sanja@askmonty.org wrote:
=== modified file 'client/mysqltest.cc' --- a/client/mysqltest.cc 2013-07-21 14:39:19 +0000 +++ b/client/mysqltest.cc 2013-10-02 13:54:55 +0000 @@ -5648,6 +5648,10 @@ void safe_connect(MYSQL* mysql, const ch verbose_msg("Connecting to server %s:%d (socket %s) as '%s'" ", connection '%s', attempt %d ...", host, port, sock, user, name, failed_attempts); + + mysql_options(mysql, MYSQL_OPT_CONNECT_ATTR_RESET, 0); + mysql_options4(mysql, MYSQL_OPT_CONNECT_ATTR_ADD, + "program_name", "mysqltest");
Did you test connecting without connection attributes? e.g. 5.5 client and 10.0 server? and mysql-5.5 client? And mysql-5.6 client? please do, at least manually
while(!mysql_real_connect(mysql, host,user, pass, db, port, sock, CLIENT_MULTI_STATEMENTS | CLIENT_REMEMBER_OPTIONS)) {
=== modified file 'include/mysql.h' --- a/include/mysql.h 2013-07-18 14:46:57 +0000 +++ b/include/mysql.h 2013-10-02 13:54:55 +0000 @@ -557,6 +557,8 @@ int STDCALL mysql_list_proce int status); int STDCALL mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg); +int STDCALL mysql_options4(MYSQL *mysql,enum mysql_option option, + const void *arg1, const void *arg2);
This is pretty silly, I'd rather have mysql_optionv(MYSQL *mysql, enum mysql_option option, ...) or even (redefining the existing function): mysql_option(MYSQL *mysql, enum mysql_option option, ...) but we're copying MySQL here, so we don't have much of a choice
void STDCALL mysql_free_result(MYSQL_RES *result); int STDCALL mysql_free_result_start(MYSQL_RES *result); int STDCALL mysql_free_result_cont(MYSQL_RES *result, int status);
=== modified file 'sql/sql_acl.cc' --- a/sql/sql_acl.cc 2013-09-21 08:14:42 +0000 +++ b/sql/sql_acl.cc 2013-10-02 13:54:55 +0000 @@ -8570,7 +8628,13 @@ static ulong parse_client_handshake_pack mpvio->acl_user->plugin= old_password_plugin_name; } } - + + if (db &&
Why do you check for db being not NULL?
+ (thd->client_capabilities & CLIENT_CONNECT_ATTRS) && + read_client_connect_attrs(&next_field, ((char *)net->read_pos) + pkt_len, + mpvio->thd->charset())) + return packet_error; + /* if the acl_user needs a different plugin to authenticate (specified in GRANT ... AUTHENTICATED VIA plugin_name ..)
=== modified file 'sql/sys_vars.cc' --- a/sql/sys_vars.cc 2013-09-21 08:14:42 +0000 +++ b/sql/sys_vars.cc 2013-10-02 13:54:55 +0000 @@ -71,6 +71,7 @@ #define export /* not static */
#ifdef WITH_PERFSCHEMA_STORAGE_ENGINE +#ifndef EMBEDDED_LIBRARY
Why is this?
static Sys_var_mybool Sys_pfs_enabled( "performance_schema",
Regards, Sergei