27 lines
		
	
	
		
			668 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			668 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from bsddb import dbshelve, db
 | 
						|
import os
 | 
						|
import sys
 | 
						|
 | 
						|
sys.path.append('../src')
 | 
						|
import const
 | 
						|
 | 
						|
env_name = os.path.expanduser(const.bsddbenv_dir)
 | 
						|
if not os.path.isdir(env_name):
 | 
						|
       os.mkdir(env_name)
 | 
						|
 | 
						|
env = db.DBEnv()
 | 
						|
env.set_cachesize(0,0x2000000)
 | 
						|
env.set_lk_max_locks(25000)
 | 
						|
env.set_lk_max_objects(25000)
 | 
						|
env.set_flags(db.DB_LOG_AUTOREMOVE,1)
 | 
						|
env_flags = db.DB_CREATE|db.DB_RECOVER|db.DB_PRIVATE|\
 | 
						|
            db.DB_INIT_MPOOL|db.DB_INIT_LOCK|\
 | 
						|
            db.DB_INIT_LOG|db.DB_INIT_TXN|db.DB_THREAD
 | 
						|
try:
 | 
						|
    env.open(env_name,env_flags)
 | 
						|
except db.DBRunRecoveryError, e:
 | 
						|
    print "Exception: "
 | 
						|
    print e
 | 
						|
    env.remove(env_name)
 | 
						|
    env.open(env_name,env_flags)
 |