mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
WL 1682: Bitvector for updated/read fields in handler interface
Fixed clear issues of bitvector and memory allocation issues sql/bitvector.cc: Made bitvector memroot class sql/bitvector.h: Made bitvector memroot class sql/handler.cc: Need to add updated fields to read set to ensure that they are updated since the update code doesn't update if records haven't changed Added DBUG printout's sql/handler.h: Moved clear of bitvector's to reset function Introduced ha_reset for this purpose to ensure that it isn't necessary to perform this clear in all handlers. sql/lock.cc: Removed clear that has been moved to ha_reset sql/opt_range.cc: Changed reset to ha_reset Added delete file sql/sql_base.cc: Removed clear and changed reset to ha_reset sql/sql_insert.cc: Removed clear and changed reset to ha_reset sql/sql_select.cc: Made sure delete file is done if needed sql/sql_table.cc: Added delete file in another place needed sql/sql_update.cc: Bug for multi-update fixed
This commit is contained in:
@@ -652,7 +652,7 @@ bool mysql_multi_update_prepare(THD *thd)
|
||||
leaves= lex->select_lex.leaf_tables;
|
||||
|
||||
if ((lex->select_lex.no_wrap_view_item= 1,
|
||||
res= setup_fields(thd, 0, table_list, *fields, 1, 0, 0),
|
||||
res= setup_fields(thd, 0, table_list, *fields, 2, 0, 0),
|
||||
lex->select_lex.no_wrap_view_item= 0,
|
||||
res))
|
||||
DBUG_RETURN(TRUE);
|
||||
@@ -769,7 +769,7 @@ bool mysql_multi_update_prepare(THD *thd)
|
||||
if (setup_tables(thd, table_list, &lex->select_lex.where,
|
||||
&lex->select_lex.leaf_tables, FALSE, FALSE) ||
|
||||
(lex->select_lex.no_wrap_view_item= 1,
|
||||
res= setup_fields(thd, 0, table_list, *fields, 1, 0, 0),
|
||||
res= setup_fields(thd, 0, table_list, *fields, 2, 0, 0),
|
||||
lex->select_lex.no_wrap_view_item= 0,
|
||||
res))
|
||||
DBUG_RETURN(TRUE);
|
||||
|
||||
Reference in New Issue
Block a user