Hi everyone, I'm preparing to release a new version of RSQLite, 1.0.0. (I've taken over maintenance from Seth Falcon). This release is basically a big tidy up - I've refactored a lot of the C code to be easier to follow, deprecated a lot of unused functions, and converted everything to "Hadley"-style package development. A complete list of changes are included at the bottom of this email.
If you use RSQLite, I'd really appreciate it if you'd try out the development version and let me know if you have any problems. You can install it from github with: # install.packages("devtools") devtools::install_github("rstats-db/DBI") devtools::install_github("rstats-db/RSQLite") If you have written a package that depends on RSQLite, please check the list of R CMD check results at https://github.com/wch/checkresults/blob/master/RSQLite/r-release/00check-summary.txt. I've been quite aggressive at deprecating old functions, and un-exporting functions that are really part of RSQLite's internal interface. This means that many packages will need changes. If you have any trouble figuring out the problem, please let me know and I'll be happy to help. I apologise for the hassle, but this will make RSQLite a much better platform to build on in the future. I plan to submit this version of RSQLite to CRAN on Oct 20, so that there's plenty of time for feedback and changes. Hadley # Version 1.0.0 ## New features - Updated to SQLite 3.8.6 - Added `datasetsDb()`, a bundled SQLite database containing all data frames in the datasets package (#15). - Inlined `RSQLite.extfuns` - use `initExtension()` to load the many useful extension functions (#44). - Methods no longer automatically clone the connection is there is an open result set. This was implement inconsistently in a handful of places (#22). RSQLite is now more forgiving if you forget to close a result set - it will close it for you, with a warning. It's still good practice to clean up after yourself, but you don't have to. - `dbBegin()`, `dbCommit()`, `dbRollback()` throw errors on failure, rather than return `FALSE`. They all gain a `name` argument to specify named savepoints. - `dbFetch()` method added (`fetch()` will be deprecated in the future) - `dbRemoveTable()` throws errors on failure, rather than returning `FALSE`. - `dbWriteTable()` has been rewritten: * It quotes field names using `dbQuoteIdentifier()`, rather than use a flawed black-list based approach with name munging. * It now throws errors on failure, rather than returning FALSE. * It will automatically add row names only if they are character, not integer. * When loading a file from disk, `dbWriteTable()` will no longer attempt to guess the correct values for `row.names` and `header` - instead supply them explicitly if the defaults are incorrect. * It uses named save points so it can be nested inside other transactions (#41). * When given a zero-row data frame it will just creates the table definition (#35). ## Changes to objects - The `dbname`, `loadable.extensions`, `flags` and `vfs` properties of a SqliteConnection are now slots. Access them directly instead of using `dbGetInfo()`. ## Deprecated and removed functions - RSQLite is no longer nominally compatible with S (#39). - `idIsValid()` is deprecated. Please use `dbIsValid()` instead. - `dbBeginTransaction()` has been deprecated. Please use `dbBegin()` instead. - `dbCallProc()` method removed, since generic is now deprecated. - Renamed `dbBuildTableDefinition()` to `sqliteBuildTableDefinition()` to avoid implying it's a DBI generic. Old function is aliased to new with a warning. - `dbFetch()` no longer numbers row names sequentially between fetches. - `safe.write()` is no longer exported as it shouldn't be part of the public RSQLite interface (#26). - Internal `sqlite*()` functions are no longer exported (#20). - Removed `SqliteObject` and `dbObject` classes, modifying `SqliteDriver`, `SqliteConnection`, and `SqliteResult` to use composition instead of multiple inheritance. -- http://had.co.nz/ _______________________________________________ R-sig-DB mailing list -- R Special Interest Group R-sig-DB@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-db