summaryrefslogtreecommitdiff
path: root/sql/ha_berkeley.cc
diff options
context:
space:
mode:
authorunknown <jimw@mysql.com>2005-11-07 16:33:53 -0800
committerunknown <jimw@mysql.com>2005-11-07 16:33:53 -0800
commit911e52dbf1a70e22da8cb415bc8d183a6a12067a (patch)
treeaf94362b26f6e6d412e0900fda20e259529c0872 /sql/ha_berkeley.cc
parentbffefbf8b4a95b209bc069ffdbfc84d41b0acede (diff)
downloadmariadb-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.cc18
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");