[issue12997] sqlite3: PRAGMA foreign_keys = ON doesn't work
New submission from Mark Bucciarelli : If I read http://bugs.python.org/issue10740#msg132470 correctly, the foreign_keys PRAGMA is a no-op b/c "The python sqlite module automatically commits open transactions when it encounters a DDL statement." Entering as a separate issue as I'm not sure solving 10740 is required to solve this one. -- components: None files: t.py messages: 144166 nosy: Mark.Bucciarelli priority: normal severity: normal status: open title: sqlite3: PRAGMA foreign_keys = ON doesn't work type: behavior versions: Python 2.7 Added file: http://bugs.python.org/file23177/t.py ___ Python tracker <http://bugs.python.org/issue12997> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10740] sqlite3 module should allow DDL statements in transactions
Mark Bucciarelli added the comment: Opened http://bugs.python.org/issue12997 in case there is a way to solve the foreign_key PRAGMA issue with a less disruptive fix. -- nosy: +Mark.Bucciarelli ___ Python tracker <http://bugs.python.org/issue10740> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12997] sqlite3: PRAGMA foreign_keys = ON doesn't work
Mark Bucciarelli added the comment: huh. is it already on in your sqlite install? $ sqlite3 SQLite version 3.7.7.1 2011-06-28 17:39:05 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> pragma foreign_keys; 0 sqlite> is what i get (it's off). -- ___ Python tracker <http://bugs.python.org/issue12997> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12997] sqlite3: PRAGMA foreign_keys = ON doesn't work
Mark Bucciarelli added the comment: Something strange is going on. I just built pysql 2.6.3 from source, and now my unit test gives the expected "IntegrityError: foreign key constraint failed" message. poq, what do you get when you run this script: import sqlite3 print "sqlite3.version_info =", sqlite3.version_info print "sqlite3.sqlite_version_info =", sqlite3.sqlite_version_info from pysqlite2 import dbapi2 as sqlite3 print "pysqlite2.version_info =", sqlite3.version_info print "pysqlite2.sqlite_version_info =", sqlite3.sqlite_version_info I get the following: sqlite3.version_info = (2, 6, 0) sqlite3.sqlite_version_info = (3, 6, 12) pysqlite2.version_info = (2, 6, 3) pysqlite2.sqlite_version_info = (3, 7, 8) -- ___ Python tracker <http://bugs.python.org/issue12997> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12997] sqlite3: PRAGMA foreign_keys = ON doesn't work
Mark Bucciarelli added the comment: BAD : sqlite3.sqlite_version_info = (3, 6, 12) GOOD: sqlite3.sqlite_version_info = (3, 7, 4) GOOD: sqlite3.sqlite_version_info = (3, 7, 8) I guess this is the cause of the different behavior. sqlite_version_info is the version of the underlying sqlite3 database library. So, the sqlite3 is loading an older dynamic lib on my OSX. -- ___ Python tracker <http://bugs.python.org/issue12997> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12997] sqlite3: PRAGMA foreign_keys = ON doesn't work
Changes by Mark Bucciarelli : -- resolution: -> invalid ___ Python tracker <http://bugs.python.org/issue12997> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com