Amalgalite 0.1.0 Released

I've been a fan of SQLite for a long time. Many years ago I considered writing an SQLite extension for Ruby. Jamis beat me to it, and I've been happily using ruby-sqlite since it arrived on the scene.

Since then, SQLite itself has greatly improved. There are new features, an evolution in the API, and most of all, The SQLite Amalgamation. This is the entire SQLite database engine as a single C source code file.

Perfect! Why not make a ruby extension that embeds SQLite directly in the extension?

Amalgalite is born.

Install as a gem

gem install amalgalite

Or grab from github

git clone git://github.com/copiousfreetime/amalgalite.git

Give it a whirl and let me know what you think.

require 'rubygems'
require 'amalgalite'
puts "using SQLite v#{Amalgalite::SQLite3::Version}" # => "using SQLite v3.5.9"

Current Functionality

I would consider Amalgalite beta right now. It is fully usable; but it does not contain all the features I want yet.

The normal stuff:
  • open or create databases
  • run SQL in single statements or in batches.
  • use prepared statements with parameters
  • access resultsets by index or by column name
  • transactions
  • type conversion between database types and Ruby types
The fun/happy/cool stuff, and not available in sqlite3-ruby:

Future plans

  • ActiveRecord driver
  • DataMapper driver
  • Sequel driver
  • progress and authorizer callbacks
  • amalgalite command line tool similar to the sqlite3 commandline tool
  • utf-16 support
  • blob support
  • and more

Comments (View)