diff options
author | unknown <monty@hundin.mysql.fi> | 2002-01-29 18:32:16 +0200 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2002-01-29 18:32:16 +0200 |
commit | d6a4362687434767d835713f174cd9bdd2656967 (patch) | |
tree | dc6d00358536a5dca27f806f929ab5e25a000c92 /sql/sql_delete.cc | |
parent | 741b75b1c7810a1f6425c81738499fe12bdbc309 (diff) | |
download | mariadb-git-d6a4362687434767d835713f174cd9bdd2656967.tar.gz |
New error messages
Test of unsigned BIGINT values
Fixes for queries-per-hour
Cleanup of replication code (comments and portability fixes)
Make most of the binary log code 4G clean
Changed syntax for GRANT ... QUERIES PER HOUR
Docs/manual.texi:
Fixed Changelog, upgrading to 4.0 and 4.1 TODO sections.
Docs/mysqld_error.txt:
Added error message.
configure.in:
Fix for autoconf 2.52
include/my_getopt.h:
Portability fix.
include/my_global.h:
Portablity fix.
include/mysqld_error.h:
New error messages
mysql-test/r/bigint.result:
Test of unsigned BIGINT values.
mysql-test/r/func_op.result:
Test of unsigned BIGINT values.
mysql-test/r/varbinary.result:
Test of unsigned BIGINT values.
mysql-test/t/bigint.test:
Test of unsigned BIGINT values.
sql/item_func.h:
Optimized Item_int_func() usage.
sql/lock.cc:
Cleanup comments
sql/log.cc:
Cleanup
sql/log_event.cc:
Cleanup and portability fixes.
sql/log_event.h:
Cleanup and portability fixes.
sql/mini_client.cc:
Cleanup and portability fixes.
sql/mysqld.cc:
Fix for queries-per-hour
sql/repl_failsafe.cc:
Prepare for making binary log 2G clean.
sql/share/czech/errmsg.txt:
New error messages
sql/share/danish/errmsg.txt:
New error messages
sql/share/dutch/errmsg.txt:
New error messages
sql/share/english/errmsg.txt:
New error messages
sql/share/estonian/errmsg.txt:
New error messages
sql/share/french/errmsg.txt:
New error messages
sql/share/german/errmsg.txt:
New error messages
sql/share/greek/errmsg.txt:
New error messages
sql/share/hungarian/errmsg.txt:
New error messages
sql/share/italian/errmsg.txt:
New error messages
sql/share/japanese/errmsg.txt:
New error messages
sql/share/korean/errmsg.txt:
New error messages
sql/share/norwegian-ny/errmsg.txt:
New error messages
sql/share/norwegian/errmsg.txt:
New error messages
sql/share/polish/errmsg.txt:
New error messages
sql/share/portuguese/errmsg.txt:
New error messages
sql/share/romanian/errmsg.txt:
New error messages
sql/share/russian/errmsg.txt:
New error messages
sql/share/slovak/errmsg.txt:
New error messages
sql/share/spanish/errmsg.txt:
New error messages
sql/share/swedish/errmsg.txt:
New error messages
sql/share/ukrainian/errmsg.txt:
New error messages
sql/slave.cc:
Cleanup
sql/slave.h:
Cleanup
sql/sql_acl.cc:
Cleanup and removal of possible reserved words
sql/sql_base.cc:
More DBUG
sql/sql_cache.cc:
Cleanup & portability fixes
sql/sql_class.h:
Make binary log 4G clean
sql/sql_delete.cc:
More DBUG
sql/sql_handler.cc:
Cleanup & portability fixes
sql/sql_parse.cc:
Cleanup of queries-per-hours code
sql/sql_rename.cc:
Add missing DBUG_RETURN
sql/sql_repl.cc:
Cleanup & portability fixes
sql/sql_select.cc:
Cleanup & portability fixes
sql/sql_show.cc:
Cleanup & portability fixes
sql/sql_update.cc:
Small cleanup of multi-update-code (need second pass)
sql/sql_yacc.yy:
Changed syntax for GRANT ... QUERIES PER HOUR
strings/str2int.c:
Cleanup & portability fixes
Diffstat (limited to 'sql/sql_delete.cc')
-rw-r--r-- | sql/sql_delete.cc | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/sql/sql_delete.cc b/sql/sql_delete.cc index 2a7824eae68..a155abc522b 100644 --- a/sql/sql_delete.cc +++ b/sql/sql_delete.cc @@ -305,6 +305,8 @@ multi_delete::~multi_delete() bool multi_delete::send_data(List<Item> &values) { int secure_counter= -1; + DBUG_ENTER("multi_delete::send_data"); + for (table_being_deleted=delete_tables ; table_being_deleted ; table_being_deleted=table_being_deleted->next, secure_counter++) @@ -319,13 +321,14 @@ bool multi_delete::send_data(List<Item> &values) if (secure_counter < 0) { + /* If this is the table we are scanning */ table->status|= STATUS_DELETED; if (!(error=table->file->delete_row(table->record[0]))) deleted++; else { table->file->print_error(error,MYF(0)); - return 1; + DBUG_RETURN(1); } } else @@ -334,21 +337,23 @@ bool multi_delete::send_data(List<Item> &values) if (error) { error=-1; - return 1; + DBUG_RETURN(1); } } } - return 0; + DBUG_RETURN(0); } void multi_delete::send_error(uint errcode,const char *err) { + DBUG_ENTER("multi_delete::send_error"); + /* First send error what ever it is ... */ ::send_error(&thd->net,errcode,err); /* If nothing deleted return */ if (!deleted) - return; + DBUG_VOID_RETURN; /* Below can happen when thread is killed early ... */ if (!table_being_deleted) @@ -364,7 +369,10 @@ void multi_delete::send_error(uint errcode,const char *err) table_being_deleted == delete_tables) || !not_trans_safe) ha_rollback_stmt(thd); else if (do_delete) - VOID(do_deletes(true)); + { + VOID(do_deletes(1)); + } + DBUG_VOID_RETURN; } @@ -375,7 +383,7 @@ void multi_delete::send_error(uint errcode,const char *err) 1 error */ -int multi_delete::do_deletes (bool from_send_error) +int multi_delete::do_deletes(bool from_send_error) { int error = 0, counter = 0; @@ -432,7 +440,7 @@ bool multi_delete::send_eof() thd->proc_info="deleting from reference tables"; /* Does deletes for the last n - 1 tables, returns 0 if ok */ - int error = do_deletes(false); // returns 0 if success + int error = do_deletes(0); // returns 0 if success /* reset used flags */ thd->proc_info="end"; |