[R-sig-DB] RSQLite 1.0.0

Seth Falcon @eth @end|ng |rom u@erpr|m@ry@net
Wed Sep 24 00:53:46 CEST 2014


I haven't had a chance to look over the changes; they sound like
reasonable enhancements. Hadley, thanks for putting some love into
RSQLite!

Best,

+ seth



On Tue, Sep 23, 2014 at 3:10 PM, Hadley Wickham <h.wickham using gmail.com> wrote:
> 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/



-- 
Seth Falcon | @sfalcon | http://userprimary.net/




More information about the R-sig-DB mailing list