mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
fix gcc 8 compiler warnings
There were two newly enabled warnings: 1. cast for a function pointers. Affected sql_analyse.h, mi_write.c and ma_write.cc, mf_iocache-t.cc, mysqlbinlog.cc, encryption.cc, etc 2. memcpy/memset of nontrivial structures. Fixed as: * the warning disabled for InnoDB * TABLE, TABLE_SHARE, and TABLE_LIST got a new method reset() which does the bzero(), which is safe for these classes, but any other bzero() will still cause a warning * Table_scope_and_contents_source_st uses `TABLE_LIST *` (trivial) instead of `SQL_I_List<TABLE_LIST>` (not trivial) so it's safe to bzero now. * added casts in debug_sync.cc and sql_select.cc (for JOIN) * move assignment method for MDL_request instead of memcpy() * PARTIAL_INDEX_INTERSECT_INFO::init() instead of bzero() * remove constructor from READ_RECORD() to make it trivial * replace some memcpy() with c++ copy assignments
This commit is contained in:
@ -359,8 +359,6 @@ bool mysql_ha_open(THD *thd, TABLE_LIST *tables, SQL_HANDLER *reopen)
|
||||
sql_handler->reset();
|
||||
}
|
||||
sql_handler->table= table;
|
||||
memcpy(&sql_handler->mdl_request, &tables->mdl_request,
|
||||
sizeof(tables->mdl_request));
|
||||
|
||||
if (!(sql_handler->lock= get_lock_data(thd, &sql_handler->table, 1,
|
||||
GET_LOCK_STORE_LOCKS)))
|
||||
@ -374,6 +372,8 @@ bool mysql_ha_open(THD *thd, TABLE_LIST *tables, SQL_HANDLER *reopen)
|
||||
if (error)
|
||||
goto err;
|
||||
|
||||
sql_handler->mdl_request.move_from(tables->mdl_request);
|
||||
|
||||
/* Always read all columns */
|
||||
table->read_set= &table->s->all_set;
|
||||
if (table->vcol_set)
|
||||
@ -403,9 +403,6 @@ bool mysql_ha_open(THD *thd, TABLE_LIST *tables, SQL_HANDLER *reopen)
|
||||
*/
|
||||
table->open_by_handler= 1;
|
||||
|
||||
/* Safety, cleanup the pointer to satisfy MDL assertions. */
|
||||
tables->mdl_request.ticket= NULL;
|
||||
|
||||
if (! reopen)
|
||||
my_ok(thd);
|
||||
DBUG_PRINT("exit",("OK"));
|
||||
|
Reference in New Issue
Block a user