summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <jimw@mysql.com>2005-12-05 18:09:42 -0800
committerunknown <jimw@mysql.com>2005-12-05 18:09:42 -0800
commit002101a4c9d06d598d62d4204e9dd4cabc8621c8 (patch)
tree2874048b71bcf8ba7a1999a826dd93ffe980ab01
parentda8150d50803956b88ee766890de8e51b68d0f87 (diff)
parentac5164b8f15f49f43291be7879fd1509e9862aaf (diff)
downloadmariadb-git-002101a4c9d06d598d62d4204e9dd4cabc8621c8.tar.gz
Merge mysql.com:/home/jimw/my/mysql-5.1-14880
into mysql.com:/home/jimw/my/mysql-5.1-clean sql/ha_berkeley.cc: Auto merged sql/ha_berkeley.h: Auto merged sql/mysqld.cc: SCCS merged
-rw-r--r--sql/ha_berkeley.cc2
-rw-r--r--sql/ha_berkeley.h2
-rw-r--r--sql/mysqld.cc18
3 files changed, 20 insertions, 2 deletions
diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc
index 196665293f4..188ed7fbaa6 100644
--- a/sql/ha_berkeley.cc
+++ b/sql/ha_berkeley.cc
@@ -74,6 +74,8 @@
const u_int32_t bdb_DB_TXN_NOSYNC= DB_TXN_NOSYNC;
const u_int32_t bdb_DB_RECOVER= DB_RECOVER;
const u_int32_t bdb_DB_PRIVATE= DB_PRIVATE;
+const u_int32_t bdb_DB_DIRECT_DB= DB_DIRECT_DB;
+const u_int32_t bdb_DB_DIRECT_LOG= DB_DIRECT_LOG;
const char *ha_berkeley_ext=".db";
bool berkeley_shared_data=0;
u_int32_t berkeley_init_flags= DB_PRIVATE | DB_RECOVER,
diff --git a/sql/ha_berkeley.h b/sql/ha_berkeley.h
index f4787ab8e84..21b618b8d6d 100644
--- a/sql/ha_berkeley.h
+++ b/sql/ha_berkeley.h
@@ -160,6 +160,8 @@ class ha_berkeley: public handler
extern const u_int32_t bdb_DB_TXN_NOSYNC;
extern const u_int32_t bdb_DB_RECOVER;
extern const u_int32_t bdb_DB_PRIVATE;
+extern const u_int32_t bdb_DB_DIRECT_DB;
+extern const u_int32_t bdb_DB_DIRECT_LOG;
extern bool berkeley_shared_data;
extern u_int32_t berkeley_init_flags,berkeley_env_flags, berkeley_lock_type,
berkeley_lock_types[];
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index fe72341b254..e74b34e879d 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -395,7 +395,8 @@ extern ulong srv_commit_concurrency;
#ifndef HAVE_U_INT32_T
typedef unsigned int u_int32_t;
#endif
-extern const u_int32_t bdb_DB_TXN_NOSYNC, bdb_DB_RECOVER, bdb_DB_PRIVATE;
+extern const u_int32_t bdb_DB_TXN_NOSYNC, bdb_DB_RECOVER, bdb_DB_PRIVATE,
+ bdb_DB_DIRECT_DB, bdb_DB_DIRECT_LOG;
extern bool berkeley_shared_data;
extern u_int32_t berkeley_init_flags,berkeley_env_flags, berkeley_lock_type,
berkeley_lock_types[];
@@ -4481,7 +4482,8 @@ enum options_mysqld
OPT_BDB_HOME, OPT_BDB_LOG,
OPT_BDB_TMP, OPT_BDB_SYNC,
OPT_BDB_LOCK, OPT_BDB,
- OPT_BDB_NO_RECOVER, OPT_BDB_SHARED,
+ OPT_BDB_NO_RECOVER, OPT_BDB_SHARED,
+ OPT_BDB_DATA_DIRECT, OPT_BDB_LOG_DIRECT,
OPT_MASTER_HOST, OPT_MASTER_USER,
OPT_MASTER_PASSWORD, OPT_MASTER_PORT,
OPT_MASTER_INFO_FILE, OPT_MASTER_CONNECT_RETRY,
@@ -4687,6 +4689,9 @@ Disable with --skip-bdb (will save memory).",
(gptr*) &opt_bdb, (gptr*) &opt_bdb, 0, GET_BOOL, NO_ARG, OPT_BDB_DEFAULT, 0, 0,
0, 0, 0},
#ifdef WITH_BERKELEY_STORAGE_ENGINE
+ {"bdb-data-direct", OPT_BDB_DATA_DIRECT,
+ "Turn off system buffering of BDB database files to avoid double caching.",
+ 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
{"bdb-home", OPT_BDB_HOME, "Berkeley home directory.", (gptr*) &berkeley_home,
(gptr*) &berkeley_home, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"bdb-lock-detect", OPT_BDB_LOCK,
@@ -4695,6 +4700,9 @@ Disable with --skip-bdb (will save memory).",
{"bdb-logdir", OPT_BDB_LOG, "Berkeley DB log file directory.",
(gptr*) &berkeley_logdir, (gptr*) &berkeley_logdir, 0, GET_STR,
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
+ {"bdb-log-direct", OPT_BDB_LOG_DIRECT,
+ "Turn off system buffering of BDB log files to avoid double caching.",
+ 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
{"bdb-no-recover", OPT_BDB_NO_RECOVER,
"Don't try to recover Berkeley DB tables on start.", 0, 0, 0, GET_NO_ARG,
NO_ARG, 0, 0, 0, 0, 0, 0},
@@ -6870,6 +6878,12 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
else
berkeley_env_flags&= ~bdb_DB_TXN_NOSYNC;
break;
+ case OPT_BDB_LOG_DIRECT:
+ berkeley_env_flags|= bdb_DB_DIRECT_DB;
+ break;
+ case OPT_BDB_DATA_DIRECT:
+ berkeley_env_flags|= bdb_DB_DIRECT_LOG;
+ break;
case OPT_BDB_NO_RECOVER:
berkeley_init_flags&= ~(bdb_DB_RECOVER);
break;