[Python-checkins] python/dist/src/Lib/bsddb __init__.py,1.14,1.15

greg at users.sourceforge.net greg at users.sourceforge.net
Sun Jun 27 18:56:45 EDT 2004


Update of /cvsroot/python/python/dist/src/Lib/bsddb
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26632/Lib/bsddb
Modified Files:
	__init__.py 
Log Message:
Fix SF bug # 897820 - we can no longer use the DB_TRUNCATE flag when
opening the DB to implement legacy interface flag='n' support as
BerkeleyDB 4.2.52 no longer allows it in transaction protected
environments. Do the os.unlink ourselves.
Index: __init__.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/bsddb/__init__.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** __init__.py	26 Feb 2004 10:07:12 -0000	1.14
--- __init__.py	27 Jun 2004 22:56:42 -0000	1.15
***************
*** 60,64 ****
 #----------------------------------------------------------------------
 
! import sys
 
 # for backwards compatibility with python versions older than 2.3, the
--- 60,64 ----
 #----------------------------------------------------------------------
 
! import sys, os
 
 # for backwards compatibility with python versions older than 2.3, the
***************
*** 282,286 ****
 cachesize=None, lorder=None, hflags=0):
 
! flags = _checkflag(flag)
 e = _openDBEnv()
 d = db.DB(e)
--- 282,286 ----
 cachesize=None, lorder=None, hflags=0):
 
! flags = _checkflag(flag, file)
 e = _openDBEnv()
 d = db.DB(e)
***************
*** 300,304 ****
 pgsize=None, lorder=None):
 
! flags = _checkflag(flag)
 e = _openDBEnv()
 d = db.DB(e)
--- 300,304 ----
 pgsize=None, lorder=None):
 
! flags = _checkflag(flag, file)
 e = _openDBEnv()
 d = db.DB(e)
***************
*** 319,323 ****
 rlen=None, delim=None, source=None, pad=None):
 
! flags = _checkflag(flag)
 e = _openDBEnv()
 d = db.DB(e)
--- 319,323 ----
 rlen=None, delim=None, source=None, pad=None):
 
! flags = _checkflag(flag, file)
 e = _openDBEnv()
 d = db.DB(e)
***************
*** 340,344 ****
 return e
 
! def _checkflag(flag):
 if flag == 'r':
 flags = db.DB_RDONLY
--- 340,344 ----
 return e
 
! def _checkflag(flag, file):
 if flag == 'r':
 flags = db.DB_RDONLY
***************
*** 350,354 ****
 flags = db.DB_CREATE
 elif flag == 'n':
! flags = db.DB_CREATE | db.DB_TRUNCATE
 else:
 raise error, "flags should be one of 'r', 'w', 'c' or 'n'"
--- 350,359 ----
 flags = db.DB_CREATE
 elif flag == 'n':
! flags = db.DB_CREATE
! #flags = db.DB_CREATE | db.DB_TRUNCATE
! # we used db.DB_TRUNCATE flag for this before but BerkeleyDB
! # 4.2.52 changed to disallowed truncate with txn environments.
! if os.path.isfile(file):
! os.unlink(file)
 else:
 raise error, "flags should be one of 'r', 'w', 'c' or 'n'"


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /