On 1/23/2014 8:24 AM, Asaf Las wrote:
On Thursday, January 23, 2014 2:20:31 PM UTC+2, Mark Summerfield wrote:
Hi,
On my Debian stable 64-bit system, SQLite3 has FTS (full text search)
enabled (although at version 3 rather than the recommended version 4):
Python 3.2.3 (default, Feb 20 2013, 14:44:27) [GCC 4.7.2] on linux2
Type "copyright", "credits" or "license()" for more information.
import sqlite3
con = sqlite3.connect(":memory:")
cur = con.execute("pragma compile_options")
for row in cur:
print(row)
...
('ENABLE_FTS3',)
...
But on Windows when I use the official Python 3.3 32-bit binary
from www.python.org this is not enabled.
On 64 bit 3.4.0b2, the output is ('THREADSAFE=1',)
My guess is that on Debian, the packagers install a full SQLite 3
and the Python package uses that. But on Windows I think the Python
packagers bundle their own SQLite (quite rightly since it might not
already be installed).
I'd like the Windows binary to include SQLite 3 with FTS4 support,
but I don't know how much work that involves or if it would make
the Python .msi file too big?
Anyway, I guess if anyone else is interested in this they
could perhaps reply to indicate this?
If you're curious about the feature, it is documented here:
http://www.sqlite.org/fts3.html
It is compile time option.
http://www.sqlite.org/compile.html#enable_fts3
you have to build it with this option enabled.
If one clones the hg.python.org/cpython repository and runs
Tools/buildbots/external.bat with minimal svn installed, it copies
sqlite3 source into sqlite-3.8.1 with files
shell.c
sqlite3.c # 5 mb
sqlite3.h
sqlite3ext.h
If that is everything needed for FTS and if pcbuild/ _sqlite3 and
sqlite3 project files were altered to change the compile option and
anything else needed ... then you would have FTS on Windows.
--
Terry Jan Reedy
--
https://mail.python.org/mailman/listinfo/python-list