Hi,

Please find the patch with issues fixed:

1) No handling for INTERVAL type datetime.
For example: executing query
*SELECT INTERVAL '15 minutes';*
throws json serialization error, because it returns time in timedelta
format which is not handled.

Added support to handle *timedelta* datetime format in *DataTypeJSONEncoder*
class

2) When we try to get BC dates from database raises ValueError: year is out
of range
For eg:
*SELECT TIMESTAMP '0044-03-15 10:00:00 BC',*
It is because pyscopg2 doesn't handle BC datetime format.

So we have defined our method which type cast the datetime value to string
in pyscopg2 overriding default behaviour.

*Reference:*
http://initd.org/psycopg/docs/advanced.html#type-casting-from-sql-to-python
https://github.com/dbcli/pgcli/blob/ccf3693be62dd8a79ced19ed9d69f0708d2b3d6f/pgcli/pgexecute.py

*Issue left:*
Pyscopg2 not handling representation of BC dates. It is currently
representing time in following query
*SELECT TIMESTAMPTZ '2016-03-15 10:00:00+02 AD';*
as
2016-03-15T00:00:00Z
which is wrong.
I will send patch for it when gets fixed.

Please review.


Thanks,
Surinder Kumar

Attachment: RM#1352.patch
Description: Binary data

-- 
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers

Reply via email to