summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2004-10-06 01:24:21 +0300
committerunknown <monty@mysql.com>2004-10-06 01:24:21 +0300
commit0d76cb7ea4a20570342d51136a6da598fb553800 (patch)
tree0acac4cf9ee4cc804d6d4376b33bfb1b7f99efce /sql/sql_table.cc
parentc0364263d9dcc9f122529804576f65640587acd4 (diff)
downloadmariadb-git-0d76cb7ea4a20570342d51136a6da598fb553800.tar.gz
Reverted patch for new usage of open_count as it caused more problems than it solved
Cleaned up patch for checking locks for multi-table updates myisam/mi_close.c: Reverted patch for new usage of open_counts myisam/mi_locking.c: Reverted patch for new usage of open_counts sql/ha_myisam.cc: Reverted patch for new usage of open_counts sql/handler.cc: Removed compiler warning sql/sql_acl.cc: Removed compiler warning sql/sql_table.cc: No need to unlock after failed call to external_lock() sql/sql_update.cc: Cleaned up (and made it more secure) patch for checking locks for multi-table updates
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r--sql/sql_table.cc6
1 files changed, 1 insertions, 5 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index 0dd5c65bf79..6561af9c841 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -2209,11 +2209,7 @@ copy_data_between_tables(TABLE *from,TABLE *to,
DBUG_RETURN(-1); /* purecov: inspected */
if (to->file->external_lock(thd, F_WRLCK))
- {
- /* We must always unlock, even when lock failed. */
- (void) to->file->external_lock(thd, F_UNLCK);
DBUG_RETURN(-1);
- }
to->file->extra(HA_EXTRA_WRITE_CACHE);
from->file->info(HA_STATUS_VARIABLE);
to->file->deactivate_non_unique_index(from->file->records);
@@ -2313,11 +2309,11 @@ copy_data_between_tables(TABLE *from,TABLE *to,
error=1;
if (ha_commit(thd))
error=1;
+
err:
free_io_cache(from);
*copied= found_count;
*deleted=delete_count;
- /* we must always unlock the table on return. */
if (to->file->external_lock(thd,F_UNLCK))
error=1;
DBUG_RETURN(error > 0 ? -1 : 0);