http://sqlite-ruby.rubyforge.org
http://sqlite-ruby.rubyforge.org/faq.html
Another beta release in the 2.0.x series. This one adds explicit transaction support, and follows Carl Youngblood's suggestion (thanks, Carl!) that Statement#execute immediately execute its query (instead of waiting until the result set's #next method is invoked). This makes Statement#execute safe to use for DDL statements (and other statements that don't return rows).
I also changed the name of the gem file to "sqlite-ruby", instead of merely "sqlite" (hope that doesn't cause anyone any grief...).
Transactions look like this:
database.transaction do |db|
database.execute( "insert..." )
end
# implicit commit, or rollback if exception occurs...
or
database.transaction
database.execute( "insert..." )
database.commit # or database.rollback
I also changed "Database#execute_all" to "Database#execute_batch".
There is an issue with the callbacks for custom functions. If they raise an exception, or if they use FunctionProxy#set_error to report an error, memory gets corrupted and results in nondeterministic behavior (often segfaults). Not sure why, yet.
Lastly--I know there are a lot of you that are interested in SQLite that aren't on SQLite's mailing lists... so I'm announcing the betas to Ruby-Talk. If that is a breach of etiquette, please tell me! Thanks...
- Jamis
···
--
Jamis Buck
jgb3@email.byu.edu
http://www.jamisbuck.org/jamis
"I use octal until I get to 8, and then I switch to decimal."