SQLite was embedded in the Python standard library since Python 2.5 so it 
would depend on which version of SQLite was pulled in for the versions of 
Python. Taking a quick look I could not find which version is included with 
the different versions of Python.

i noticed the SQLite docs are saying the pragma value currently defaults to 
off but should be explicitly set if there is a dependency on the setting in 
the application. Reading the pragma will determine whether or not the 
setting is actually there - no value vs 0 / 1 returned - here is a cut from 
their docs

sqlite> PRAGMA foreign_keys;
0

Tip: If the command "PRAGMA foreign_keys" returns no data instead of a 
single row containing "0" or "1", then the version of SQLite you are using 
does not support foreign keys (either because it is older than 3.6.19 or 
because it was compiled with 
SQLITE_OMIT_FOREIGN_KEY<http://www.sqlite.org/compile.html#omit_foreign_key>or 
SQLITE_OMIT_TRIGGER <http://www.sqlite.org/compile.html#omit_trigger>defined). 
The Python docs

http://docs.pysqlite.googlecode.com/hg/sqlite3.html

You should be able to open a connection in a Python shell and run the pragma 
in a statement to find out if it exists in your setup.

I don't use this database so maybe someone else has a definitive answer off 
the top.

Ron

Reply via email to