1
0
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:
unknown
2005-05-07 10:00:25 +02:00
parent dfb2d19fe5
commit fdde665e76
11 changed files with 29 additions and 21 deletions

View File

@@ -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);