Question about amalgalite and fts3

Hi,

I was happily using a script that used Sequel and Amalgalite to read a
sqlite database (the one generated by gnome-hamster-applet), until I
upgraded to Ubuntu 10.10.
Now, my script fails with:

/home/jesus/.rvm/gems/ruby-1.8.7-p334/gems/amalgalite-1.0.0/lib/amalgalite/statement.rb:33:in
prepare': Amalgalite::SQLite3::Error: Failure to prepare statement PRAGMA table_info('fact_index') : [SQLITE_ERROR 1] : no such module: fts3 (Sequel::DatabaseError) from /home/jesus/.rvm/gems/ruby-1.8.7-p334/gems/amalgalite-1.0.0/lib/amalgalite/statement.rb:33:insend’
from
/home/jesus/.rvm/gems/ruby-1.8.7-p334/gems/amalgalite-1.0.0/lib/amalgalite/statement.rb:33:in
initialize' from /home/jesus/.rvm/gems/ruby-1.8.7-p334/gems/amalgalite-1.0.0/lib/amalgalite/database.rb:265:innew’
[snip many more lines]

I’ve read that fts3 is a SQLite extension module that can be enabled
or disabled when compiling sqlite. So, my question is, is there
something I can do to enable this module in Amalgalite?

Thanks,

Jesus.

Hi,

Apologies for not replying sooner, I do not read ruby-talk every day.

On Thu, Mar 17, 2011 at 09:05:29PM +0900, Jes?s Gabriel y Gal?n wrote:

fts3 (Sequel::DatabaseError)
something I can do to enable this module in Amalgalite?
I’ve done a little digging, and it looks like last July hamster-applet
updated
their sqlite database schema to use the FTS3 module in sqlite. They are
able to
do this because the pysqlite library, on which hamster-applet depends,
builds
sqlite with SQLITE_ENABLE_FTS3=1.

When you upgraded to Ubuntu 10.10 hamster-applet was probably updated,
which in
turn updated the schema in the sqlite database that backs hamster-applet
to
utilize fts3.

Currently amalgalite doesn’t enable fts3 at compile time, but I have no
problem
turning that feature on and will be happy to build and release a new
version of
amalgalite with that feature enabled.

Look for a new release before next week.

enjoy,

-jeremy