empty string in composite data types

From: Christian von Kietzell <christian(at)vonkietzell(dot)de>
To: psycopg(at)postgresql(dot)org
Subject: empty string in composite data types
Date: 2012-12-03 12:15:08
Message-ID: 1354536908.4153.6.camel@junction.dune
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: psycopg

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?

Any help would be appreciated.

Cheers,
Chris

Responses

Browse psycopg by date

  From Date Subject
Next Message Daniele Varrazzo 2012-12-03 12:49:17 Re: empty string in composite data types
Previous Message Idan Kamara 2012-11-26 12:14:55 Re: cursor.executemany generates multiple INSERTs