Changeset librcc,54
- Timestamp:
- 10/10/09 23:39:39 (1 month ago)
- branch-nick:
- librcc
- Files:
-
- librcc/.bzrignore (modified) (1 diff)
- librcc/src/rccdb4.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
librcc/.bzrignore
r53 r54 34 34 external/rccexternal 35 35 stamp-h.in 36 example1 37 example2 38 rcc-gtk-config 39 rcc-gtk2-config librcc/src/rccdb4.c
r50 r54 37 37 DB *db; 38 38 39 # if ndef DB_LOG_AUTOREMOVE39 # if ((!defined(DB_LOG_AUTOREMOVE)) && (!defined(DB_LOG_AUTO_REMOVE))) 40 40 # ifdef DB_VERSION_MISMATCH 41 41 char stmp[160]; … … 46 46 if (err) return NULL; 47 47 48 # if def DB_LOG_AUTOREMOVE48 # if defined(DB_LOG_AUTOREMOVE) 49 49 dbe->set_flags(dbe, DB_LOG_AUTOREMOVE, 1); 50 50 dbe->set_lg_max(dbe, 131072); 51 51 52 err = rccLock(); 53 if (!err) { 54 err = dbe->open(dbe, dbpath, DB_CREATE|DB_INIT_TXN|DB_USE_ENVIRON|DB_INIT_LOCK|DB_INIT_MPOOL|DB_RECOVER, 00644); 55 rccUnLock(); 56 } 57 # elif defined(DB_LOG_AUTO_REMOVE) 58 // Starting from berkeleydb 4.7 API has changed 59 dbe->log_set_config(dbe, DB_LOG_AUTO_REMOVE, 1); 60 dbe->set_lg_max(dbe, 131072); 61 52 62 err = rccLock(); 53 63 if (!err) { … … 59 69 # ifdef DB_VERSION_MISMATCH 60 70 if (err == DB_VERSION_MISMATCH) { 61 if (!rccLock()) { 71 if (!rccLock()) { 62 72 err = dbe->open(dbe, dbpath, DB_CREATE|DB_INIT_LOCK|DB_INIT_LOG|DB_INIT_MPOOL|DB_INIT_TXN|DB_USE_ENVIRON|DB_PRIVATE|DB_RECOVER, 0); 63 73 dbe->close(dbe, 0); 64 dbe->remove(dbe, dbpath, 0); 74 if (err) { 75 err = db_env_create(&dbe, 0); 76 if (!err) dbe->remove(dbe, dbpath, 0); 77 } 65 78 rccUnLock(); 66 79 } else {
