NEWS.md
Binary and OLE fields are now returned as list columns of raw vectors instead of character strings (#18).
Empty text values are now returned as "" instead of NA. Only NULL values become NA (#18).
mdb_example() now returns the bundled Northwind database (nwind.mdb). The nycflights13 example file has been removed (#18).
mdb_stream_table() opens a table as a DBI result that can be read in batches with DBI::dbFetch(), keeping memory use bounded for large tables. dbReadTable() and read_mdb() now read through the same cursor. SQL queries sent with dbSendQuery() are still read in full (#18, @meztez).const qualifier warning in fakeglib.c flagged by GCC 16 on Fedora (#17).The mdbtools C library is now compiled and bundled with the package. No external mdbtools installation is required on any platform (#3).
A full read-only DBI backend is now available via mdb() (#6):
con <- DBI::dbConnect(mdb(), dbname = "path/to/file.mdb")
DBI::dbListTables(con)
DBI::dbGetQuery(con, "SELECT * FROM [Orders] LIMIT 10;")
DBI::dbDisconnect(con)New helper functions: mdb_sql(), mdb_queries(), mdb_count(), mdb_json(), mdb_export(), mdb_ver(), mdb_array(), mdb_header(), mdb_hexdump(), and mdb_prop().
mdb_schema() gains a mode argument for DDL output in multiple SQL dialects in addition to the existing readr col-spec mode.
read_mdb() now reads tables via the bundled C library and returns a tibble. The col_types and ... arguments are deprecated with a lifecycle warning.
readr is no longer a hard dependency. If you use read_mdb() and rely on readr being available, add it explicitly to your own dependencies.
Thanks to Bruno Tremblay for contributing the bundled mdbtools source, the DBI backend, and the expanded helper functions (#9).
shQuote(). (#7)export_mdb() now mirrors readr::format_csv() with arguments, etc.read_mdb() (with smart hidden defaults).stdout option.read_mdb() now has stdout() which can take TRUE or a file path.