- Actually enable
LOAD LOCAL INFILE by setting the
MYSQL_OPT_LOCAL_INFILE flag (#265, #267).
- Upgrade to mariadb-connector-c 3.2.5 on Windows, with built-in support for the
caching_sha2_password plugin (#134, #248, @jeroen).
- Make method definition more similar to S3. All
setMethod() calls refer to top-level functions (#250).
- Writing dates prior to 1970 no longer crashes on Windows (#232, #245).
- Add test for reading and writing JSON data type as string (#127, #246).
- Update for compatibility with DBItest 1.7.2 (#228).
- RMariaDB is now licensed under the MIT license (#213).
- Now referring to the
libmariadb-dev Debian/Ubuntu package in documentation and configuration scripts (#219).
?dbConnect gains a section on secure passwords and the
.mylogin.cnf file (#156).
Test MySQL and MariaDB Server and client libraries in all combinations on GitHub Actions (#224).
configure script now queries the
RMARIADB_FORCE_MYSQLCONFIG environment variables to force use of
mysql_config, respectively (#218).
- Remove BH dependency by inlining the header files (#208).
dbConnect() now supports a
timezone_out argument. Explicitly setting
NULL tries to detect the database time zone (#116).
BIT(1) columns are returned as
dbQuoteLiteral() now correctly quotes difftime values (#188).
- Timestamp values are now written correctly if the database connection uses a time zone other than UTC. Deviations still might occur at DST boundaries, therefore it is still safer to use UTC as the database connection (#116).
- Timestamp roundtrip no longer fails on Windows i386 (#117).
dbBind() also works for
"Date" values that are stored as integers (#187).
./configure no longer requires
- Switch to GitHub Actions (#185, thanks @ankane).
dbConnect() gains a
timeout argument, defaults to 10. Use
Inf or a negative value for no timeout (#169).
- Support fractional seconds in datetime values for reading and writing (#157).
VARCHAR as data type for string columns (#159).
- Encode column names as UTF-8 (#109).
dbGetInfo() according to the specification.
- Include information about
- Get rid of
auto_ptr, which causes
R CMD check warnings on R-devel.
- Add support for
bigint argument to
dbConnect(), supported values are
"character". Large integers are returned as values of that type (r-dbi/DBItest#133).
- Data frames resulting from a query always have unique non-empty column names (r-dbi/DBItest#137).
- New arguments
dbRemoveTable() (r-dbi/DBI#141, r-dbi/DBI#197).
dbAppendTable() internally (r-dbi/DBI#74).
format() method for
- Now imports DBI 1.0.0.
- Attempt to fix Solaris builds by redefining
timegm symbol if the macro
sun is defined.
- Fix examples running on CRAN by using only temporary tables and
overwrite = TRUE.
- Refactor connection and result handling to be more similar to other backends.
- Add support for R 3.1, but DBI >= 0.5 is required (#68).
- Queries that bypass the prepared statement framework (like
SHOW PLUGINS) return data (#70, @nbenn).
- A temporary table can be created via
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.
- Test almost all test cases of the DBI specification.
- Fully support parametrized queries (#22, #27, #39).
- Queries not supported by the prepared statement protocol still can be run via
dbSendStatement(), the function
mariadbExecQuery() has been removed (#28).
- Spec-compliant transactions (#38, #49).
- 64-bit integers are now supported through the
bit64 package. Unfortunately, this also means that numeric literals (as in
SELECT 1) are returned as 64-bit integers (#12).
- Correct handling of DATETIME and TIME columns (#52, @noahwilliamsson). Support timestamp values with sub-second precision on output, and with year beyond 2038 (#56).
- The connection now uses the “utf8mb4” charset by default (#7).
- New default
row.names = FALSE.
- New SSL-related arguments to
ssl.cipher (#131, #148, @adamchainz).
- CI for Linux, Windows, and OS X (#25).
- Support for Connector/C from both MariaDB and MySQL.
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