luislavena/sqlite3-ruby — pull request #59 by richmeyers (2011-12-20 20:18:55+00:00)
Title: Restore sqlite 3.3.6 compatibility

CentOS 5 ships with sqlite 3.3.6. Because it is an rpm shipped with the os it cannot simply be updated to 3.6.x.

Attached changes restore compatibility with sqlite 3.3.6.

3.3.6 cannot open databases in readonly mode due to missing sqlite3_open_v2 - NotImplementedError is raised if this is attempted. From my reading of sqlite3_prepare_v2 it seems that 3.3.6 will produce less informative or uninformative messages when certain queries fail.

Due to what appears to be a bug in sqlite, sqlite3_clear_bindings is not properly exported from the sqlite.so, causing tests on my system to fail thusly:

Run options:

# Running tests:

............................................EE......................../opt/ruby19/bin/ruby: symbol lookup error: /root/sqlite3-ruby/lib/sqlite3/sqlite3_native.so: undefined symbol: sqlite3_clear_bindings
rake aborted!
Command failed with status (127): [/opt/ruby19/bin/ruby -w -I.:lib:bin:test:....]

However, integrity (https://github.com/integrity/integrity) test suite runs successfully using sqlite for the database engine.