diff options
author | unknown <monty@mysql.com> | 2005-05-30 20:48:40 +0300 |
---|---|---|
committer | unknown <monty@mysql.com> | 2005-05-30 20:48:40 +0300 |
commit | 16ba85cb9b19fd9ce86b5866f49ff927bbf6a8d6 (patch) | |
tree | cecbfda09bb93c1c181159eacc7b4e58cac50cf4 /sql/sql_class.h | |
parent | 8dc53bc32575c4dc010c3c74caada5dfeb96f321 (diff) | |
download | mariadb-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.h | 5 |
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(); }; |