mirror of
https://github.com/MariaDB/server.git
synced 2025-08-05 13:16:09 +03:00
MDEV-28888 : Embedded MariaDB does not build on Windows
Add limited support for building embedded library (DLL only).
This commit is contained in:
@@ -485,7 +485,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++)
|
||||
@@ -1100,11 +1100,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;
|
||||
@@ -1378,12 +1378,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;
|
||||
@@ -1393,7 +1393,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
|
||||
@@ -1404,10 +1404,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;
|
||||
|
Reference in New Issue
Block a user