diff options
author | unknown <monty@mashka.mysql.fi> | 2003-02-17 05:43:37 +0200 |
---|---|---|
committer | unknown <monty@mashka.mysql.fi> | 2003-02-17 05:43:37 +0200 |
commit | e793dfe95e70c60af4a517ba7a5255ad15d48d95 (patch) | |
tree | a3fbfddbae0d5a6e600e68942bb243fadb5269aa /sql/sql_delete.cc | |
parent | 77f5c5a7cf4e99fa3d760f1541bafec3b182def3 (diff) | |
parent | 300b3fb64280ae3d982745b683029a2722b3daef (diff) | |
download | mariadb-git-e793dfe95e70c60af4a517ba7a5255ad15d48d95.tar.gz |
Merge with 4.0.11 tree to get latest bug fixes
client/mysql.cc:
Auto merged
client/mysqldump.c:
Auto merged
configure.in:
Auto merged
include/my_pthread.h:
Auto merged
include/mysql.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/libmysqld.c:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/rpl000001.result:
Auto merged
mysql-test/r/rpl000004.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/rpl000001.test:
Auto merged
mysys/my_init.c:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/structs.h:
Auto merged
Makefile.am:
Merge with 4.0.11
mysql-test/mysql-test-run.sh:
Merge with 4.0.11
mysql-test/r/rpl_log.result:
Use local version (needs to be updated)
mysql-test/t/type_blob.test:
Merge with 4.0.11
sql/mysqld.cc:
Merge with 4.0.11
sql/protocol.cc:
Use local version
Diffstat (limited to 'sql/sql_delete.cc')
-rw-r--r-- | sql/sql_delete.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sql/sql_delete.cc b/sql/sql_delete.cc index 703eafd0af6..05f84616a4c 100644 --- a/sql/sql_delete.cc +++ b/sql/sql_delete.cc @@ -411,6 +411,7 @@ void multi_delete::send_error(uint errcode,const char *err) int multi_delete::do_deletes(bool from_send_error) { int local_error= 0, counter= 0; + DBUG_ENTER("do_deletes"); if (from_send_error) { @@ -436,7 +437,12 @@ int multi_delete::do_deletes(bool from_send_error) } READ_RECORD info; - init_read_record(&info,thd,table,NULL,0,0); + init_read_record(&info,thd,table,NULL,0,1); + /* + Ignore any rows not found in reference tables as they may already have + been deleted by foreign key handling + */ + info.ignore_not_found_rows= 1; while (!(local_error=info.read_record(&info)) && !thd->killed) { if ((local_error=table->file->delete_row(table->record[0]))) @@ -450,7 +456,7 @@ int multi_delete::do_deletes(bool from_send_error) if (local_error == -1) // End of file local_error = 0; } - return local_error; + DBUG_RETURN(local_error); } |