diff options
author | unknown <jimw@mysql.com> | 2005-11-07 16:33:53 -0800 |
---|---|---|
committer | unknown <jimw@mysql.com> | 2005-11-07 16:33:53 -0800 |
commit | 911e52dbf1a70e22da8cb415bc8d183a6a12067a (patch) | |
tree | af94362b26f6e6d412e0900fda20e259529c0872 /sql/ha_berkeley.cc | |
parent | bffefbf8b4a95b209bc069ffdbfc84d41b0acede (diff) | |
download | mariadb-git-911e52dbf1a70e22da8cb415bc8d183a6a12067a.tar.gz |
Use DB_LOG_AUTOREMOVE flag instead of noticecall customization to BDB
so log files are deleted once they are no longer in use. (Bug #14655)
sql/ha_berkeley.cc:
Remove usage of non-standard noticecall interface, and just use
DB_LOG_AUTOREMOVE environment flag so that log files are deleted
once no longer in use.
storage/bdb/dbinc/db.in:
Remove noticecall interface
storage/bdb/env/env_method.c:
Remove noticecall interface
storage/bdb/log/log_put.c:
Remove noticecall interface
Diffstat (limited to 'sql/ha_berkeley.cc')
-rw-r--r-- | sql/ha_berkeley.cc | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc index eeca6cb1657..0c28b43dafb 100644 --- a/sql/ha_berkeley.cc +++ b/sql/ha_berkeley.cc @@ -76,8 +76,9 @@ const u_int32_t bdb_DB_RECOVER= DB_RECOVER; const u_int32_t bdb_DB_PRIVATE= DB_PRIVATE; const char *ha_berkeley_ext=".db"; bool berkeley_shared_data=0; -u_int32_t berkeley_init_flags= DB_PRIVATE | DB_RECOVER, berkeley_env_flags=0, - berkeley_lock_type=DB_LOCK_DEFAULT; +u_int32_t berkeley_init_flags= DB_PRIVATE | DB_RECOVER, + berkeley_env_flags= DB_LOG_AUTOREMOVE, + berkeley_lock_type= DB_LOCK_DEFAULT; ulong berkeley_cache_size, berkeley_log_buffer_size, berkeley_log_file_size=0; char *berkeley_home, *berkeley_tmpdir, *berkeley_logdir; long berkeley_lock_scan_time=0; @@ -104,7 +105,6 @@ static int free_share(BDB_SHARE *share, TABLE *table, uint hidden_primary_key, bool mutex_is_locked); static int write_status(DB *status_block, char *buff, uint length); static void update_status(BDB_SHARE *share, TABLE *table); -static void berkeley_noticecall(DB_ENV *db_env, db_notices notice); static int berkeley_close_connection(THD *thd); static int berkeley_commit(THD *thd, bool all); @@ -192,7 +192,6 @@ bool berkeley_init(void) goto error; db_env->set_errcall(db_env,berkeley_print_error); db_env->set_errpfx(db_env,"bdb"); - db_env->set_noticecall(db_env, berkeley_noticecall); db_env->set_tmp_dir(db_env, berkeley_tmpdir); db_env->set_data_dir(db_env, mysql_data_home); db_env->set_flags(db_env, berkeley_env_flags, 1); @@ -365,17 +364,6 @@ static void berkeley_print_error(const DB_ENV *db_env, const char *db_errpfx, } -static void berkeley_noticecall(DB_ENV *db_env, db_notices notice) -{ - switch (notice) - { - case DB_NOTICE_LOGFILE_CHANGED: /* purecov: tested */ - mysql_manager_submit(berkeley_cleanup_log_files); - pthread_cond_signal(&COND_manager); - break; - } -} - void berkeley_cleanup_log_files(void) { DBUG_ENTER("berkeley_cleanup_log_files"); |