Re: empty string in composite data types

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

In response to

Responses

Browse psycopg by date

  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