From: | Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com> |
---|---|
To: | Christian von Kietzell <christian(at)vonkietzell(dot)de> |
Cc: | psycopg(at)postgresql(dot)org |
Subject: | Re: empty string in composite data types |
Date: | 2012-12-03 14:30:07 |
Message-ID: | CA+mi_8bSG1NW5m_rwCb03ks70v=UAnx+pQwh=7na0iynTqicAw@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | psycopg |
On Mon, Dec 3, 2012 at 12:49 PM, Daniele Varrazzo
<daniele(dot)varrazzo(at)gmail(dot)com> wrote:
> On Mon, Dec 3, 2012 at 12:15 PM, Christian von Kietzell
> <christian(at)vonkietzell(dot)de> wrote:
>> Hi,
>>
>> I noticed some (imho) odd behaviour while using composite data types.
>> Empty strings will be returned as None instead of '' in Python.
>>
>> For example:
>>
>> sql> CREATE TYPE testtype AS (id INT, label TEXT);
>>
>> python> import psycopg2
>> python> import psycopg2.extras
>> python> db = psycopg2.connect(...)
>> python> caster = psycopg2.extras.register_composite('testtype', db)
>> python> cursor = db.cursor()
>> python> cursor.execute("SELECT (1, '')::testtype")
>> python> cursor.fetchone()[0]
>> testtype(id=1, label=None)
>>
>> Is this behaviour intended? Or is there some flag I don't know about (I
>> have found none) that gives me empty strings instead?
>
> No, I'm afraid it's a bug. Could you please open a ticket in the
> tracker? I'll take a look at it this evening.
Thank you for the report. Sorry for the stupid bug
(https://github.com/dvarrazzo/psycopg/commit/9a031db8b90488afb59e0d6c8995398c88b6bc41)
To be released in 2.4.6 (which is really due now).
-- Daniele
From | Date | Subject | |
---|---|---|---|
Next Message | Christian von Kietzell | 2012-12-04 08:15:09 | Re: empty string in composite data types |
Previous Message | Daniele Varrazzo | 2012-12-03 12:49:17 | Re: empty string in composite data types |