[DB-SIG] DbiDate testing for None
Wed, 04 Mar 1998 16:36:46 +0100
> |i recently ran into the problem where testing for None for a DbiDate object
> |causes a segfault. i searched the net and found a post on 3/17/97
> |regarding the problem but have seen no followup. I'm currently avoiding
> |the problem by testing "type(x) is not NoneType". does anyone know of a
> |solution or better work-around?
> |this happens on solaris using oracledb and on NT4.0 (pythonwin and python)
> |using odbc.
> This also happens on linux with adabas using mxODBC.
Ouchh. This nb_nonzero-slot of the numeric protocol is not NULL
checked when doing a PyObject_IsTrue()-call with a DateTime
instance: that's what causes it to fail for mxODBC.
I'll provide that slot in the next release of mxDateTime.
Since you only wanted to check for None, this method might
value,date = c.fetchone()
if date is None:
print 'Now what... ?'
It avoids the 'is true' check (it only checks for identity
which works in this case since None is a singleton).
PS: Could it be that the odbc DbiDate has the same problem ?
DB-SIG - SIG on Tabular Databases in Python
send messages to: firstname.lastname@example.org
administrivia to: email@example.com