Major changes
-
New function
snowflake()
makes it easier to connect to Snowflake,
automatically handling authentication correctly on platforms that provide
Snowflake-native OAuth credentials (@atheriel, #662). -
Long running queries can now be interrupted using Ctrl-C. This
feature is enabled by default in interactive sessions. It can be
controlled by theinterruptible
argument todbConnect()
or by the
global optionodbc.interruptible
. Should be considered experimental---if
you experience problems please file an issue on the package's GitHub
repository (#796).
Minor improvements and bug fixes
-
Improved argument checking and transitioned to the cli package for
formatting most existing error messages (@simonpcouch, #781, #784, #785, #788). -
Raises "Cancelling previous query" warnings from R rather than from Rcpp when
a connection has a current result to avoid possible incorrect resource
unwinds withoptions(warn = 2)
(#797). -
Adjusted the default
batch_rows
value fordbWriteTable()
anddbBind()
methods. odbc 1.3.0 changed the default value from 1024 toNA
, which sets the
batch size to be the length of the input. While this addressed issues for
some drivers when 1024 was greater than the number of rows, it also led
to excessive memory consumption when the input was very large for some other
drivers. The package will now interpetNA
as the minimum of 1024 and the
length of the input (@simonpcouch, #774). -
The encoding of non-ASCII column names of SQL results is now always converted
to UTF-8. (@shrektan, #430) -
Improved error messages when the encoding of client and db-server are
different. (@shrektan, #432) -
dbListFields()
now works withId()
andSQL()
identifiers (#771). -
Transitioned
odbcDataType()
to use S4 for consistency. S3 methods defined
locally will need to be rewritten (@simonpcouch, #701). -
The
"OdbcConnection"
method fordbQuoteIdentifier()
will no longer
passx
toencodeString()
before returning, for consistency with the
default implementation in DBI (@simonpcouch, #765). -
A bug in the implementation of a new feature introduced in 1.4.2, where the
package would automatically set theODBCSYSINI
environmental variable when
using the unixODBC driver manager, was fixed; that environmental variable
will now actually be set on package load (@simonpcouch, #792).
Driver specific changes
-
databricks()
will now automatically configure the needed driver and driver
manager on macOS (@simonpcouch, #651). -
databricks()
now picks up on Posit Workbench-managed Databricks
credentials when rendering Quarto and RMarkdown documents in RStudio
(@atheriel, #805). -
Improved performance on write with Snowflake (#760).
-
Resolved issue when previewing tables using the RStudio Connections pane with
Teradata (@simonpcouch, #755).