On Sun, Jun 22, 2008 at 09:15:46AM +0900, Joel VanderWerf wrote:
> Jeremy Hinegardner wrote:
>> Amalgalite embeds the SQLite database engine in a ruby extension.
>
> Is that really better than linking with libsqlite?

That depends on what you mean by "better" :-).  If it is performane, I
have no idea, as I haven't run any performance tests yet.

For me, it is a few it is a few other reasons:

1) Windows support, because sqlite is embedded in the extension, I can
   ship a Windows gem that doesn't require sqlite to be aleady
   installed.  I haven't built the windows gem yet, that should be
   coming along in the next week or two.

2) SQLite "Professional Support Options".  There are a couple of options
   available from http://www.hwaci.com/sw/sqlite/prosupport.html that
   I would like to be able to support.  Namely the Encrypted Database
   option.  Having sqlite3.c embedded in the extension allows someone
   who purchases one of those options to just drop the source code into
   the gem and rebuild.

3) Feature control.  I'm utilizing compliation dependent API calls.  
   Right now I'm utilizing the sqlite3_column_XXXX_name calls to get
   column meta data for a result set.  These API calls are only exposed
   when SQLITE_ENABLE_COLUMN_METADATA=1 during compliation.

Also, eventually I'm going to expose two SQLite extensions, full text
search and R-trees.  I'm sure everyone knows what full text search is
for, and the R-tree extension allows for extremely fast spatial
searching, i.e. latitude, longitude.

Thoughts, comments anyone?  Do those sound like things you might use?

enjoy,

-jeremy

-- 
========================================================================
 Jeremy Hinegardner                              jeremy / hinegardner.org