psycopg2 возвращает кортеж из строки / psycopg2 returns tuples of string
Tuesday, 29. December 2009, 11:53:20
>>> cur.execute('''SELECT (parent, level) FROM "MsgElems" WHERE msg_id=1;''')
>>> cur.fetchone()
('(0,1)',)
SELECT возвращает кортеж из строки, именно одной строки. Вот это сюрприз. Ни в Python DBAPI PEP, ни в psycopg docs я ничего не нашёл умного, загрустил уже, но потом в голову пришла гениальная (как обычно) идея:
>>> cur.execute('''SELECT parent, level FROM "MsgElems" WHERE msg_id=1;''')
>>> cur.fetchone()
(0, 1)
Вот такие пироги, остерегайтесь. А я тем временем попытаюсь выяснить, что это за ерунда, да и ерунда ли вообще.
>>> cur.execute('''SELECT (parent, level) FROM "MsgElems" WHERE msg_id=1;''')
>>> cur.fetchone()
('(0,1)',)
SELECT returned tuple of string, one string. Now that's what I call unexpected… I didn't find anything neither in Python DBAPI PEP nor psycopg docs, but after some time a bright idea came:
>>> cur.execute('''SELECT parent, level FROM "MsgElems" WHERE msg_id=1;''')
>>> cur.fetchone()
(0, 1)
Watch out. Meanwhile I'll try to find out, what triggers such weird behaviour, and if it is weird at all.









