From: | Federico Di Gregorio <fog(at)dndg(dot)it> |
---|---|
To: | psycopg(at)postgresql(dot)org |
Subject: | Re: Change in datetime type casting |
Date: | 2012-06-28 06:30:58 |
Message-ID: | 4FEBFA22.9000803@dndg.it |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | psycopg |
On 28/06/12 01:19, Adrian Klaver wrote:
> From the docs:
>>>> dt = datetime.datetime.now()
>>>> dt
> datetime.datetime(2010, 2, 8, 1, 40, 27, 425337)
>
>>>> cur.mogrify("SELECT %s, %s, %s;", (dt, dt.date(), dt.time()))
> "SELECT '2010-02-08T01:40:27.425337', '2010-02-08', '01:40:27.425337';"
>
> Current (2.4.3) behavior:
> dt
> Out[28]: datetime.datetime(2012, 6, 27, 16, 11, 33, 125585)
>
> cur1.mogrify("SELECT %s, %s, %s;", (dt, dt.date(), dt.time()))
> Out[30]: "SELECT '2012-06-27T16:11:33.125585'::timestamp,
> '2012-06-27'::date, '16:11:33.125585'::time;"
>
> Note the addition of the casts. This is causing problems when using the
> hstore adapter as hstore expects a plain string. Is there a way to get
> around this?
The cast were introduced because PostgreSQL 9.x is much strictier about
function signatures than the 8.x series. Sometimes functions taking
parameters were not found because of the implicit text->other type cast.
But hstore does exactly the opposite. *sigh*
I don't have a nice solution right now, let's think aout it.
federico
--
Federico Di Gregorio federico(dot)digregorio(at)dndg(dot)it
Studio Associato Di Nunzio e Di Gregorio http://dndg.it
Gli esseri umani, a volte, sono destinati, per il solo fatto di
esistere, a fare del male a qualcuno. -- Haruki Murakami
From | Date | Subject | |
---|---|---|---|
Next Message | Daniele Varrazzo | 2012-06-28 09:21:46 | Re: Change in datetime type casting |
Previous Message | Adrian Klaver | 2012-06-27 23:19:34 | Change in datetime type casting |