Turn off SCCS flag for all BDB files.

Apply MySQL-specific patches.
parent 89dad520
...@@ -5,4 +5,4 @@ DB_VERSION_MINOR=2 ...@@ -5,4 +5,4 @@ DB_VERSION_MINOR=2
DB_VERSION_PATCH=9 DB_VERSION_PATCH=9
DB_RELEASE_DATE=`date "+%B %e, %Y"` DB_RELEASE_DATE=`date "+%B %e, %Y"`
DB_VERSION_STRING="Sleepycat Software: Berkeley DB $DB_VERSION_MAJOR.$DB_VERSION_MINOR.$DB_VERSION_PATCH: ($DB_RELEASE_DATE)" DB_VERSION_STRING="Sleepycat Software: Berkeley DB $DB_VERSION_MAJOR.$DB_VERSION_MINOR.${DB_VERSION_PATCH}a: ($DB_RELEASE_DATE)"
...@@ -68,6 +68,40 @@ dnl Process all options before using them. This is necessary because there ...@@ -68,6 +68,40 @@ dnl Process all options before using them. This is necessary because there
dnl are dependencies among them. dnl are dependencies among them.
AM_OPTIONS_SET AM_OPTIONS_SET
# This is to determine what compiler is being used and to set options.
# i.e. SCO OpenServer 5.0.X and UnixWare 7.X.X
# option, cache_name, variable
AC_DEFUN(AC_SYS_COMPILER_FLAG,
[
AC_MSG_CHECKING($1)
OLD_CFLAGS="[$]CFLAGS"
AC_CACHE_VAL(db_cv_option_$2,
[
CFLAGS="[$]OLD_CFLAGS $1"
AC_TRY_RUN([int main(){exit(0);}],db_cv_option_$2=yes,db_cv_option_$2=no,db_cv_option_$2=no)
])
CFLAGS="[$]OLD_CFLAGS"
if test x"[$]db_cv_option_$2" = "xyes" ; then
$3="[$]$3 $1"
AC_MSG_RESULT(yes)
$5
else
AC_MSG_RESULT(no)
$4
fi
])
# os, option, cache_name, variable
AC_DEFUN(AC_SYS_OS_COMPILER_FLAG,
[
if test "x$db_cv_sys_os" = "x$1" ; then
AC_SYS_COMPILER_FLAG($2,$3,$4)
fi
])
dnl This is where we handle stuff that autoconf can't handle: compiler, dnl This is where we handle stuff that autoconf can't handle: compiler,
dnl preprocessor and load flags, libraries that the standard tests don't dnl preprocessor and load flags, libraries that the standard tests don't
dnl look for. The default optimization is -O. We would like to set the dnl look for. The default optimization is -O. We would like to set the
...@@ -111,6 +145,55 @@ osf*) CPPFLAGS="-D_REENTRANT $CPPFLAGS";; ...@@ -111,6 +145,55 @@ osf*) CPPFLAGS="-D_REENTRANT $CPPFLAGS";;
*qnx) AC_DEFINE(HAVE_QNX);; *qnx) AC_DEFINE(HAVE_QNX);;
sco3.2v4*) CC=${CC-"cc -belf"} sco3.2v4*) CC=${CC-"cc -belf"}
LIBS="-lsocket -lnsl_s $LIBS";; LIBS="-lsocket -lnsl_s $LIBS";;
sco3.2v5*) if test "$GCC" != "yes"; then
CFLAGS="$CFLAGS"
LD='$(CC) $(CFLAGS)'
LIBS="-lsocket -lnsl $LIBS"
CPPFLAGS="-D_THREAD_SAFE -pthread $CPPFLAGS"
case "$CFLAGS" in
*-belf*)
AC_SYS_COMPILER_FLAG(-belf,sco_belf_option,CFLAGS,[],[
case "$LDFLAGS" in
*-belf*) ;;
*) echo "Adding -belf option to ldflags."
LDFLAGS="$LDFLAGS -belf"
;;
esac
])
;;
*)
AC_SYS_COMPILER_FLAG(-belf,sco_belf_option,CFLAGS,[],[
case "$LDFLAGS" in
*-belf*) ;;
*)
echo "Adding -belf option to ldflags."
LDFLAGS="$LDFLAGS -belf"
;;
esac
])
;;
esac
else
CC="gcc"
LIBS="-lsocket -lnsl $LIBS"
CPPFLAGS="-D_THREAD_SAFE -pthread $CPPFLAGS"
fi
;;
sysv5uw7*) LIBS="-lsocket -lnsl $LIBS"
if test "$GCC" != "yes"; then
# We are using built-in inline function
CC="cc -belf"
CXX="CC -belf"
CFLAGS="$CFLAGS -Kalloca -Kthread"
CXX="$CXX -DNO_CPLUSPLUS_ALLOCA"
LIBS="-Kthread -lsocket -lnsl $LIBS"
else
CFLAGS="$CFLAGS -Kalloca -pthread"
CXX="$CXX -DNO_CPLUSPLUS_ALLOCA"
CPPFLAGS="-D_THREAD_SAFE -pthread $CPPFLAGS"
LIBS="-pthread -lsocket -lnsl $LIBS"
fi
;;
sco*) CC=${CC-"cc -belf"} sco*) CC=${CC-"cc -belf"}
LIBS="-lsocket -lnsl $LIBS";; LIBS="-lsocket -lnsl $LIBS";;
solaris*) CPPFLAGS="-D_REENTRANT $CPPFLAGS";; solaris*) CPPFLAGS="-D_REENTRANT $CPPFLAGS";;
...@@ -340,7 +423,12 @@ fi ...@@ -340,7 +423,12 @@ fi
dnl Test Server. dnl Test Server.
dnl Include -lpthread if the library exists. dnl Include -lpthread if the library exists.
SCOLIBS=$LIBS
AC_CHECK_LIB(pthread, pthread_create, DBS_LIBS=-lpthread) AC_CHECK_LIB(pthread, pthread_create, DBS_LIBS=-lpthread)
case "$host_os" in
sysv5uw7*) LIBS=$SCOLIBS;;
sco3.2v5*) LIBS=$SCOLIBS;;
esac
dnl Checks for typedefs, structures, and system/compiler characteristics. dnl Checks for typedefs, structures, and system/compiler characteristics.
AC_C_BIGENDIAN AC_C_BIGENDIAN
......
...@@ -51,6 +51,8 @@ static void __dbenv_set_errpfx __P((DB_ENV *, const char *)); ...@@ -51,6 +51,8 @@ static void __dbenv_set_errpfx __P((DB_ENV *, const char *));
static int __dbenv_set_feedback __P((DB_ENV *, void (*)(DB_ENV *, int, int))); static int __dbenv_set_feedback __P((DB_ENV *, void (*)(DB_ENV *, int, int)));
static int __dbenv_set_flags __P((DB_ENV *, u_int32_t, int)); static int __dbenv_set_flags __P((DB_ENV *, u_int32_t, int));
static int __dbenv_set_mutexlocks __P((DB_ENV *, int)); static int __dbenv_set_mutexlocks __P((DB_ENV *, int));
static void __dbenv_set_noticecall
__P((DB_ENV *, void (*)(DB_ENV *, db_notices)));
static int __dbenv_set_paniccall __P((DB_ENV *, void (*)(DB_ENV *, int))); static int __dbenv_set_paniccall __P((DB_ENV *, void (*)(DB_ENV *, int)));
static int __dbenv_set_recovery_init __P((DB_ENV *, int (*)(DB_ENV *))); static int __dbenv_set_recovery_init __P((DB_ENV *, int (*)(DB_ENV *)));
static int __dbenv_set_server_noclnt static int __dbenv_set_server_noclnt
...@@ -125,6 +127,7 @@ __dbenv_init(dbenv) ...@@ -125,6 +127,7 @@ __dbenv_init(dbenv)
dbenv->set_feedback = __dbcl_env_set_feedback; dbenv->set_feedback = __dbcl_env_set_feedback;
dbenv->set_flags = __dbcl_env_flags; dbenv->set_flags = __dbcl_env_flags;
dbenv->set_mutexlocks = __dbcl_set_mutex_locks; dbenv->set_mutexlocks = __dbcl_set_mutex_locks;
dbenv->set_noticecall = __dbcl_env_noticecall;
dbenv->set_paniccall = __dbcl_env_paniccall; dbenv->set_paniccall = __dbcl_env_paniccall;
dbenv->set_recovery_init = __dbcl_set_recovery_init; dbenv->set_recovery_init = __dbcl_set_recovery_init;
dbenv->set_server = __dbcl_envserver; dbenv->set_server = __dbcl_envserver;
...@@ -140,6 +143,7 @@ __dbenv_init(dbenv) ...@@ -140,6 +143,7 @@ __dbenv_init(dbenv)
dbenv->set_feedback = __dbenv_set_feedback; dbenv->set_feedback = __dbenv_set_feedback;
dbenv->set_flags = __dbenv_set_flags; dbenv->set_flags = __dbenv_set_flags;
dbenv->set_mutexlocks = __dbenv_set_mutexlocks; dbenv->set_mutexlocks = __dbenv_set_mutexlocks;
dbenv->set_noticecall = __dbenv_set_noticecall;
dbenv->set_paniccall = __dbenv_set_paniccall; dbenv->set_paniccall = __dbenv_set_paniccall;
dbenv->set_recovery_init = __dbenv_set_recovery_init; dbenv->set_recovery_init = __dbenv_set_recovery_init;
dbenv->set_server = __dbenv_set_server_noclnt; dbenv->set_server = __dbenv_set_server_noclnt;
...@@ -303,6 +307,14 @@ __dbenv_set_feedback(dbenv, feedback) ...@@ -303,6 +307,14 @@ __dbenv_set_feedback(dbenv, feedback)
return (0); return (0);
} }
static void
__dbenv_set_noticecall(dbenv, noticecall)
DB_ENV *dbenv;
void (*noticecall) __P((DB_ENV *, db_notices));
{
dbenv->db_noticecall = noticecall;
}
static int static int
__dbenv_set_mutexlocks(dbenv, onoff) __dbenv_set_mutexlocks(dbenv, onoff)
DB_ENV *dbenv; DB_ENV *dbenv;
......
...@@ -248,6 +248,11 @@ struct __db_dbt { ...@@ -248,6 +248,11 @@ struct __db_dbt {
*******************************************************/ *******************************************************/
#define DB_REGION_MAGIC 0x120897 /* Environment magic number. */ #define DB_REGION_MAGIC 0x120897 /* Environment magic number. */
typedef enum {
DB_NOTICE_LOGFILE_CHANGED
/* DB_NOTICE_DISK_LOW */
} db_notices;
typedef enum { typedef enum {
DB_TXN_ABORT, DB_TXN_ABORT,
DB_TXN_BACKWARD_ROLL, DB_TXN_BACKWARD_ROLL,
...@@ -267,6 +272,7 @@ struct __db_env { ...@@ -267,6 +272,7 @@ struct __db_env {
/* Callbacks. */ /* Callbacks. */
void (*db_errcall) __P((const char *, char *)); void (*db_errcall) __P((const char *, char *));
void (*db_feedback) __P((DB_ENV *, int, int)); void (*db_feedback) __P((DB_ENV *, int, int));
void (*db_noticecall) __P((DB_ENV *, db_notices));
void (*db_paniccall) __P((DB_ENV *, int)); void (*db_paniccall) __P((DB_ENV *, int));
int (*db_recovery_init) __P((DB_ENV *)); int (*db_recovery_init) __P((DB_ENV *));
...@@ -395,6 +401,7 @@ struct __db_env { ...@@ -395,6 +401,7 @@ struct __db_env {
int (*set_feedback) __P((DB_ENV *, void (*)(DB_ENV *, int, int))); int (*set_feedback) __P((DB_ENV *, void (*)(DB_ENV *, int, int)));
int (*set_flags) __P((DB_ENV *, u_int32_t, int)); int (*set_flags) __P((DB_ENV *, u_int32_t, int));
int (*set_mutexlocks) __P((DB_ENV *, int)); int (*set_mutexlocks) __P((DB_ENV *, int));
void (*set_noticecall) __P((DB_ENV *, void (*)(DB_ENV *, db_notices)));
int (*set_paniccall) __P((DB_ENV *, void (*)(DB_ENV *, int))); int (*set_paniccall) __P((DB_ENV *, void (*)(DB_ENV *, int)));
int (*set_recovery_init) __P((DB_ENV *, int (*)(DB_ENV *))); int (*set_recovery_init) __P((DB_ENV *, int (*)(DB_ENV *)));
int (*set_server) __P((DB_ENV *, char *, long, long, u_int32_t)); int (*set_server) __P((DB_ENV *, char *, long, long, u_int32_t));
......
...@@ -22,7 +22,7 @@ struct __log_persist; typedef struct __log_persist LOGP; ...@@ -22,7 +22,7 @@ struct __log_persist; typedef struct __log_persist LOGP;
#define LG_MAX_DEFAULT (10 * MEGABYTE) /* 10 MB. */ #define LG_MAX_DEFAULT (10 * MEGABYTE) /* 10 MB. */
#define LG_BSIZE_DEFAULT (32 * 1024) /* 32 KB. */ #define LG_BSIZE_DEFAULT (32 * 1024) /* 32 KB. */
#define LG_BASE_REGION_SIZE (60 * 1024) /* 60 KB. */ #define LG_BASE_REGION_SIZE (480 * 1024) /* 480 KB. */
/* /*
* The per-process table that maps log file-id's to DB structures. * The per-process table that maps log file-id's to DB structures.
......
...@@ -143,6 +143,9 @@ __log_put(dbenv, lsn, dbt, flags) ...@@ -143,6 +143,9 @@ __log_put(dbenv, lsn, dbt, flags)
/* Reset the file write offset. */ /* Reset the file write offset. */
lp->w_off = 0; lp->w_off = 0;
if (dbenv->db_noticecall != NULL)
dbenv->db_noticecall(dbenv, DB_NOTICE_LOGFILE_CHANGED);
} else } else
lastoff = 0; lastoff = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment