RMariaDB

An R interface to MariaDB

OTHER License

Stars
125

Bot releases are visible (Hide)

RMariaDB - RMariaDB 1.3.2 Latest Release

Published by github-actions[bot] 5 months ago

Features

  • Improve enforcement of SSL for dbConnect() and the output when printing connections (@d-hansen, #328).
  • Breaking change: Avoid appending a numeric suffix to duplicate column names (#321, #327).
  • Breaking change: Deprecate dbConnect(groups = ) in favor of dbConnect(group = ), with a warning and compatibility code (@rorynolan, #258).

Bug fixes

  • dbWriteTable() and dbAppendTable() on a connection with load_data_local_infile = TRUE uses the utf8mb4 instead of the more restricted utf8mb3 encoding (@ecoffingould, #332, #333).
  • dbConnect() can enable SSL based on client_flag again (@d-hansen, #322).
  • Fix dbQuoteIdentifier() for Id() objects (#323).

Chore

  • Improve dbQuoteIdentifier() for Id() objects (#324).
  • Avoid deprecated mysql_ssl_set() (#319).

Continuous integration

  • Turn off Windows for now (#326).

Documentation

  • Use dbitemplate (@maelle, #320).

Testing

  • Test for quoting columns with dbQuoteIdentifier() (@dpprdan, #254, #255).
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.3.0

Published by github-actions[bot] about 1 year ago

Features

  • Connections now inherit from "MySQLConnection" if a MySQL server is detected (server version < 10.0 or server description contains "MariaDB"). The new mysql argument to dbConnect() allows overriding the autodetection (#303).
  • Use string as default for JSON (#296) and all unknown column types (@LeeMendelowitz, #260).
  • Support TIME columns with subsecond precision (@renkun-ken, #288, #289).

Documentation

  • Better MAX_NO_FIELD_TYPES error message.

Chore

  • Update Windows libs to new location (#301).
  • Replace Rcpp by cpp11 (@Antonov548, #286).
  • Add decor as a dependency.

Testing

  • Skip tests if packages are not available (#304).
  • Use testthat edition 3 (#285).
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.