- Optimize getting column names when returning rows as hashes.
- Update bundled SQLite to version 3.46.0. #74
- Update bundled sqlite to version 3.45.3.
- Fix
Database#execute
for SQL ending with a comment. #72
- Improve documentation.
- Implement
Database#wal_checkpoint
. - Rename query modes:
hash
(the default mode),array
,splat
, simplify querying APIs. #69
- Fix API docs.
- Improve progress handler API, add mode, period, tick options, global progress handler. #68
- Rework
Database#initialize
options. - Add argv row mode (for passing column values as argv).
- Streamline and improve query methods. #67
- Implement row transforms.
- Implement changeset API. #58
- Reorganize README, update benchmarks. #63
- Implement progress handler API. #62
- Implement savepoint methods.
- Update bundled sqlite to version 3.45.0.
- Implement
Database#batch_query
and related methods. 53 - Accept more options in
Database#initialize
. 48 - Fix
Database#pragma
to return single value when reading pragma value. - Accept database name in
Database#tables
method. - Improve
Database#batch_execute
- now accepts Enumerable and Callable parameters. 52 - Rename
Database#execute_multi
toDatabase#batch_execute
. - Implement
Query#clone
. 51 - Add support for GC compaction.
- Remove support for Ruby 2.7.
- Implement
Query#<<
. 49 - Allow passing parameters in array.
- Add support for ractors. #50
- Implement GVL release threshold. #46
- Implement write barriers for better GC performance.
- Add support for binding large numbers and symbols. #43
- Implement Database#transaction. #42
- Add support for binding BLOBs. #40
- Minor fixes and cleanup of C-code.
- Fix
Database#inspect
for a closed database instance #37 - Add support for binding named parameters from Struct and Data classes #30
- Update bundled SQLite code to version 3.44.2 #32
- Update bundled SQLite to version 3.44.0 (#29)
- Set correct encoding for strings values in query results (#27)
- Reset query after running it in Sequel adapter (#26)
- Implement
Database#execute
,Query#execute
for data-manipulation queries - Add option for opening databases for read only access
- Fix Sequel migrations (#8)
- Redesign prepared statement functionality (#24)
- Rewrite
Extralite::PreparedStatement
intoExtralite::Query
with breaking API changes - Add
Extralite::Iterator
class for external iteration - Add
Query#each_xxx
,Query#to_a_xxx
method - Add
Query#eof?
method
- Rewrite
- Fix execution of prepared statements in Sequel adapter (#23 @gschlager)
- Update bundled sqlite code to version 3.42.0 (#22 @gschlager)
- Improve documentation
- Remove bundled sqlite3 source files from extralite.gemspec
- Restore testing on Ruby 2.7
- Fix closing database with open statements
- Improve error reporting in
Database#initialize
- Fix
extralite-bundle
gem compilation - Improve error handling, add methods for error information
- Use extended result codes
- Add
Database#errcode
- Add
Database#errmsg
- Add
Database#error_offset
- Add
Database#trace
(#21) - Add
Database#total_changes
(#20) - Add
Database#busy_timeout=
(#19) - Add
Database#limit
(#16) - Improve error handling
- Improve documentation (#17)
- Update bundled sqlite to version 3.40.1 (#18)
- Fix compilation error (#15 @sitano)
- Add status methods
Extralite.runtime_status
,Database#status
,PreparedStatement#status
(#14 @sitano) - Add
Database#interrupt
(#13 @sitano) - Add
Database#backup
(#11 @sitano) - Derive
Extralite::Error
fromStandardError
(#10 @sitano)
- Add
Database#execute_multi
- Add
PreparedStatement#execute_multi
- Fix usage with system sqlite3 lib where
load_extension
is disabled
- Fix
Database#tables
to work on older version of sqlite (pre 3.33.0)
- Fix
Database#pragma
to always return array of records
- Add
Database#pragma
method - Add
Database#tables
method
- Introduce
extralite-bundle
gem for bundling SQLite, use system lib by default.
- Fix compilation on TruffleRuby
- Implement prepared statements (#7)
- Update SQLite to 3.38.0 (#6)
- Add
Extralite.sqlite3_version
method - Bundle sqlite3 in gem
- Fix compilation on MacOS (#3)
- Fix mutliple parameter binding with hash
- Add support for reading BLOBs
- Add documentation
- Add extralite Sequel adapter
- Add support for binding hash parameters
- Release GVL while fetching rows
- Release GVL while preparing statements
- Use
sqlite3_prepare_v2
instead of deprecatedsqlite_prepare
- Fix possible segfault in cleanup_stmt
- Pin error classes (for better compatibility with
GC.compact
)
- Add support for big integers
- Add
#close
,#closed?
methods
- Refactor C code
- Use
rb_ensure
to finalize stmt - Remove bundled
sqlite3.h
, use system-wide header file instead
- Add more specific errors:
SQLError
,BusyError
- Implement
Database#query_single_row
- Add support for loading extensions
- Add support for running multiple statements
- Implement
Database#transaction_active?
- Add tests
- First release