You've already forked mariadb-connector-c
mirror of
https://github.com/mariadb-corporation/mariadb-connector-c.git
synced 2025-07-30 19:03:17 +03:00
Merge branch '3.1' into 3.3
This commit is contained in:
@ -1106,6 +1106,7 @@ static void convert_to_datetime(MYSQL_TIME *t, unsigned char **row, uint len, en
|
||||
}
|
||||
}
|
||||
|
||||
static const uint32_t sec_part_digits[]= {1000000, 100000, 10000, 1000, 100, 10, 1};
|
||||
|
||||
/* {{{ ps_fetch_datetime */
|
||||
static
|
||||
@ -1151,7 +1152,7 @@ void ps_fetch_datetime(MYSQL_BIND *r_param, const MYSQL_FIELD * field,
|
||||
{
|
||||
uint8_t decimals= (field->decimals == AUTO_SEC_PART_DIGITS) ? SEC_PART_DIGITS : field->decimals;
|
||||
length= sprintf(dtbuffer, "%s%02u:%02u:%02u.%0*u", (tm.neg ? "-" : ""), tm.hour, tm.minute, tm.second,
|
||||
decimals, (uint32_t)(tm.second_part / pow(10, 6 - decimals)));
|
||||
decimals, (uint32_t)(tm.second_part / sec_part_digits[decimals]));
|
||||
} else
|
||||
length= sprintf(dtbuffer, "%s%02u:%02u:%02u", (tm.neg ? "-" : ""), tm.hour, tm.minute, tm.second);
|
||||
break;
|
||||
@ -1162,7 +1163,7 @@ void ps_fetch_datetime(MYSQL_BIND *r_param, const MYSQL_FIELD * field,
|
||||
{
|
||||
uint8_t decimals= (field->decimals == AUTO_SEC_PART_DIGITS) ? SEC_PART_DIGITS : field->decimals;
|
||||
length= sprintf(dtbuffer, "%04u-%02u-%02u %02u:%02u:%02u.%0*u", tm.year, tm.month, tm.day, tm.hour, tm.minute, tm.second,
|
||||
decimals, (uint32_t)(tm.second_part / pow(10, 6 - decimals)));
|
||||
decimals, (uint32_t)(tm.second_part / sec_part_digits[decimals]));
|
||||
} else
|
||||
length= sprintf(dtbuffer, "%04u-%02u-%02u %02u:%02u:%02u", tm.year, tm.month, tm.day, tm.hour, tm.minute, tm.second);
|
||||
break;
|
||||
|
@ -404,6 +404,7 @@ mthd_my_send_cmd(MYSQL *mysql,enum enum_server_command command, const char *arg,
|
||||
(socket) is still available */
|
||||
if (command != COM_QUIT && mysql->options.reconnect && ma_pvio_is_alive(mysql->net.pvio))
|
||||
{
|
||||
ma_pvio_close(mysql->net.pvio);
|
||||
mysql->net.pvio= NULL;
|
||||
mysql->net.error= 1;
|
||||
}
|
||||
@ -2446,17 +2447,15 @@ void my_set_error(MYSQL *mysql,
|
||||
|
||||
void mysql_close_slow_part(MYSQL *mysql)
|
||||
{
|
||||
if (mysql->net.pvio)
|
||||
{
|
||||
free_old_query(mysql);
|
||||
mysql->status=MYSQL_STATUS_READY; /* Force command */
|
||||
mysql->options.reconnect=0;
|
||||
if (mysql->net.pvio && mysql->net.buff)
|
||||
ma_simple_command(mysql, COM_QUIT,NullS,0,1,0);
|
||||
end_server(mysql);
|
||||
}
|
||||
free_old_query(mysql);
|
||||
mysql->status=MYSQL_STATUS_READY; /* Force command */
|
||||
mysql->options.reconnect=0;
|
||||
if (mysql->net.pvio && mysql->net.buff)
|
||||
ma_simple_command(mysql, COM_QUIT,NullS,0,1,0);
|
||||
end_server(mysql);
|
||||
|
||||
/* there is an ongoing async operation */
|
||||
else if (mysql->options.extension && mysql->options.extension->async_context)
|
||||
if (mysql->options.extension && mysql->options.extension->async_context)
|
||||
{
|
||||
if (mysql->options.extension->async_context->pending_gai_res)
|
||||
{
|
||||
|
Reference in New Issue
Block a user