I have a simple DB table that stores md5 signature pairs: Table "public.duplicate" Column | Type | Modifiers ----------+-------+----------- sig | bytea | not null orig_sig | bytea | not null Indexes: "duplicate_pkey" PRIMARY KEY, btree (sig) "ix_duplicate_orig_sig" btree (orig_sig)
I use SqlAlchemy to interact with it and inserting works fine; update however crashes hard with a segfault. Sure enough, the crash is reproducible when using the underlying psycopg2 directly: >>> import psycopg2 >>> connect_string = ... >>> conn = psycopg2.connect(connect_string) >>> cur = conn.cursor() >>> cur.execute('SELECT sig,orig_sig from duplicate limit 1') >>> d = cur.fetchone() >>> d (<read-only buffer for 0x40209100, size 16, offset 0 at 0x403054e0>, <read-only buffer for 0x402090f0, size 16, offset 0 at 0x40305580>) >>> map(str,d) ["\x02#qO\xb0\xcc\xfcx\xb9u\xa5\x83)\xc4'@", '\xa1\xf22\xf6y\xd0\xbc \xea6\xf0Y\xf1"\xc9(\n'] >>> cur.execute('UPDATE duplicate SET orig_sig=%(orig_sig)s WHERE duplicate.sig >>> = %(duplicate_sig)s', ... dict(orig_sig=d[0], duplicate_sig=d[1])) Segmentation fault Am I (and SqlAlchemy) doing something silly or is this a bug in psycopg2 ? George -- http://mail.python.org/mailman/listinfo/python-list