summaryrefslogtreecommitdiff
path: root/sql/sql_update.cc
diff options
context:
space:
mode:
authormonty@mysql.com <>2004-03-12 01:10:22 +0200
committermonty@mysql.com <>2004-03-12 01:10:22 +0200
commite27960a44e393ac67d037379f340db75a350495e (patch)
tree8427a74265a1dc0dc71464f4add7541489713f46 /sql/sql_update.cc
parent1c0d5ad25c1f530093586e7624ae3603ff719061 (diff)
downloadmariadb-git-e27960a44e393ac67d037379f340db75a350495e.tar.gz
Ensure that install_test_db.sh script works with both 'make install' and 'make_binary_distribution' layouts
Abort if we can't allocate memory for table cache Fix bug with multi-update-tables and BDB tables.
Diffstat (limited to 'sql/sql_update.cc')
-rw-r--r--sql/sql_update.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc
index 0a8530aa141..02d2fe2c442 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -866,14 +866,16 @@ int multi_update::do_updates(bool from_send_error)
DBUG_RETURN(0);
for (cur_table= update_tables; cur_table ; cur_table= cur_table->next)
{
+ byte *ref_pos;
+ TABLE *tmp_table;
+
table = cur_table->table;
if (table == table_to_update)
continue; // Already updated
-
org_updated= updated;
- byte *ref_pos;
- TABLE *tmp_table= tmp_tables[cur_table->shared];
+ tmp_table= tmp_tables[cur_table->shared];
tmp_table->file->extra(HA_EXTRA_CACHE); // Change to read cache
+ (void) table->file->rnd_init(0);
table->file->extra(HA_EXTRA_NO_CACHE);
/*
@@ -940,6 +942,7 @@ int multi_update::do_updates(bool from_send_error)
else
trans_safe= 0; // Can't do safe rollback
}
+ (void) table->file->rnd_end();
}
DBUG_RETURN(0);