1<!--$Id: joinenv.so,v 1.1 2005/09/09 12:40:34 bostic Exp $--> 2<!--Copyright (c) 1997,2008 Oracle. All rights reserved.--> 3<!--See the file LICENSE for redistribution information.--> 4<html> 5<head> 6<title>Berkeley DB Reference Guide: Release 4.4: DB_JOINENV</title> 7<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit."> 8<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++"> 9</head> 10<body bgcolor=white> 11<table width="100%"><tr valign=top> 12<td><b><dl><dt>Berkeley DB Reference Guide:<dd>Upgrading Berkeley DB Applications</dl></b></td> 13<td align=right><a href="../upgrade.4.4/isolation.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../upgrade.4.4/mutex.html"><img src="../../images/next.gif" alt="Next"></a> 14</td></tr></table> 15<p align=center><b>Release 4.4: DB_JOINENV</b></p> 16<p>The semantics of joining existing Berkeley DB database environments has changed 17in the 4.4 release. Previously:</p> 18<ol> 19<p><li>Applications joining existing environments, but not configuring some of 20the subsystems configured in the environment when it was created, would 21not be configured for those subsystems. 22<p><li>Applications joining existing environments, but configuring additional 23subsystems in addition to the subsystems configured in the environment 24when it was created, would cause additional subsystems to be configured 25in the database environment. 26</ol> 27<p>In the 4.4 release, the semantics have been simplified to make it easier 28to write robust applications. In the 4.4 release:</p> 29<ol> 30<p><li>Applications joining existing environments, but not configuring some of 31the subsystems configured in the environment when it was created, will 32now automatically be configured for all of the subsystems configured in 33the environment. 34<p><li>Applications joining existing environments, but configuring additional 35subsystems in addition to the subsystems configured in the environment 36when it was created, will fail, as no additional subsystems can be 37configured for a database environment after it is created. 38</ol> 39<p>In other words, the choice of subsystems initialized for a Berkeley DB 40database environment is specified by the thread of control initially 41creating the environment. Any subsequent thread of control joining the 42environment will automatically be configured to use the same subsystems 43as were created in the environment (unless the thread of control 44requests a subsystem not available in the environment, which will fail). 45Applications joining an environment, able to adapt to whatever 46subsystems have been configured in the environment, should open the 47environment without specifying any subsystem flags. Applications 48joining an environment, requiring specific subsystems from their 49environments, should open the environment specifying those specific 50subsystem flags.</p> 51<p>The DB_JOINENV flag has been changed to have no effect in the Berkeley DB 4.4 52release. Applications should require no changes, although uses of the 53DB_JOINENV flag may be removed.</p> 54<table width="100%"><tr><td><br></td><td align=right><a href="../upgrade.4.4/isolation.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../upgrade.4.4/mutex.html"><img src="../../images/next.gif" alt="Next"></a> 55</td></tr></table> 56<p><font size=1>Copyright (c) 1996,2008 Oracle. All rights reserved.</font> 57</body> 58</html> 59