merge with 3.23.44

BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
Docs/manual.texi:
  Auto merged
include/my_base.h:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/join.test:
  Auto merged
mysql-test/t/rpl000012.test:
  Auto merged
BUILD/FINISH.sh:
  Auto merged
BitKeeper/deleted/.del-db_ext.h~a1e210bbd0de0a48:
  Auto merged
BitKeeper/deleted/.del-mutex_ext.h~f20f47ddc346598b:
  Auto merged
BitKeeper/deleted/.del-violite.c~984c09cffe14a11b:
  Auto merged
BitKeeper/deleted/.del-violite.c~d7b85be615595ace:
  Auto merged
Build-tools/Do-all-build-steps:
  Auto merged
client/client_priv.h:
  Auto merged
client/mysqladmin.c:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/univ.i:
  Auto merged
innobase/log/log0log.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
isam/pack_isam.c:
  Auto merged
libmysql_r/Makefile.am:
  Auto merged
myisam/myisamchk.c:
  Auto merged
mysql-test/t/having.test:
  Auto merged
mysql-test/t/rpl000015-slave.sh:
  Auto merged
mysql-test/t/rpl000016-slave.sh:
  Auto merged
mysys/mf_cache.c:
  Auto merged
mysys/mf_casecnv.c:
  Auto merged
mysys/mf_tempfile.c:
  Auto merged
readline/vi_mode.c:
  Auto merged
strings/strto.c:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/time.cc:
  Auto merged
BUILD/SETUP.sh:
  Use -mcpu as default (safe for all x86 cpu's)
client/mysqldump.c:
  Merge from 3.23.44
configure.in:
  Update version number
extra/resolveip.c:
  Portability fix
This commit is contained in:
unknown 2001-11-04 16:14:09 +02:00
commit 0d1ba873aa
115 changed files with 3380 additions and 1382 deletions

View file

@ -20,6 +20,7 @@ Created 12/9/1995 Heikki Tuuri
#include "fil0fil.h"
#include "dict0boot.h"
#include "srv0srv.h"
#include "srv0start.h"
#include "trx0sys.h"
#include "trx0trx.h"
@ -2656,6 +2657,8 @@ logs_empty_and_mark_files_at_shutdown(void)
}
/* Wait until the master thread and all other operations are idle: our
algorithm only works if the server is idle at shutdown */
srv_shutdown_state = SRV_SHUTDOWN_CLEANUP;
loop:
os_thread_sleep(100000);
@ -2737,7 +2740,21 @@ loop:
goto loop;
}
if (srv_lock_timeout_and_monitor_active) {
goto loop;
}
/* We now suspend also the InnoDB error monitor thread */
srv_shutdown_state = SRV_SHUTDOWN_LAST_PHASE;
if (srv_error_monitor_active) {
goto loop;
}
fil_write_flushed_lsn_to_data_files(lsn, arch_log_no);
fil_flush_file_spaces(FIL_TABLESPACE);

View file

@ -61,7 +61,11 @@ buffer pool before the pages have been recovered to the up-to-date state */
/* Recovery is running and no operations on the log files are allowed
yet: the variable name is misleading */
ibool recv_no_ibuf_operations = FALSE;
ibool recv_no_ibuf_operations = FALSE;
/* the following counter is used to decide when to print info on
log scan */
ulint recv_scan_print_counter = 0;
/************************************************************
Creates the recovery system. */
@ -1812,10 +1816,19 @@ recv_scan_log_recs(
*group_scanned_lsn = scanned_lsn;
if (more_data) {
fprintf(stderr,
recv_scan_print_counter++;
if (recv_scan_print_counter < 10
|| (recv_scan_print_counter % 10 == 0)) {
fprintf(stderr,
"InnoDB: Doing recovery: scanned up to log sequence number %lu %lu\n",
ut_dulint_get_high(*group_scanned_lsn),
ut_dulint_get_low(*group_scanned_lsn));
if (recv_scan_print_counter == 10) {
fprintf(stderr,
"InnoDB: After this prints a line for every 10th scan sweep:\n");
}
}
/* Try to parse more log records */
@ -1911,6 +1924,15 @@ recv_recovery_from_checkpoint_start(
recv_sys_init();
}
if (srv_force_recovery >= SRV_FORCE_NO_LOG_REDO) {
fprintf(stderr,
"InnoDB: The user has set SRV_FORCE_NO_LOG_REDO on\n");
fprintf(stderr,
"InnoDB: Skipping log redo\n");
return(DB_SUCCESS);
}
sync_order_checks_on = TRUE;
recv_recovery_on = TRUE;
@ -2028,10 +2050,8 @@ recv_recovery_from_checkpoint_start(
while (group) {
old_scanned_lsn = recv_sys->scanned_lsn;
if (srv_force_recovery < SRV_FORCE_NO_LOG_REDO) {
recv_group_scan_log_recs(group, &contiguous_lsn,
recv_group_scan_log_recs(group, &contiguous_lsn,
&group_scanned_lsn);
}
group->scanned_lsn = group_scanned_lsn;
@ -2124,7 +2144,10 @@ recv_recovery_from_checkpoint_finish(void)
/* Apply the hashed log records to the respective file pages */
recv_apply_hashed_log_recs(TRUE);
if (srv_force_recovery < SRV_FORCE_NO_LOG_REDO) {
recv_apply_hashed_log_recs(TRUE);
}
if (log_debug_writes) {
fprintf(stderr,