diff options
-rwxr-xr-x | BUILD/compile-pentium | 7 | ||||
-rwxr-xr-x | BUILD/compile-pentium-debug | 7 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | innobase/mem/Makefile.am | 2 | ||||
-rw-r--r-- | innobase/pars/Makefile.am | 2 | ||||
-rw-r--r-- | sql/ha_isam.h | 3 | ||||
-rw-r--r-- | sql/handler.h | 1 | ||||
-rw-r--r-- | sql/mysql_priv.h | 2 | ||||
-rw-r--r-- | sql/records.cc | 8 | ||||
-rw-r--r-- | sql/sql_delete.cc | 2 |
10 files changed, 16 insertions, 20 deletions
diff --git a/BUILD/compile-pentium b/BUILD/compile-pentium index 4ece8b1f321..aa013c85d30 100755 --- a/BUILD/compile-pentium +++ b/BUILD/compile-pentium @@ -7,11 +7,6 @@ extra_flags="$pentium_cflags $fast_cflags" extra_configs="$pentium_configs" strip=yes -# Use the optimized version if it exists -if test -d /usr/local/BerkeleyDB-opt/ -then - extra_configs="$extra_configs --with-berkeley-db=/usr/local/BerkeleyDB-opt/" -fi -extra_configs="$extra_configs --with-innobase" +extra_configs="$extra_configs --with-berkeley-db --with-innobase" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium-debug b/BUILD/compile-pentium-debug index 2c5e867471b..2800ace97c5 100755 --- a/BUILD/compile-pentium-debug +++ b/BUILD/compile-pentium-debug @@ -8,11 +8,6 @@ c_warnings="$c_warnings $debug_extra_warnings" cxx_warnings="$cxx_warnings $debug_extra_warnings" extra_configs="$pentium_configs $debug_configs" -# Use the debug version if it exists -if test -d /usr/local/BerkeleyDB-dbug/ -then - extra_configs="$extra_configs --with-berkeley-db=/usr/local/BerkeleyDB-dbug/" -fi -extra_configs="$extra_configs --with-innobase" +extra_configs="$extra_configs --with-berkeley-db --with-innobase" . "$path/FINISH.sh" diff --git a/configure.in b/configure.in index 908cfcd67a9..05392da9a61 100644 --- a/configure.in +++ b/configure.in @@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(sql/mysqld.cc) AC_CANONICAL_SYSTEM # The Docs Makefile.am parses this line! -AM_INIT_AUTOMAKE(mysql, 3.23.34) +AM_INIT_AUTOMAKE(mysql, 3.23.34a) AM_CONFIG_HEADER(config.h) PROTOCOL_VERSION=10 diff --git a/innobase/mem/Makefile.am b/innobase/mem/Makefile.am index 89076f76f3b..a81f7564a2a 100644 --- a/innobase/mem/Makefile.am +++ b/innobase/mem/Makefile.am @@ -19,6 +19,6 @@ include ../include/Makefile.i libs_LIBRARIES = libmem.a -libmem_a_SOURCES = mem0mem.c mem0pool.c +libmem_a_SOURCES = mem0mem.c mem0pool.c mem0dbg.c EXTRA_PROGRAMS = diff --git a/innobase/pars/Makefile.am b/innobase/pars/Makefile.am index d39430862a7..691d5acd062 100644 --- a/innobase/pars/Makefile.am +++ b/innobase/pars/Makefile.am @@ -19,6 +19,8 @@ include ../include/Makefile.i libs_LIBRARIES = libpars.a +noninst_HEADERS = pars0grm.h + libpars_a_SOURCES = pars0grm.c lexyy.c pars0opt.c pars0pars.c pars0sym.c EXTRA_PROGRAMS = diff --git a/sql/ha_isam.h b/sql/ha_isam.h index c8305c655ef..b255e8ba87f 100644 --- a/sql/ha_isam.h +++ b/sql/ha_isam.h @@ -33,7 +33,8 @@ class ha_isam: public handler int_option_flag(HA_READ_NEXT+HA_READ_PREV+HA_READ_RND_SAME+ HA_KEYPOS_TO_RNDPOS+ HA_READ_ORDER+ HA_LASTKEY_ORDER+ HA_HAVE_KEY_READ_ONLY+HA_READ_NOT_EXACT_KEY+ - HA_LONGLONG_KEYS+HA_KEY_READ_WRONG_STR + HA_DUPP_POS) + HA_LONGLONG_KEYS+HA_KEY_READ_WRONG_STR + HA_DUPP_POS + + HA_NOT_DELETE_WITH_CACHE) {} ~ha_isam() {} const char *table_type() const { return "ISAM"; } diff --git a/sql/handler.h b/sql/handler.h index 25c5d834be9..1c8a83ac9ed 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -71,6 +71,7 @@ #define HA_PRIMARY_KEY_IN_READ_INDEX (HA_NO_WRITE_DELAYED*2) #define HA_DROP_BEFORE_CREATE (HA_PRIMARY_KEY_IN_READ_INDEX*2) #define HA_NOT_READ_AFTER_KEY (HA_DROP_BEFORE_CREATE*2) +#define HA_NOT_DELETE_WITH_CACHE (HA_NOT_READ_AFTER_KEY*2) /* Parameters for open() (in register form->filestat) */ /* HA_GET_INFO does a implicit HA_ABORT_IF_LOCKED */ diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 7348563cee6..a975cab3c7c 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -595,7 +595,7 @@ void change_byte(byte *,uint,char,char); void unireg_abort(int exit_code); void init_read_record(READ_RECORD *info, THD *thd, TABLE *reg_form, SQL_SELECT *select, - bool use_record_cache, bool print_errors); + int use_record_cache, bool print_errors); void end_read_record(READ_RECORD *info); ha_rows filesort(TABLE **form,struct st_sort_field *sortorder, uint s_length, SQL_SELECT *select, ha_rows special,ha_rows max_rows); 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; diff --git a/sql/sql_delete.cc b/sql/sql_delete.cc index fc150b08a69..c20a656c547 100644 --- a/sql/sql_delete.cc +++ b/sql/sql_delete.cc @@ -192,7 +192,7 @@ int mysql_delete(THD *thd,TABLE_LIST *table_list,COND *conds,ha_rows limit, (void) table->file->extra(HA_EXTRA_NO_READCHECK); if (options & OPTION_QUICK) (void) table->file->extra(HA_EXTRA_QUICK); - init_read_record(&info,thd,table,select,0,1); + init_read_record(&info,thd,table,select,-1,1); ulong deleted=0L; thd->proc_info="updating"; while (!(error=info.read_record(&info)) && !thd->killed) |