summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <ingo@mysql.com>2004-08-09 19:10:54 +0200
committerunknown <ingo@mysql.com>2004-08-09 19:10:54 +0200
commit201f86ef62661010d62c9ce213bb3d21eccc4039 (patch)
tree0803914e705f3b207beea964c6a9f061ed5d0e93
parent17f95c28da681733690e2a8de4f5e2e2f367a2fb (diff)
parent499a71bcb5942fa449ed703f4c9aa1be31109c6f (diff)
downloadmariadb-git-201f86ef62661010d62c9ce213bb3d21eccc4039.tar.gz
Merge mysql.com:/home/mydev/mysql-4.1
into mysql.com:/home/mydev/mysql-4.1-4100
-rw-r--r--sql/ha_myisam.cc22
1 files changed, 21 insertions, 1 deletions
diff --git a/sql/ha_myisam.cc b/sql/ha_myisam.cc
index 51c8521c376..3d2d25b3e7d 100644
--- a/sql/ha_myisam.cc
+++ b/sql/ha_myisam.cc
@@ -957,15 +957,21 @@ int ha_myisam::indexes_are_disabled(void)
start_bulk_insert(rows)
rows Rows to be inserted
0 if we don't know
+
+ NOTICE
+ Do not forget to call end_bulk_insert() later!
*/
void ha_myisam::start_bulk_insert(ha_rows rows)
{
+ DBUG_ENTER("ha_myisam::start_bulk_insert");
THD *thd=current_thd;
ulong size= min(thd->variables.read_buff_size, table->avg_row_length*rows);
+ DBUG_PRINT("info",("start_bulk_insert: rows %lu size %lu",
+ (ulong) rows, size));
/* don't enable row cache if too few rows */
- if (!rows && rows > MI_MIN_ROWS_TO_USE_WRITE_CACHE)
+ if (! rows || (rows > MI_MIN_ROWS_TO_USE_WRITE_CACHE))
mi_extra(file, HA_EXTRA_WRITE_CACHE, (void*) &size);
can_enable_indexes= (file->s->state.key_map ==
@@ -989,8 +995,22 @@ void ha_myisam::start_bulk_insert(ha_rows rows)
mi_init_bulk_insert(file, thd->variables.bulk_insert_buff_size, rows);
}
}
+ DBUG_VOID_RETURN;
}
+/*
+ end special bulk-insert optimizations,
+ which have been activated by start_bulk_insert().
+
+ SYNOPSIS
+ end_bulk_insert()
+ no arguments
+
+ RETURN
+ 0 OK
+ != 0 Error
+*/
+
int ha_myisam::end_bulk_insert()
{
mi_end_bulk_insert(file);