Upstream changes:
# Version 0.3.1
* Actually export `dbIsValid()` :/
* `dbGetQuery()` uses `dbFetch()` in the default implementation.
# Version 0.3.0
## New and enhanced generics
* `dbIsValid()` returns a logical value describing whether a connection or
result set (or other object) is still valid. (#12).
* `dbQuoteString()` and `dbQuoteIdentifier()` to implement database specific
quoting mechanisms.
* `dbFetch()` added as alias to `fetch()` to provide consistent name.
Implementers should define methods for both `fetch()` and `dbFetch()` until
`fetch()` is deprecated in 2015. For now, the default method for `dbFetch()`
calls `fetch()`.
* `dbBegin()` begins a transaction (#17). If not supported, DB specific
methods should throw an error (as should `dbCommit()` and `dbRollback()`).
## New default methods
* `dbGetStatement()`, `dbGetRowsAffected()`, `dbHasCompleted()`, and
`dbGetRowCount()` gain default methods that extract the appropriate elements
from `dbGetInfo()`. This means that most drivers should no longer need to
implement these methods (#13).
* `dbGetQuery()` gains a default method for `DBIConnection` which uses
`dbSendQuery()`, `fetch()` and `dbClearResult()`.
## Deprecated features
* The following functions are soft-deprecated. They are going away,
and developers who use the DBI should begin preparing. The formal deprecation
process will begin in July 2015, where these function will emit warnings
on use.
* `fetch()` is replaced by `dbFetch()`.
* `make.db.names()`, `isSQLKeyword()` and `SQLKeywords()`: a black list
based approach is fundamentally flawed; instead quote strings and
identifiers with `dbQuoteIdentifier()` and `dbQuoteString()`.
* `dbGetDBIVersion()` is deprecated since it's now just a thin wrapper
around `packageVersion("DBI")`.
* `dbSetDataMappings()` (#9) and `dbCallProc()` (#7) are deprecated as no
implementations were ever provided.
## Other improvements
* `dbiCheckCompliance()` makes it easier for implementors to check that their
package is in compliance with the DBI specification.
* All examples now use the RSQLite package so that you can easily try out
the code samples (#4).
* `dbDriver()` gains a more effective search mechanism that doesn't rely on
packages being loaded (#1).
* DBI has been converted to use roxygen2 for documentation, and now most
functions have their own documentation files. I would love your feedback
on how we could make the documentation better!
Upstream changes:
Version 0.2-7
* Trivial changes (updated package fields, daj)
Version 0.2-6
* Removed deprecated \synopsis in some Rd files (thanks to Prof. Ripley)
A database interface (DBI) definition for communication between R and
relational database management systems. All classes in this package
are virtual and need to be extended by the various R/DBMS
implementations.