Id (#262, @renkun-ken).
reconnect argument that sets the
MYSQL_OPT_RECONNECT option (#261, @renkun-ken).
setMethod()calls refer to top-level functions (#250).
blob::blob()objects (#126, #243).
dbAppendTable()are much faster thanks to
LOAD DATA LOCAL INFILE. To activate this,
load_data_local_infile = TRUEmust be passed to
dbConnect(). The readr package is required (#11, #223).
dbConnect()normalizes all input paths (#197, @twentytitus).
POSIXtcolumns, to create columns with microsecond precision by default (#214).
libmariadb-devDebian/Ubuntu package in documentation and configuration scripts (#219).
?dbConnectgains a section on secure passwords and the
NULLis mapped to
bit(1)columns (#201, @dirkschumacher).
dbConnect()now supports a
timezone_outargument. Explicitly setting
NULLtries to detect the database time zone (#116).
BIT(1)columns are returned as
dbQuoteLiteral()now correctly quotes difftime values (#188).
dbBind()also works for
"Date"values that are stored as integers (#187).
dbBind()correctly interpret difftime values with units other than
timeoutargument, defaults to 10. Use
Infor a negative value for no timeout (#169).
VARCHAR(1)for length-0 character vectors.
dbSendStatement()clear the result set if
dbBind()throws an error.
dbWriteTable()is a data frame (#160, @rossholmberg).
dbGetInfo()according to the specification.
dbConnect(), supported values are
"character". Large integers are returned as values of that type (r-dbi/DBItest#133).
dbGetException()is no longer reexported from DBI.
Infare converted to
NULLwhen writing to the database (#77).
"integer64"are now supported for
dbQuoteIdentifier()are preserved in the output (r-lib/DBI#173).
timegm()with private implementation (#78).
timegmsymbol if the macro
overwrite = TRUE.
SHOW PLUGINS) return data (#70, @nbenn).
dbWriteTable()if a table by the same name exists. If a temporary table of the same name exists, the error will be raised by the database itself, because this condition cannot be checked beforehand.
Initial release, compliant to the DBI specification.
dbSendStatement(), the function
mariadbExecQuery()has been removed (#28).
bit64package. Unfortunately, this also means that numeric literals (as in
SELECT 1) are returned as 64-bit integers (#12).
row.names = FALSE.
ssl.cipher(#131, #148, @adamchainz).
RMariaDB fully supports DATE and DATETIME columns. On output, DATE columns will be converted to vectors of
Dates and DATETIME will be converted to
POSIXct. To faciliate correct computation of time zone, RMariaDB always sets the session timezone to UTC.
RMariaDB has been rewritten (essentially from scratch) in C++ with Rcpp. This has considerably reduced the amount of code, and allow us to take advantage of the more sophisticated memory management tools available in Rcpp. This rewrite should yield some minor performance improvements, but most importantly protect against memory leaks and crashes. It also provides a better base for future development.
Support for prepared queries: create prepared query with
dbSendQuery() and bind values with
dbGetQuery() also support inline parameterised queries, like
dbGetQuery(mariadbDefault(), "SELECT * FROM mtcars WHERE cyl = :cyl", params = list(cyl = 4)). This has no performance benefits but protects you from SQL injection attacks.
dbListFields() has been removed. Please use
dbGetInfo() has been removed. Please use the individual metadata functions.
Information formerly contain in
summary() methods has now been integrated into
make.db.names() has been deprecated. Use
isIdCurrent() has been deprecated. Use
dbNextResults() have been removed. These were always flagged as experimental, and now the experiment is over.
dbEscapeStrings() has been deprecated. Please use
dbObjectId compatibility shim removed
Add SSL support on Windows.
Fix repetition of strings in subsequent rows (@peternowee, #125).
Always set connection character set to utf-8
Backport build system improvements from stable branch
Reenable Travis-CI, switch to R Travis, collect coverage