summaryrefslogtreecommitdiff
path: root/sql/records.cc
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-02-17 02:14:37 +0200
committerunknown <monty@mashka.mysql.fi>2003-02-17 02:14:37 +0200
commit300b3fb64280ae3d982745b683029a2722b3daef (patch)
tree49ba5df63376ec1ba88e54e1446b29a777bba1a9 /sql/records.cc
parent8b4e28f8eb75dfa87196fefcf39854e89378e00e (diff)
downloadmariadb-git-300b3fb64280ae3d982745b683029a2722b3daef.tar.gz
Fixed multi-table-delete for InnoDB tables
Novell patches Makefile.am: Novell patch client/mysql.cc: Novell patch configure.in: Novell patch extra/mysql_waitpid.c: Novell patch include/my_pthread.h: Novell patch include/mysql.h: Novell patch libmysql/libmysql.c: Novell patch libmysqld/libmysqld.c: Novell patch mysql-test/mysql-test-run.sh: Don't use running server with --valgrind mysql-test/r/innodb.result: Updated results mysql-test/r/rpl000001.result: Updated results mysql-test/r/rpl000004.result: Updated results mysql-test/r/rpl_log.result: Updated results mysql-test/r/type_blob.result: Updated results mysql-test/std_data/words.dat: Added more words to make type_blob test relevant mysql-test/t/innodb.test: test of multi-table-delete mysql-test/t/rpl000001.test: Update for new word file mysql-test/t/type_blob.test: Test if BLOB IS NULL on NOT NULL column mysys/my_init.c: Novell patch mysys/my_netware.c: Novell patch netware/Makefile.am: Novell patch netware/init_db.sql: Novell patch netware/isamchk.def: Novell patch netware/isamlog.def: Novell patch netware/libmysql.def: Novell patch netware/my_print_defaults.def: Novell patch netware/myisamchk.def: Novell patch netware/myisamlog.def: Novell patch netware/myisampack.def: Novell patch netware/mysql.def: Novell patch netware/mysql_install_db.c: Novell patch netware/mysql_install_db.def: Novell patch netware/mysql_test_run.def: Novell patch netware/mysqladmin.def: Novell patch netware/mysqlbinlog.def: Novell patch netware/mysqlcheck.def: Novell patch netware/mysqld_safe.c: Novell patch netware/mysqldump.def: Novell patch netware/mysqlimport.def: Novell patch netware/mysqlshow.def: Novell patch netware/mysqltest.def: Novell patch netware/pack_isam.def: Novell patch netware/perror.def: Novell patch netware/replace.def: Novell patch netware/resolveip.def: Novell patch netware/test_db.sql: Novell patch scripts/make_binary_distribution.sh: Novell patch sql/item_cmpfunc.h: Optimization of 'IS NULL' sql/mysql_priv.h: Code cleanup sql/mysqld.cc: Novell patch sql/net_pkg.cc: Code cleanup sql/records.cc: Fixed multi-table-delete for InnoDB tables sql/sql_delete.cc: Fixed multi-table-delete for InnoDB tables sql/sql_handler.cc: Code cleanup sql/sql_table.cc: Code cleanup sql/structs.h: Fixed multi-table-delete for InnoDB tables
Diffstat (limited to 'sql/records.cc')
-rw-r--r--sql/records.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/sql/records.cc b/sql/records.cc
index 7c3bd1110bb..22c4d54550c 100644
--- a/sql/records.cc
+++ b/sql/records.cc
@@ -45,7 +45,8 @@ void init_read_record(READ_RECORD *info,THD *thd, TABLE *table,
info->ref_length=table->file->ref_length;
info->select=select;
info->print_error=print_error;
- table->status=0; /* And it's allways found */
+ info->ignore_not_found_rows= 0;
+ table->status=0; /* And it's always found */
if (select && my_b_inited(&select->file))
tempfile= &select->file;
@@ -184,7 +185,8 @@ tryNext:
{
if (tmp == HA_ERR_END_OF_FILE)
tmp= -1;
- else if (tmp == HA_ERR_RECORD_DELETED)
+ else if (tmp == HA_ERR_RECORD_DELETED ||
+ (tmp == HA_ERR_KEY_NOT_FOUND && info->ignore_not_found_rows))
goto tryNext;
else
{
@@ -212,7 +214,8 @@ tryNext:
{
if (tmp == HA_ERR_END_OF_FILE)
tmp= -1;
- else if (tmp == HA_ERR_RECORD_DELETED)
+ else if (tmp == HA_ERR_RECORD_DELETED ||
+ (tmp == HA_ERR_KEY_NOT_FOUND && info->ignore_not_found_rows))
goto tryNext;
else
{