Re: Change in datetime type casting

Поиск
Список
Период
Сортировка
От Federico Di Gregorio
Тема Re: Change in datetime type casting
Дата
Msg-id 4FEBFA22.9000803@dndg.it
обсуждение исходный текст
Ответ на Change in datetime type casting  (Adrian Klaver <adrian.klaver@gmail.com>)
Ответы Re: Change in datetime type casting
Список 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.digregorio@dndg.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

В списке psycopg по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Change in datetime type casting
Следующее
От: Daniele Varrazzo
Дата:
Сообщение: Re: Change in datetime type casting