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.htmlIt 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.hIf 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
