SQLite + FTS (full text search)

Mark Lawrence breamoreboy at yahoo.co.uk
Thu Jan 23 08:39:08 EST 2014


On 23/01/2014 13:24, 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.
>>
>> 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.
>

As an option can be represented in a single bit then presumably the 
Windows msi file only needs an extra bit to allow for this, or have I 
missed something?  While I'm at it what is this "compile time" thingy, 
being on Windows I'm not used to seeing such terminology?

-- 
My fellow Pythonistas, ask not what our language can do for you, ask 
what you can do for our language.

Mark Lawrence




More information about the Python-list mailing list