From: Neal R. <ne...@ri...> - 2003-06-23 23:07:11
|
Here's Lachlan's diff to db/mp_cmpr.c < if(CDB_db_create(&dbp, dbenv, 0) != 0) --- >/* Use *standalone* database, to prevent recursion when writing pages */ >/* from the cache, shared with other members of the environment */ > if(CDB_db_create(&dbp, NULL, 0) != 0) He is indeed talking about the DB_ENV "environment". The BDB book confirms that when the dbenv pointer is NULL the database is standalone.... not part of or using a Berkeley DB environment. My hunch is that this is a rather 'blunt' fix. It seems likely that their is a slight problem with the DB_ENV we use... maybe it needs to be tweaked before the db_create call if the compression is enabled?? The __db_env struct is fairly large, but most of it seems to be function-pointers. There are a number of variables for Locking, Logging, Transactions, Memory-pool, and some other flags. I'm looking to see what effect this will have. There are a number of important looking fields in __db_env... some having to do with db-filename sematics and location. I can't find much yet on what everything defaults to (if that is the right term) when standalone is used. I also think we need to look at how we can merge our changes with at least the next version 'up' of our BDB version at some point this year. Thanks. Neal On Mon, 23 Jun 2003, Geoff Hutchison wrote: > > The solution seems to be simply to make it a "standalone" database. > > > > Can anyone see any problems with that approach? Do we need the > > environment for anything? > > Like Neal, I'm not entirely sure I understand your use of "standalone." > IIRC, you're talking about the DB_ENV "environment" access to the > database. > > I do not think we currently use the Berkeley environment support for > anything much. IIRC, it's for client-server operation. But then again, > it looks like you want DB_ENV for the Berkeley-level locking and > transaction support, which we may want. Neal Richter Knowledgebase Developer RightNow Technologies, Inc. Customer Service for Every Web Site Office: 406-522-1485 |