[Python-checkins] r69264 - sandbox/trunk/dbm_sqlite/alt/dbsqlite.py
raymond.hettinger
python-checkins at python.org
Wed Feb 4 00:11:15 CET 2009
Author: raymond.hettinger
Date: Wed Feb 4 00:11:15 2009
New Revision: 69264
Log:
Fixup broken __len__().
Modified:
sandbox/trunk/dbm_sqlite/alt/dbsqlite.py
Modified: sandbox/trunk/dbm_sqlite/alt/dbsqlite.py
==============================================================================
--- sandbox/trunk/dbm_sqlite/alt/dbsqlite.py (original)
+++ sandbox/trunk/dbm_sqlite/alt/dbsqlite.py Wed Feb 4 00:11:15 2009
@@ -38,8 +38,12 @@
self.conn.commit()
def __len__(self):
- GET_LEN = 'SELECT MAX(ROWID) FROM shelf' # returns None if count is zero
- return self.conn.execute(GET_LEN).fetchone()[0] or 0
+ GET_LEN = 'SELECT COUNT(*) FROM shelf'
+ return self.conn.execute(GET_LEN).fetchone()[0]
+
+ def __bool__(self):
+ GET_BOOL = 'SELECT MAX(ROWID) FROM shelf' # returns None if count is zero
+ return self.conn.execute(GET_BOOL).fetchone()[0] is not None
def keys(self):
return SQLhashKeysView(self)
@@ -163,7 +167,9 @@
raise Exception('drat!')
print(list(d))
+ print(bool(d), True)
d.clear()
+ print(bool(d), False)
print(list(d))
d.update(p='x', q='y', r='z')
print(list(d))
More information about the Python-checkins
mailing list