On Thu, Apr 09, 2009, Steve Holden wrote: >
import psycopg2 as db conn = db.connect(database="maildb", user="@@@", password="@@@", host="localhost", port=5432) curs = conn.cursor() curs.execute("DELETE FROM tst") curs.execute("INSERT INTO tst (byt) VALUES (%s)", ("".join(chr(i) for i in range(256)), )) conn.commit() curs.execute("SELECT byt FROM tst") for st, in curs.fetchall(): print len(st)
If I change the date to use range(1, 256) I get a ProgrammingError fron PostgreSQL "invalid input syntax for type bytea".
If I can't pass a 256-byte string into a BLOB and get it back without anything like this happening then there's something in the chain that makes the database useless. My current belief is that this something is fairly deeply embedded in the PostgreSQL engine. No "syntax" should be necessary.
You're not using a parameterized query. I suggest you post to c.l.py for
Aahz (firstname.lastname@example.org) <*> http://www.pythoncraft.com/
Why is this newsgroup different from all other newsgroups?