[pgAdmin4][Patch]: RM#1352 - Problem displaying intervals and timestamps with pgAdmin 4

From: Surinder Kumar <surinder(dot)kumar(at)enterprisedb(dot)com>
To: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: [pgAdmin4][Patch]: RM#1352 - Problem displaying intervals and timestamps with pgAdmin 4
Date: 2016-06-14 07:55:40
Message-ID: CAM5-9D98iZ1HxPSKKvXswoR6=W-S0E-BG68rEXVe6WErvTKd6Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

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 Content-Type Size
RM#1352.patch application/octet-stream 2.0 KB

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Murtuza Zabuawala 2016-06-14 08:19:49 Re: PATCH: Added Statistics functionality for many nodes (pgAdmin4)
Previous Message Murtuza Zabuawala 2016-06-14 07:53:23 PATCH: To have validation messages on status panel only (pgAdmin4)