Merge branch '10.0' into 10.1

This commit is contained in:
Sergei Golubchik 2016-08-25 12:40:09 +02:00
commit 6b1863b830
381 changed files with 5154 additions and 3894 deletions

View file

@ -3643,6 +3643,9 @@ error:
/* Free alloced memory */
end_server(mysql);
mysql_close_free(mysql);
if (!(client_flag & CLIENT_REMEMBER_OPTIONS) &&
!mysql->options.extension->async_context)
mysql_close_free_options(mysql);
}
DBUG_RETURN(0);
}
@ -3713,7 +3716,7 @@ my_bool mysql_reconnect(MYSQL *mysql)
}
if (!mysql_real_connect(&tmp_mysql,mysql->host,mysql->user,mysql->passwd,
mysql->db, mysql->port, mysql->unix_socket,
mysql->client_flag))
mysql->client_flag | CLIENT_REMEMBER_OPTIONS))
{
if (ctxt)
my_context_install_suspend_resume_hook(ctxt, NULL, NULL);

View file

@ -224,7 +224,7 @@ my_bool check_datetime_range(const MYSQL_TIME *ltime)
ltime->minute > 59 || ltime->second > 59 ||
ltime->second_part > TIME_MAX_SECOND_PART ||
(ltime->hour >
(ltime->time_type == MYSQL_TIMESTAMP_TIME ? TIME_MAX_HOUR : 23));
(uint) (ltime->time_type == MYSQL_TIMESTAMP_TIME ? TIME_MAX_HOUR : 23));
}
@ -237,7 +237,7 @@ static void get_microseconds(ulong *val, MYSQL_TIME_STATUS *status,
if (get_digits(&tmp, number_of_fields, str, end, 6))
status->warnings|= MYSQL_TIME_WARN_TRUNCATED;
if ((status->precision= (*str - start)) < 6)
*val= tmp * log_10_int[6 - (*str - start)];
*val= (ulong) (tmp * log_10_int[6 - (*str - start)]);
else
*val= tmp;
if (skip_digits(str, end))

View file

@ -455,7 +455,11 @@ MK_ASYNC_START_BODY(
parms.db= db;
parms.port= port;
parms.unix_socket= unix_socket;
parms.client_flags= client_flags;
/*
async wrapper enforce the CLIENT_REMEMBER_OPTIONS flag to be
functional (otherwise it can't operate)
*/
parms.client_flags= client_flags | CLIENT_REMEMBER_OPTIONS;
},
NULL,
r_ptr,