RMariaDB

An R interface to MariaDB

OTHER License

Stars
125

Bot releases are hidden (Show)

RMariaDB - RMariaDB 1.3.1

Published by krlmlr 12 months ago

RMariaDB 1.3.1 (2023-10-26)

Features

  • Support dbSendStatement(immediate = TRUE) and dbExecute(immediate = TRUE), needs CLIENT_MULTI_STATEMENTS (#147, #312).

Bug fixes

  • Fix memory leak (#309, #311).
  • Fix compilation on CentOS 7 (#310).
  • dbConnection(groups = ) works as documented again, regression introduced in RMariaDB 1.3.0 (@pekkarr, #306).

Documentation

  • Update docs for client flags (#313).
RMariaDB - RMariaDB 1.2.2

Published by krlmlr over 2 years ago

Features

  • dbAppendTable() accepts Id (#262, @renkun-ken).

  • dbConnect() gains reconnect argument that sets the MYSQL_OPT_RECONNECT option (#261, @renkun-ken).

Bug fixes

  • Actually enable LOAD LOCAL INFILE by setting the MYSQL_OPT_LOCAL_INFILE flag (#265, #267).
RMariaDB - RMariaDB 1.2.1

Published by krlmlr almost 3 years ago

Features

  • Upgrade to mariadb-connector-c 3.2.5 on Windows, with built-in support for the caching_sha2_password plugin (#134, #248, @jeroen).

Internal

  • Make method definition more similar to S3. All setMethod() calls refer to top-level functions (#250).
RMariaDB - RMariaDB 1.2.0

Published by krlmlr almost 3 years ago

Features

  • BLOBs are returned as blob::blob() objects (#126, #243).
  • dbWriteTable() and dbAppendTable() are much faster thanks to LOAD DATA LOCAL INFILE. To activate this, load_data_local_infile = TRUE must be passed to dbConnect(). The readr package is required (#11, #223).

Bug fixes

  • Writing dates prior to 1970 no longer crashes on Windows (#232, #245).

Internal

  • Add test for reading and writing JSON data type as string (#127, #246).
  • Update for compatibility with DBItest 1.7.2 (#228).
RMariaDB - RMariaDB 1.1.2

Published by krlmlr about 3 years ago

Licensing

  • RMariaDB is now licensed under the MIT license (#213).

Features

  • dbConnect() normalizes all input paths (#197, @twentytitus).
  • dbDataType() returns TIME(6) for difftime, and DATETIME(6) for POSIXt columns, to create columns with microsecond precision by default (#214).

Documentation

  • 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).

Internal

  • Test MySQL and MariaDB Server and client libraries in all combinations on GitHub Actions (#224).

  • The configure script now queries the RMARIADB_FORCE_MARIADBCONFIG and RMARIADB_FORCE_MYSQLCONFIG environment variables to force use of mariadb_config or mysql_config, respectively (#218).

RMariaDB - RMariaDB 1.1.1

Published by krlmlr over 3 years ago

Features

  • BIT(1) columns are returned as logical (#84). NULL is mapped to NA for bit(1) columns (#201, @dirkschumacher).
  • dbConnect() now supports timezone_out argument. Explicitly setting timezone to NULL tries to detect the database time zone (#116).

Bug fixes

  • 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).

Internal

  • Remove BH dependency by inlining the header files (#208).
RMariaDB - RMariaDB 1.1.0

Published by krlmlr almost 4 years ago

Features

  • dbConnect() now supports timezone_out argument. Explicitly setting timezone to NULL tries to detect the database time zone (#116).
  • BIT(1) columns are returned as logical (#84).
  • dbQuoteLiteral() now correctly quotes difftime values (#188).

Bug fixes

  • 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).
RMariaDB - RMariaDB 1.0.11

Published by krlmlr almost 4 years ago

Features

  • Windows: update to libmariadbclient 3.1.11
  • Add timezone argument to dbConnect() (#184, @ycphs).
  • dbWriteTable() and dbBind() correctly interpret difftime values with units other than "secs".

Internal

  • ./configure no longer requires bash (@jeroen).
  • Switch to GitHub Actions (#185, thanks @ankane).
RMariaDB - RMariaDB 1.0.10

Published by krlmlr about 4 years ago

Features

  • 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).

Bug fixes

  • dbDataType() returns VARCHAR(1) for length-0 character vectors.
  • dbDataType() returns VARCHAR() for factors.
  • dbSendQuery() and dbSendStatement() clear the result set if dbBind() throws an error.
  • Check that input to dbWriteTable() is a data frame (#160, @rossholmberg).
RMariaDB - RMariaDB 1.0.9

Published by krlmlr over 4 years ago

  • Use VARCHAR as data type for string columns (#159).
  • Encode column names as UTF-8 (#109).
RMariaDB - RMariaDB 1.0.8

Published by krlmlr almost 5 years ago

  • Implement dbGetInfo() according to the specification.
  • Include information about libssl-dev in configure and DESCRIPTION (#101).
RMariaDB - RMariaDB 1.0.7

Published by krlmlr almost 5 years ago

  • Get rid of auto_ptr, which causes R CMD check warnings on R-devel.
RMariaDB - RMariaDB 1.0.6

Published by krlmlr about 6 years ago

  • Add support for bigint argument to dbConnect(), supported values are "integer64", "integer", "numeric" and "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 temporary and fail_if_missing (default: TRUE) to dbRemoveTable() (r-dbi/DBI#141, r-dbi/DBI#197).
  • Using dbCreateTable() and dbAppendTable() internally (r-dbi/DBI#74).
  • Implement format() method for MariaDBConnection (r-dbi/DBI#163).
  • Reexporting Id(), DBI::dbIsReadOnly() and DBI::dbCanConnect().
  • Now imports DBI 1.0.0.
RMariaDB - RMariaDB 1.0.5

Published by krlmlr over 6 years ago

  • dbGetException() is no longer reexported from DBI.
  • NaN and Inf are converted to NULL when writing to the database (#77).
  • Values of class "integer64" are now supported for dbWriteTable() and dbBind() (#87).
  • Schema support, as specified by DBI: dbListObjects(), dbUnquoteIdentifier() and Id().
  • Names in the x argument to dbQuoteIdentifier() are preserved in the output (r-lib/DBI#173).
  • Replace non-portable timegm() with private implementation (#78).
  • Update libmariadbclient to version 2.3.5 on Windows (#92, @jeroen).
RMariaDB - RMariaDB 1.0-4

Published by krlmlr over 6 years ago

  • 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.
RMariaDB - v1.0-2

Published by krlmlr about 7 years ago

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 dbExecute() or 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 dbConnect(): ssl.key, ssl.cert, ssl.ca, ssl.capath, ssl.cipher (#131, #148, @adamchainz).
  • CI for Linux, Windows, and OS X (#25).
  • Support for Connector/C from both MariaDB and MySQL.