head	1.2;
access;
symbols
	rpm-4_4_8-release:1.1.2.1
	rpm-4_4_7-release:1.1.2.1
	db-4_5_20:1.2
	rpm-4_4_6-release:1.1
	rpm-4_4_5-release:1.1
	db-4_4_20:1.1
	rpm-4_4_4-release:1.1
	db-4_4_16:1.1
	rpm-4_4_3-release:1.1
	db-4_4_11:1.1
	db-4_3_29:1.1
	jbj_before_tklcpatches:1.1
	rpm-4_4_2-release:1.1
	pjones-sparse-experiment:1.1.0.4
	db-4_4_4:1.1
	rpm-4_4_1-release:1.1
	db-4_3_27:1.1
	rpm-4_4-release:1.1
	rpm-4_4:1.1.0.2
	db-4_3_21:1.1
	db-4_3_14:1.1;
locks; strict;
comment	@# @;


1.2
date	2006.10.01.20.19.31;	author jbj;	state Exp;
branches;
next	1.1;

1.1
date	2004.10.16.01.32.05;	author jbj;	state Exp;
branches
	1.1.2.1;
next	;

1.1.2.1
date	2006.10.01.22.31.39;	author jbj;	state Exp;
branches;
next	;


desc
@@


1.2
log
@Update to db-4.5.20.
@
text
@

This is the mod_db4 apache module, providing a safe framework
for running db4 applications in the Apache 1.3 environment. In
general, it is dangerous to run db4 in a multi-process system
without some facility to coordinate recovery between 
participating processes. Apache natively provides no
interface for commuication between processes, so the mod_db4 
module exists to provide this communication.

Specifically, mod_db4 provides the following facilities:

o New constructors for DB and DB_ENV structures, which install
replacement open/close methods.
o Transparent caching of open DB and DB_ENV structures
o Reference counting on all structures, allowing the module to
detect the initial opening of any managed database
and automatically perform recovery.
o Automatic detection of unexpected failures (segfaults, or a
module actually calling exit() and avoiding shutdown phases,
and automatic termination of all child processes with open 
database resources to attempt consistency.

mod_db4 is designed to be used as an alternative interface to db4.
To have another Apache module (for example, mod_foo) use mod_db4, 
do not link mod_foo against libdb-4.2.  In your mod_foo makefile,
you should 

#include "mod_db4_export.h"

and add your Apache include directory to your CPPFLAGS.

In mod_foo, to create a mod_db4 managed DB_ENV, use the following:

int mod_db4_db_env_create(DB_ENV **dbenvp, u_int32_t flags);

which takes identical arguments to db_env_create().

To create a mod_db4 managed DB, use

int mod_db4_db_create(DB **dbp, DB_ENV *dbenv, u_int32_t flags);

which takes identical arguments to db_create().

Otherwise the API is completely consistent with the standard Berkeley
DB API.

For installation instructions, see the INSTALL file.
@


1.1
log
@... and in with the New ...
@
text
@d45 2
a46 1
Otherwise the API is completely consistent with the standard Sleepycat API.
@


1.1.2.1
log
@Merge db-4.5.20 onto rpm-4_4 branch.
@
text
@d45 1
a45 2
Otherwise the API is completely consistent with the standard Berkeley
DB API.
@


