Releases: r-dbi/DBI
DBI 1.2.3
DBI 1.2.2
DBI 1.2.1
Bug fixes
-
Fix
dbWriteTableArrow()
according to spec (#457). -
Fix type inference in default method for
dbCreateTableArrow()
(#450).
Features
-
dbAppendTableArrow()
returns number of rows (#454). -
Add
temporary
argument todbCreateTableArrow()
(#453). -
Avoid coercing
params
in default implementation fordbSendQueryArrow()
(#447). -
Use
nanoarrow::infer_nanoarrow_schema()
in the default method fordbCreateTable()
(#445).
Chore
-
Add badge to
DBIResultArrow
class (#452). -
Change maintainer e-mail.
Documentation
DBI 1.2.0
Breaking changes
dbUnquoteIdentifier()
createsId()
objects without component names and allows non-NA
character input (#421, #422).
Features
-
New generics
dbSendQueryArrow()
,dbFetchArrow()
,dbGetQueryArrow()
,dbReadTableArrow()
,dbWriteTableArrow()
(@nbenn, #390),dbCreateTableArrow()
,dbAppendTableArrow()
(#396),
dbBindArrow()
(#415) anddbFetchArrowChunk()
(#424), with default implementations via nanoarrow (#414). -
Id()
now accepts unnamed components (#417). If names are provided, the components are arranged in SQL order (@eauleaf, #427). -
New
dbIsValid()
method for"DBIResultArrowDefault"
objects implemented by DBI (#425). -
Implement
dbiDataType()
for objects of class"blob"
.
Documentation
-
Clarify repeated parameter binding (#430).
-
Deal with sundown of
https://relational.fit.cvut.cz
(#423). -
Correct vignette titles (#419).
-
Harmonize table documentation (#400).
-
Tweak typo, add families for data retrieval and command execution.
Testing
DBI 1.1.3
DBI 1.1.2
Features
- Use
dbQuoteLiteral()
in default method forsqlData()
(#362, #371). - Update specification with changes from DBItest 1.7.2 (#367).
Documentation
- Method documentation on pkgdown is clickable and contains methods from all known DBI backends except ROracle (#360).
?Id
gains better examples (#295, #370).- Elaborate on status of
dbWriteTable()
in the documentation (#352, #372). - Make method definition more similar to S3. All
setMethod()
calls refer to top-level functions (#368). - The pkgdown documentation for DBI generics (e.g.
?dbConnect
) contains clickable links to many known backends, and an explanatory sentence (#360). ?dbReadTable
and other pages gain pointers toId()
andSQL()
(#359).
DBI 1.1.1
Documentation
Bug fixes
dbAppendTable()
now allows columns namedsep
(#336).dbAppendTable()
shows a better error message if the input has zero columns (#313).sqlInterpolate()
now correctly interprets consecutive comments (#329, @rnorberg).dbQuoteLiteral()
works for difftime objects (#325).dbQuoteLiteral()
quotes dates asYYYY-MM-DD
without time zone (#331).
Internal
- Switch to GitHub Actions (#326).
- Update URL in
DESCRIPTION
.
DBI 1.1.0
New features
-
New
DBIConnector
class (#280). -
Specify
immediate
argument todbSendQuery()
,dbGetQuery()
,dbSendStatement()
anddbExecute()
(#268). -
Use specification for
dbGetInfo()
(#271). -
dbUnquoteIdentifier()
now supportsId()
objects withcatalog
members (#266, @raffscallion). It also handles unquoted identifiers of the formtable
,schema.table
orcatalog.schema.table
, for compatibility with dbplyr.
Documentation
-
New DBI intro article (#286, @cutterkom).
-
Add pkgdown reference index (#288).
-
DBI specification on https://dbi.r-dbi.org/dev/articles/spec now comes with a table of contents and code formatting.
-
Update examples to refer to
params
instead ofparam
(#235). -
Improved documentation for
sqlInterpolate()
(#100). Add usage ofSQL()
tosqlInterpolate()
examples (#259, @renkun-ken). -
Improve documentation for
Id
.
Internal
DBI 1.0.0
New generics
- New
dbAppendTable()
that by default callssqlAppendTableTemplate()
and thendbExecute()
with aparam
argument, without support forrow.names
argument (#74). - New
dbCreateTable()
that by default callssqlCreateTable()
and thendbExecute()
, without support forrow.names
argument (#74). - New
dbCanConnect()
generic with default implementation (#87). - New
dbIsReadOnly()
generic with default implementation (#190, @anhqle).
Changes
sqlAppendTable()
now accepts lists for thevalues
argument, to support lists ofSQL
objects in R 3.1.- Add default implementation for
dbListFields(DBIConnection, Id)
, this relies ondbQuoteIdentifier(DBIConnection, Id)
(#75).
Documentation updates
- The DBI specification vignette is rendered correctly from the installed package (#234).
- Update docs on how to cope with stored procedures (#242, @aryoda).
- Add "Additional arguments" sections and more examples for
dbGetQuery()
,dbSendQuery()
,dbExecute()
anddbSendStatement()
. - The
dbColumnInfo()
method is now fully specified (#75). - The
dbListFields()
method is now fully specified (#75). - The dynamic list of methods in help pages doesn't contain methods in DBI anymore.
Bug fixes
- Pass missing
value
argument to secondarydbWriteTable()
call (#737, @jimhester). - The
Id
class now uses<Id>
and not<Table>
when printing. - The default
dbUnquoteIdentifier()
implementation now complies to the spec.
DBI 0.8
Breaking changes
SQL()
now strips the names from the output if thenames
argument is unset.- The
dbReadTable()
,dbWriteTable()
,dbExistsTable()
,dbRemoveTable()
, anddbListFields()
generics now specialize over the first two arguments to support implementations with theId
S4 class as type for the second argument. Some packages may need to update their documentation to satisfy R CMD check again.
New generics
- Schema support: Export
Id()
, new genericsdbListObjects()
anddbUnquoteIdentifier()
, methods forId
that calldbQuoteIdentifier()
and then forward (#220). - New
dbQuoteLiteral()
generic. The default implementation uses switchpatch to avoid dispatch ambiguities, and forwards todbQuoteString()
for character vectors. Backends may override methods that also dispatch on the second argument, but in this case also an override for the"SQL"
class is necessary (#172).
Default implementations
- Default implementations of
dbQuoteIdentifier()
anddbQuoteLiteral()
preserve names, default implementation ofdbQuoteString()
strips names (#173). - Specialized methods for
dbQuoteString()
anddbQuoteIdentifier()
are available again, for compatibility with clients that usegetMethod()
to access them (#218). - Add default implementation of
dbListFields()
. - The default implementation of
dbReadTable()
now hasrow.names = FALSE
as default and also supportsrow.names = NULL
(#186).
API changes
- The
SQL()
function gains an optionalnames
argument which can be used to assign names to SQL strings.
Deprecated generics
dbListConnections()
is soft-deprecated by documentation.dbListResults()
is deprecated by documentation (#58).dbGetException()
is soft-deprecated by documentation (#51).- The deprecated
print.list.pairs()
has been removed.
Bug fixes
- Fix
dbDataType()
forAsIs
object (#198, @yutannihilation). - Fix
dbQuoteString()
anddbQuoteIdentifier()
to ignore invalid UTF-8 strings (r-dbi/DBItest#156).
Documentation
- Help pages for generics now contain a dynamic list of methods implemented by DBI backends (#162).
sqlInterpolate()
now supports both named and positional variables (#216, @hannesmuehleisen).- Point to db.rstudio.com (@wibeasley, #209).
- Reflect new 'r-dbi' organization in
DESCRIPTION
(@wibeasley, #207).
Internal
- Using switchpatch on the second argument for default implementations of
dbQuoteString()
anddbQuoteIdentifier()
.