Thomas Guettler schrieb:
Hi,I discovered this: import psycopg2 connection=psycopg2.connect("dbname='...' user='...'") cursor=connection.cursor() cursor.execute('''SELECT '%' ''') # Does not fail cursor.execute('''SELECT '%' ''', ()) # Does fail Traceback (most recent call last): File "/localhome/modw/tmp/t.py", line 5, in <module> cursor.execute('''SELECT '%' ''', ()) # Does fail IndexError: tuple index out of range Is this a bug in psycopg2? How do other PEP 249 implementation behave?
Not a bug. The second execute is the parametrized variant, which simply tries to fetch the parameters from the passed collection. As you give an empty collection, but specify one parameter, the error is quite obvious.
The first execute takes the SQL-string as literal. Diez -- http://mail.python.org/mailman/listinfo/python-list
