-
Notifications
You must be signed in to change notification settings - Fork 425
Closed
Description
With version 0.8.3, the script:
import asyncio
import asyncpg
async def run():
conn = await asyncpg.connect(host='localhost', port=5432,
database='test',
user='user', password='resu')
values = await conn.fetch("SELECT * FROM auth.users WHERE name = 'admin'")
print(values)
await conn.close()
loop = asyncio.get_event_loop()
loop.run_until_complete(run())
generates the following exception traceback:
Traceback (most recent call last):
File "p.py", line 12, in <module>
loop.run_until_complete(run())
File "/usr/local/python3.6/lib/python3.6/asyncio/base_events.py", line 466, in run_until_complete
return future.result()
File "p.py", line 7, in run
values = await conn.fetch("SELECT * FROM auth.users WHERE name = 'admin'")
File "/tmp/e/lib/python3.6/site-packages/asyncpg/connection.py", line 270, in fetch
False, timeout)
File "asyncpg/protocol/protocol.pyx", line 165, in bind_execute (asyncpg/protocol/protocol.c:55643)
File "asyncpg/protocol/coreproto.pyx", line 66, in asyncpg.protocol.protocol.CoreProtocol._read_server_messages (asyncpg/protocol/protocol.c:41775)
File "asyncpg/protocol/coreproto.pyx", line 177, in asyncpg.protocol.protocol.CoreProtocol._process__bind_execute (asyncpg/protocol/protocol.c:43114)
File "asyncpg/protocol/coreproto.pyx", line 346, in asyncpg.protocol.protocol.CoreProtocol._parse_data_msgs (asyncpg/protocol/protocol.c:44701)
File "asyncpg/protocol/protocol.pyx", line 406, in asyncpg.protocol.protocol.BaseProtocol._decode_row (asyncpg/protocol/protocol.c:60805)
File "asyncpg/protocol/prepared_stmt.pyx", line 246, in asyncpg.protocol.protocol.PreparedStatementState._decode_row (asyncpg/protocol/protocol.c:53193)
File "asyncpg/protocol/codecs/base.pyx", line 205, in asyncpg.protocol.protocol.Codec.decode (asyncpg/protocol/protocol.c:14410)
File "asyncpg/protocol/codecs/base.pyx", line 150, in asyncpg.protocol.protocol.Codec.decode_range (asyncpg/protocol/protocol.c:13715)
File "asyncpg/protocol/codecs/range.pyx", line 126, in asyncpg.protocol.protocol.range_decode (asyncpg/protocol/protocol.c:39611)
File "asyncpg/protocol/codecs/base.pyx", line 315, in asyncpg.protocol.protocol.codec_decode_func_ex (asyncpg/protocol/protocol.c:15511)
File "asyncpg/protocol/codecs/base.pyx", line 205, in asyncpg.protocol.protocol.Codec.decode (asyncpg/protocol/protocol.c:14410)
File "asyncpg/protocol/codecs/base.pyx", line 137, in asyncpg.protocol.protocol.Codec.decode_scalar (asyncpg/protocol/protocol.c:13550)
File "asyncpg/protocol/codecs/datetime.pyx", line 114, in asyncpg.protocol.protocol.date_decode (asyncpg/protocol/protocol.c:22388)
ValueError: ordinal must be >= 1
The auth.users
table is defined like this:
test=> \d auth.users
Table "auth.users"
Column | Type | Modifiers
-----------+-------------+-----------
id | id_t | not null
created | timestamp_t | not null
changed | timestamp_t |
name | code_t | not null
password | code_t | not null
email | email_t | not null
validity | period_t | not null
person_id | id_t | not null
test=> \dD timestamp_t|id_t|code_t|email_t|period_t
List of domains
Schema | Name | Type | Modifier | Check
--------+-------------+-----------------------------+----------+-------
public | code_t | character varying(64) | |
public | email_t | character varying(64) | |
public | id_t | uuid | |
public | period_t | daterange | |
public | timestamp_t | timestamp without time zone | |
With version 0.7.0 it works ok, producing something like:
[<Record id=UUID('...') created=datetime.datetime(2016, 12, 24, 12, 20, 21, 599579) changed=datetime.datetime(2016, 12, 24, 17, 40, 50, 144580) name='admin' password='...' email='...' validity=<Range [datetime.date(1, 1, 1), datetime.date(9999, 12, 31))> person_id=UUID('...')>, ...]
Metadata
Metadata
Assignees
Labels
No labels