[PyGreSQL] datetime.date and float and nan
Maxim Yegorushkin
maxim.yegorushkin at gmail.com
Fri Jul 15 12:02:43 EDT 2011
Hi guys,
I've been using PyGreSQL-4.0 module and I quite like it.
However, it misses support for datetime.date objects and can't correctly
quote floats with nan value. So, I thought you may like to consider adding
the following to pgdb.py:
----------------------- 3rd-party/PyGreSQL-4.0/pgdb.py
------------------------
index b500d3b..47dfe4e 100644
@@ -69,7 +69,7 @@ try:
frozenset
except NameError: # Python < 2.4
from sets import ImmutableSet as frozenset
-from datetime import datetime, timedelta
+from datetime import datetime, timedelta, date
try: # use Decimal if available
from decimal import Decimal
set_decimal(Decimal)
@@ -187,13 +187,16 @@ class pgdbCursor(object):
def _quote(self, val):
"""Quote value depending on its type."""
- if isinstance(val, datetime):
+ if isinstance(val, (datetime, date)):
val = str(val)
elif isinstance(val, unicode):
val = val.encode( 'utf8' )
if isinstance(val, str):
val = "'%s'" % self._cnx.escape_string(val)
- elif isinstance(val, (int, long, float)):
+ elif isinstance(val, float):
+ if val != val:
+ val = "'nan'"
+ elif isinstance(val, (int, long)):
pass
elif val is None:
val = 'NULL'
Maxim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.vex.net/pipermail/pygresql/attachments/20110715/4b0feb20/attachment.html>
More information about the PyGreSQL
mailing list