summaryrefslogtreecommitdiff
path: root/sql/records.cc
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.fi>2001-03-11 23:09:09 +0200
committerunknown <monty@donna.mysql.fi>2001-03-11 23:09:09 +0200
commit765c255873bdc2bad425a48aaf257f91da1fb3f3 (patch)
treef32505d03cc3878a4d4e8a1c03bbdc14aee3012f /sql/records.cc
parent97acb7b3d17dc60f6b879044aa53b7f422f553c2 (diff)
downloadmariadb-git-765c255873bdc2bad425a48aaf257f91da1fb3f3.tar.gz
Optimization of delete with record cache (for MyISAM tables)
Added missing files for innobase to the distribution BUILD/compile-pentium-debug: Always compile with BDB tables BUILD/compile-pentium: Always compile with BDB tables configure.in: Added missing files for innobase to the distribution innobase/mem/Makefile.am: Added missing files for innobase to the distribution innobase/pars/Makefile.am: Added missing files for innobase to the distribution sql/ha_isam.h: Don't use record cache with delete sql/handler.h: Optimization of delete with record cache sql/mysql_priv.h: Optimization of delete with record cache sql/records.cc: Optimization of delete with record cache sql/sql_delete.cc: Optimization of delete with record cache
Diffstat (limited to 'sql/records.cc')
-rw-r--r--sql/records.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/records.cc b/sql/records.cc
index 89eae81fe27..e6f76e7fec6 100644
--- a/sql/records.cc
+++ b/sql/records.cc
@@ -31,7 +31,7 @@ static int rr_cmp(uchar *a,uchar *b);
void init_read_record(READ_RECORD *info,THD *thd, TABLE *table,
SQL_SELECT *select,
- bool use_record_cache, bool print_error)
+ int use_record_cache, bool print_error)
{
IO_CACHE *tempfile;
DBUG_ENTER("init_read_record");
@@ -97,9 +97,11 @@ void init_read_record(READ_RECORD *info,THD *thd, TABLE *table,
info->read_record=rr_sequential;
table->file->rnd_init();
/* We can use record cache if we don't update dynamic length tables */
- if (use_record_cache ||
+ if (use_record_cache > 0 ||
(int) table->reginfo.lock_type <= (int) TL_READ_HIGH_PRIORITY ||
- !(table->db_options_in_use & HA_OPTION_PACK_RECORD))
+ !(table->db_options_in_use & HA_OPTION_PACK_RECORD) ||
+ (use_record_cache < 0 &&
+ !(table->file->option_flag() & HA_NOT_DELETE_WITH_CACHE)))
VOID(table->file->extra(HA_EXTRA_CACHE)); // Cache reads
}
DBUG_VOID_RETURN;