[Python-bugs-list] [ python-Bugs-715063 ] bsddb.first()/next() raise undocumented exception

SourceForge.net noreply@sourceforge.net
Mon, 07 Apr 2003 15:46:55 -0700


Bugs item #715063, was opened at 2003-04-03 23:03
Message generated for change (Comment added) made by bwarsaw
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=715063&group_id=5470

Category: Python Library
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Christian Stork (cst)
Assigned to: Nobody/Anonymous (nobody)
Summary: bsddb.first()/next() raise undocumented exception

Initial Comment:
bsddb object's first() & next() methods raise an undocumented 
exception.  Wouldn't returning None make much more sense?  
And shouldn't this be documented? 

Python 2.3a2+ (#2, Mar 21 2003, 22:13:05) 
[GCC 3.2.3 20030316 (Debian prerelease)] on linux2
>>> import bsddb
>>> h.bsddb.hashopen("testdb")
>>> h.first()
------------------------------------------------------------
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.3/bsddb/__init__.py", line 134, in first
    rv = self.dbc.first()
DBNotFoundError: (-30991, 'DB_NOTFOUND: No matching key/
data pair found')

Note: The same exception appeared for the equivalent dbhash 
methods.  But I assume this should be fixed if this bug is fixed.

----------------------------------------------------------------------

>Comment By: Barry A. Warsaw (bwarsaw)
Date: 2003-04-07 18:46

Message:
Logged In: YES 
user_id=12800

pybsddb has this option to return None from cursor.get()
methods instead of raising DBNotFoundError.  The DBEnv
method set_get_returns_none() can be used to change the
behavior, although the default is to return None.  I agree
that this is very handy!

I suppose .first() and .last() should perhaps honor this
config as well?


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=715063&group_id=5470