1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

Many files:

Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).


sql/sql_class.h:
  Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).
sql/sql_delete.cc:
  Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).
sql/sql_update.cc:
  Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).
mysql-test/t/multi_update.test:
  Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).
mysql-test/r/multi_update.result:
  Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
This commit is contained in:
unknown
2003-12-11 14:55:48 -08:00
parent 28b1f63aa7
commit 9570d010d5
6 changed files with 64 additions and 3 deletions

View File

@@ -440,7 +440,7 @@ multi_update::multi_update(THD *thd_arg, TABLE_LIST *table_list,
:all_tables(table_list), update_tables(0), thd(thd_arg), tmp_tables(0),
updated(0), found(0), fields(field_list), values(value_list),
table_count(0), copy_field(0), handle_duplicates(handle_duplicates_arg),
do_update(1), trans_safe(0)
do_update(1), trans_safe(0), tmp_tables_inited(0)
{}
@@ -622,6 +622,7 @@ multi_update::initialize_tables(JOIN *join)
DBUG_RETURN(1);
tmp_tables[cnt]->file->extra(HA_EXTRA_WRITE_CACHE);
}
tmp_tables_inited= 1;
DBUG_RETURN(0);
}
@@ -819,8 +820,11 @@ int multi_update::do_updates(bool from_send_error)
ha_rows org_updated;
TABLE *table;
DBUG_ENTER("do_updates");
do_update= 0; // Don't retry this function
do_update= 0; // Don't retry this function
if (!tmp_tables_inited)
DBUG_RETURN(0);
for (cur_table= update_tables; cur_table ; cur_table= cur_table->next)
{
table = cur_table->table;