mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	Fixes http://bugs.python.org/issue1233 - bsddb.dbshelve.DBShelf.append
was useless due to inverted logic. Also adds a test case for RECNO dbs to test_dbshelve.
This commit is contained in:
		
							parent
							
								
									3a0de08d54
								
							
						
					
					
						commit
						d40f126fff
					
				
					 2 changed files with 78 additions and 23 deletions
				
			
		|  | @ -84,6 +84,9 @@ def open(filename, flags=db.DB_CREATE, mode=0660, filetype=db.DB_HASH, | |||
| 
 | ||||
| #--------------------------------------------------------------------------- | ||||
| 
 | ||||
| class DBShelveError(db.DBError): pass | ||||
| 
 | ||||
| 
 | ||||
| class DBShelf(DictMixin): | ||||
|     """A shelf to hold pickled objects, built upon a bsddb DB object.  It | ||||
|     automatically pickles/unpickles data objects going to/from the DB. | ||||
|  | @ -162,10 +165,10 @@ def __append(self, value, txn=None): | |||
|         return self.db.append(data, txn) | ||||
| 
 | ||||
|     def append(self, value, txn=None): | ||||
|         if self.get_type() != db.DB_RECNO: | ||||
|         if self.get_type() == db.DB_RECNO: | ||||
|             self.append = self.__append | ||||
|             return self.append(value, txn=txn) | ||||
|         raise db.DBError, "append() only supported when dbshelve opened with filetype=dbshelve.db.DB_RECNO" | ||||
|         raise DBShelveError, "append() only supported when dbshelve opened with filetype=dbshelve.db.DB_RECNO" | ||||
| 
 | ||||
| 
 | ||||
|     def associate(self, secondaryDB, callback, flags=0): | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Gregory P. Smith
						Gregory P. Smith