The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
dbWriteTable()
correctly handles name clashes between
temporary and permanent tables (#402, #431).dbQuoteIdentifier()
for Id()
objects
to no longer rely on names (#460).dbListTables()
et al. (@dpprdan, #413).list_fields()
(#462).Id
in exists_table()
(#461).dbQuoteIdentifier()
(@dpprdan, #263, #372).dbListObjects()
only allows
Id()
objects as prefix
argument (@dpprdan, #390).NULL
in favor of NULL::text
when
quoting strings and literals, to support JSON and other text-ish types.
Fixes a regression introduced in #370 (#393, #425).dbQuoteLiteral()
correctly quotes 64-bit integers
from the bit64 package (of class "integer64"
) (@karawoo, #435,
#436).
Breaking change: dbListObjects()
only allows
Id()
objects as prefix
argument (@dpprdan, #390).
Windows: update to libpq-15.3 (#442).
Upgrade boost to 1.81.0-1 to fix sprintf warnings (#417).
Suppress warning in gcc-12 (#443).
Tweak driver docs (@dpprdan, #433).
Relicense as MIT.
Upgrade boost to 1.81.0-1 to fix sprintf warnings (#417).
One-click setup for https://gitpod.io (@Antonov548, #407).
Use testthat edition 3 (#408).
pg_type
table is missing (#394,
#395, @pedrobtz).dbExecute(immediate = TRUE)
after
dbAppendTable()
(#382, #384).dbConnect(check_interrupts = TRUE)
(#385, @zozlak).postgresIsTransacting()
(#351, @jakob-r).Redshift()
connections, all DBItest tests pass (#358, @galachad).setMethod()
calls refer to top-level functions (#380).dbWriteTable()
uses savepoints for its transactions,
even if an external transaction is open. This does not affect Redshift,
because savepoints are not supproted there (#342).dbConnect(check_interrupts = TRUE)
, interrupting a
query now gives a dedicated error message. Very short-running queries no
longer take one second to complete (#344).dbQuoteLiteral()
correctly quotes length-0 values
(#355) and generates typed NULL
expressions for
NA
values (#357).SET DATESTYLE
query sent after connecting uses
quotes for compatibility with CockroachDB (#360).dbConnect()
executes initial queries with
immediate = TRUE
(#346).libssl-dev
in configure
script
(#350).Redshift()
connections now adhere to almost all of the
DBI specification when connecting to a Redshift cluster. BLOBs are not
supported on Redshift, and there are limitations with enumerating
temporary and persistent tables (#215, #326).dbBegin()
, dbCommit()
and
dbRollback()
gain name
argument to support
savepoints. An unnamed transaction must be started beforehand
(#13).dbWriteTable()
uses a transaction (#307).dbSendQuery()
gains immediate
argument.
Multiple queries (separated by semicolons) can be passed in this mode,
query parameters are not supported (#272).dbConnect(check_interrupts = TRUE)
now aborts a running
query faster and more reliably when the user signals an interrupt,
e.g. by pressing Ctrl+C (#336).dbAppendTable()
gains copy
argument. If
set to TRUE
, data is imported via
COPY name FROM STDIN
(#241, @hugheylab).NOTICE
messages are now forwarded as proper R
messages and can be captured and suppressed (#208).dbQuoteLiteral()
converts timestamp values to input
time zone, used when writing tables to Redshift (#325).dbSendQuery()
and dbQuoteLiteral()
use
single dispatch (#320).dbWriteTable()
and dbAppendTable()
default
to copy = NULL
, this translates to TRUE
for
Postgres()
and FALSE
for
Redshift()
connections (#329).@examplesIf
in method documentation.field.types
is used in
dbWriteTable()
(#206).params
argument to
dbBind()
(#266).dbConnect(check_interrupts = TRUE)
on Windows
(#244, @zozlak).dbConnect()
now issues
SET datestyle to iso, mdy
to avoid translation errors for
datetime values with databases configured differently (#287, @baderstine).Inf
, -Inf
and NaN
values are
returned correctly on Windows (#267).dbConnect()
defaults to
timezone_out = NULL
, this means to use
timezone
.FORCE_AUTOBREW
environment variable enforces use of
autobrew
in configure
(#283, @jeroen).configure
on macOS, small tweaks (#282, #283, @jeroen).configure
script, remove $()
not
reliably detected by checkbashisms
.configure
uses a shell script and no longer forwards to
src/configure.bash
(#265).dbConnect()
gains timezone_out
argument,
the default NULL
means to use timezone
(#222).dbQuoteLiteral()
now quotes difftime values as
interval
(#270).postgresWaitForNotify()
adds
LISTEN/NOTIFY
support (#237, @lentinj).Inf
, -Inf
and NaN
values are
returned correctly on Windows (#267).DATETIME
values (=without time zone) and
DATETIMETZ
values (=with time zone) are returned correctly
(#190, #205, #229), also if they start before 1970 (#221).configure
uses a shell script and no longer forwards to
src/configure.bash
(#265).Redshift
driver for connecting to Redshift
databases. Redshift databases behave almost identically to Postgres so
this driver allows downstream packages to distinguish between the two
(#258).Postgres()
together with
dbConnect()
(#242).DOUBLE PRECISION
by default (#194).dbWriteTable(copy = FALSE)
, sqlData()
and
dbAppendTable()
now work for character columns (#209),
which are always converted to UTF-8.timezone
argument to dbConnect()
(#187, @trafficonese).dbGetInfo()
for the driver and the connection
object.dbConnect()
gains check_interrupts
argument that allows interrupting execution safely while waiting for
query results to be ready (#193, @zozlak).dbUnquoteIdentifier()
also handles unquoted identifiers
of the form table
or schema.table
, for
compatibility with dbplyr. In addition, a catalog
component
is supported for quoting and unquoting with Id()
.dbQuoteLiteral()
available for "character"
(#209).dbAppendTable()
(r-dbi/DBI#249).POSIXt
timestamps
(#191).sqlData(copy = FALSE)
now uses
dbQuoteLiteral()
(#209).dbUnquoteIdentifier()
(#220, @baileych).REAL
to
DOUBLE PRECISION
(#204, @harvey131).dbAppendTable()
for own connection class,
don’t hijack base class implementation (r-dbi/RMariaDB#119).DbResult
and other classes with RSQLite and
RMariaDB.std::mem_fn()
by boost::mem_fn()
which works for older compilers.std::mem_fun_ref()
by
std::mem_fn()
.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).temporary
and
fail_if_missing
(default: TRUE
) to
dbRemoveTable()
(r-dbi/DBI#141, r-dbi/DBI#197).dbCreateTable()
and dbAppendTable()
internally (r-dbi/DBI#74).field.types
argument to dbWriteTable()
now must be named.current_schemas(true)
also in
dbListObjects()
and dbListTables()
, for
consistency with dbListFields()
. Objects from the
pg_catalog
schema are still excluded.dbListFields()
doesn’t list fields from tables found in
the pg_catalog
schema.dbListFields()
method now works correctly if the
name
argument is a quoted identifier or of class
Id
, and throws an error if the table is not found
(r-dbi/DBI#75).format()
method for
SqliteConnection
(r-dbi/DBI#163).Id()
, DBI::dbIsReadOnly()
and
DBI::dbCanConnect()
.dbGetException()
is no longer
reexported from DBI.dbFetch()
and dbGetQuery()
. Values of unknown type are returned as
character vector of class "pq_xxx"
, where
"xxx"
is the “typname” returned from PostgreSQL. In
particular, JSON
and JSONB
values now have
class "pq_json"
and "pq_jsonb"
, respectively.
The return value of dbColumnInfo()
gains new columns
".oid"
(integer
), ". known"
(logical
) and ".typname"
(character
) (#114, @etiennebr)."integer64"
are now supported for
dbWriteTable()
and dbBind()
(#178).dbListObjects()
,
dbUnquoteIdentifier()
and Id()
.x
argument to
dbQuoteIdentifier()
are preserved in the output
(r-dbi/DBI#173).dbGetQuery()
) are
now exported, even if the package doesn’t provide a custom
implementation (#168).timegm()
with private
implementation.PQcancel()
if the query hasn’t completed,
fixes transactions on Amazon Redshift (#159, @mmuurr).Initial release, compliant to the DBI specification.
bit64
package. This also means that numeric literals (as in
SELECT 1
) are returned as 64-bit integers. The
bigint
argument to dbConnect()
allows
overriding the data type on a per-connection basis.row.names = FALSE
.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.