summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2005-05-30 20:48:40 +0300
committerunknown <monty@mysql.com>2005-05-30 20:48:40 +0300
commit16ba85cb9b19fd9ce86b5866f49ff927bbf6a8d6 (patch)
treececbfda09bb93c1c181159eacc7b4e58cac50cf4 /sql/sql_class.h
parent8dc53bc32575c4dc010c3c74caada5dfeb96f321 (diff)
downloadmariadb-git-16ba85cb9b19fd9ce86b5866f49ff927bbf6a8d6.tar.gz
Fixed bug in multiple-table-delete where some rows was not deleted
mysql-test/r/delete.result: Test case for bug in multiple-table-delete where some rows was not deleted mysql-test/t/delete.test: Test case for bug in multiple-table-delete where some rows was not deleted sql/item_subselect.cc: Code cleanup sql/opt_range.cc: Code cleanup sql/sql_delete.cc: Fixed bug in multiple-table-delete where some rows was not deleted This happend when the first table-to-delete-from was not the the table that was scanned. Fixed this by only doing 'delete-on-the-fly' for the first table. Fixed also some wrong error handling in multi-table-delete
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r--sql/sql_class.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 47987f3a0c6..e7539aaa517 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -1854,7 +1854,8 @@ class multi_delete :public select_result_interceptor
ha_rows deleted, found;
uint num_of_tables;
int error;
- bool do_delete, transactional_tables, normal_tables;
+ bool do_delete, transactional_tables, normal_tables, delete_while_scanning;
+
public:
multi_delete(THD *thd, TABLE_LIST *dt, uint num_of_tables);
~multi_delete();
@@ -1862,7 +1863,7 @@ public:
bool send_data(List<Item> &items);
bool initialize_tables (JOIN *join);
void send_error(uint errcode,const char *err);
- int do_deletes (bool from_send_error);
+ int do_deletes();
bool send_eof();
};