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

Reply via email to