summaryrefslogtreecommitdiff
path: root/libmysqld
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2022-07-28 10:47:33 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2022-07-28 10:47:33 +0300
commitf53f64b7b9edaef8e413add322225dc33ebc8131 (patch)
tree80885434187ce270e4a3f8f43137364f73c9f060 /libmysqld
parentd8c2eeeb5998a2a126eb63f1be8bbfb86c3c8693 (diff)
parentf79cebb4d02a7b5151ac617bc762c3e094436562 (diff)
downloadmariadb-git-f53f64b7b9edaef8e413add322225dc33ebc8131.tar.gz
Merge 10.8 into 10.9
Diffstat (limited to 'libmysqld')
-rw-r--r--libmysqld/CMakeLists.txt3
-rw-r--r--libmysqld/lib_sql.cc22
2 files changed, 13 insertions, 12 deletions
diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt
index 62325b12349..1e7991bb0b2 100644
--- a/libmysqld/CMakeLists.txt
+++ b/libmysqld/CMakeLists.txt
@@ -1,5 +1,5 @@
# Copyright (c) 2006, 2011, Oracle and/or its affiliates.
-# Copyright (c) 2009, 2020, MariaDB Corporation
+# Copyright (c) 2009, 2022, MariaDB Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -154,6 +154,7 @@ ENDIF()
IF(TARGET libfmt)
ADD_DEPENDENCIES(sql_embedded libfmt)
ENDIF()
+TARGET_LINK_LIBRARIES(sql_embedded LINK_PRIVATE tpool ${CRC32_LIBRARY})
# On Windows, static embedded server library is called mysqlserver.lib
# On Unix, it is libmysqld.a
diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc
index 5d78974c2d5..8cf4f6d4cf8 100644
--- a/libmysqld/lib_sql.cc
+++ b/libmysqld/lib_sql.cc
@@ -496,7 +496,7 @@ MYSQL_METHODS embedded_methods=
char **copy_arguments(int argc, char **argv)
{
- uint length= 0;
+ size_t length= 0;
char **from, **res, **end= argv+argc;
for (from=argv ; from != end ; from++)
@@ -1111,11 +1111,11 @@ bool Protocol_text::store_field_metadata(const THD * thd,
client_field->flags= (uint16) server_field.flags;
client_field->decimals= server_field.decimals;
- client_field->db_length= strlen(client_field->db);
- client_field->table_length= strlen(client_field->table);
- client_field->name_length= strlen(client_field->name);
- client_field->org_name_length= strlen(client_field->org_name);
- client_field->org_table_length= strlen(client_field->org_table);
+ client_field->db_length= (uint)strlen(client_field->db);
+ client_field->table_length= (uint)strlen(client_field->table);
+ client_field->name_length= (uint)strlen(client_field->name);
+ client_field->org_name_length= (uint)strlen(client_field->org_name);
+ client_field->org_table_length= (uint)strlen(client_field->org_table);
client_field->catalog= dup_str_aux(field_alloc, "def", 3, cs, thd_cs);
client_field->catalog_length= 3;
@@ -1389,12 +1389,12 @@ bool Protocol::net_store_data(const uchar *from, size_t length)
if (!(field_buf= (char*) alloc_root(alloc, length + sizeof(uint) + 1)))
return TRUE;
- *(uint *)field_buf= length;
+ *(uint *)field_buf= (uint)length;
*next_field= field_buf + sizeof(uint);
memcpy((uchar*) *next_field, from, length);
(*next_field)[length]= 0;
if (next_mysql_field->max_length < length)
- next_mysql_field->max_length=length;
+ next_mysql_field->max_length=(ulong)length;
++next_field;
++next_mysql_field;
return FALSE;
@@ -1404,7 +1404,7 @@ bool Protocol::net_store_data(const uchar *from, size_t length)
bool Protocol::net_store_data_cs(const uchar *from, size_t length,
CHARSET_INFO *from_cs, CHARSET_INFO *to_cs)
{
- uint conv_length= to_cs->mbmaxlen * length / from_cs->mbminlen;
+ size_t conv_length= length * to_cs->mbmaxlen / from_cs->mbminlen;
uint dummy_error;
char *field_buf;
if (!thd->mysql) // bootstrap file handling
@@ -1415,10 +1415,10 @@ bool Protocol::net_store_data_cs(const uchar *from, size_t length,
*next_field= field_buf + sizeof(uint);
length= copy_and_convert(*next_field, conv_length, to_cs,
(const char*) from, length, from_cs, &dummy_error);
- *(uint *) field_buf= length;
+ *(uint *) field_buf= (uint)length;
(*next_field)[length]= 0;
if (next_mysql_field->max_length < length)
- next_mysql_field->max_length= length;
+ next_mysql_field->max_length= (ulong)length;
++next_field;
++next_mysql_field;
return false;