mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-32862 MYSQL struct in C/C and server differs
move MYSQL::fields down, replacing MYSQL::unused5 this way only MYSQL::fields and MYSQL::field_alloc will still have different offset in C/C and the server, but all other MYSQL members will get back in sync. luckily, plugins shouldn't need MYSQL::fields or MYSQL::field_alloc added a check to ensure both MYSQL structures are always of the same size.
This commit is contained in:
@@ -274,7 +274,6 @@ typedef struct st_mysql
|
|||||||
char *host,*user,*passwd,*unix_socket,*server_version,*host_info;
|
char *host,*user,*passwd,*unix_socket,*server_version,*host_info;
|
||||||
char *info, *db;
|
char *info, *db;
|
||||||
const struct charset_info_st *charset;
|
const struct charset_info_st *charset;
|
||||||
MYSQL_FIELD *fields;
|
|
||||||
MEM_ROOT field_alloc;
|
MEM_ROOT field_alloc;
|
||||||
my_ulonglong affected_rows;
|
my_ulonglong affected_rows;
|
||||||
my_ulonglong insert_id; /* id if insert on table with NEXTNR */
|
my_ulonglong insert_id; /* id if insert on table with NEXTNR */
|
||||||
@@ -296,7 +295,8 @@ typedef struct st_mysql
|
|||||||
/* session-wide random string */
|
/* session-wide random string */
|
||||||
char scramble[SCRAMBLE_LENGTH+1];
|
char scramble[SCRAMBLE_LENGTH+1];
|
||||||
my_bool auto_local_infile;
|
my_bool auto_local_infile;
|
||||||
void *unused2, *unused3, *unused4, *unused5;
|
void *unused2, *unused3, *unused4;
|
||||||
|
MYSQL_FIELD *fields;
|
||||||
|
|
||||||
LIST *stmts; /* list of all statements */
|
LIST *stmts; /* list of all statements */
|
||||||
const struct st_mysql_methods *methods;
|
const struct st_mysql_methods *methods;
|
||||||
|
@@ -1426,6 +1426,14 @@ int main(int argc, char **argv)
|
|||||||
tests_to_run[i]= NULL;
|
tests_to_run[i]= NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
/* must be the same in C/C and embedded, 1208 on 64bit, 968 on 32bit */
|
||||||
|
compile_time_assert(sizeof(MYSQL) == 60*sizeof(void*)+728);
|
||||||
|
#else
|
||||||
|
/* must be the same in C/C and embedded, 1272 on 64bit, 964 on 32bit */
|
||||||
|
compile_time_assert(sizeof(MYSQL) == 77*sizeof(void*)+656);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (mysql_server_init(embedded_server_arg_count,
|
if (mysql_server_init(embedded_server_arg_count,
|
||||||
embedded_server_args,
|
embedded_server_args,
|
||||||
(char**) embedded_server_groups))
|
(char**) embedded_server_groups))
|
||||||
|
Reference in New Issue
Block a user