Recent Releases of RPostgres
RPostgres - RPostgres 1.4.7
Features
- Breaking change: Avoid appending a numeric suffix to duplicate column names (#463).
Bug fixes
dbWriteTable()correctly handles name clashes between temporary and permanent tables (#402, #431).- Fix
dbQuoteIdentifier()forId()objects to no longer rely on names (#460).
Chore
- Bump preferred libpq version on MacOS to 15 (#441, #465).
- Refactor
dbListTables()et al. (@dpprdan, #413). - Refactor
list_fields()(#462). - Use
Idinexists_table()(#461).
Documentation
- Use dbitemplate (@maelle, #456).
Testing
- Test for columns in
dbQuoteIdentifier()(@dpprdan, #263, #372). - Fix tests if DBItest is not installed (#448).
- R
Published by github-actions[bot] almost 2 years ago
RPostgres - RPostgres 1.4.6
Breaking changes
- Breaking change:
dbListObjects()only allowsId()objects asprefixargument (@dpprdan, #390).
Bug fixes
- Use
NULLin favor ofNULL::textwhen quoting strings and literals, to support JSON and other text-ish types. Fixes a regression introduced in #370 (#393, #425).
Features
dbQuoteLiteral()correctly quotes 64-bit integers from the bit64 package (of class"integer64") (@karawoo, #435, #436).Breaking change:
dbListObjects()only allowsId()objects asprefixargument (@dpprdan, #390).
Libraries
Windows: update to libpq-15.3 (#442).
Upgrade boost to 1.81.0-1 to fix sprintf warnings (#417).
Documentation
Suppress warning in gcc-12 (#443).
Tweak driver docs (@dpprdan, #433).
Relicense as MIT.
Testing
- Close result set.
Internal
- Replace Rcpp by cpp11 (@Antonov548, #419).
- R
Published by krlmlr over 2 years ago
RPostgres - RPostgres 1.4.5
Features
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).
- R
Published by krlmlr over 3 years ago
RPostgres - RPostgres 1.4.4
Bug fixes
- Allow connection if the
pg_typetable is missing (#394, #395, @pedrobtz). - Fix
dbExecute(immediate = TRUE)afterdbAppendTable()(#382, #384).
Internal
- Expand tests for
dbConnect(check_interrupts = TRUE)(#385, @zozlak). - Ignore extended timestamp tests on i386 (#387).
- R
Published by krlmlr about 4 years ago
RPostgres - RPostgres 1.4.3
Features
- New
postgresIsTransacting()(#351, @jakob-r). - Temporary tables are now discovered correctly for
Redshift()connections, all DBItest tests pass (#358, @galachad).
Internal
- Make method definition more similar to S3. All
setMethod()calls refer to top-level functions (#380).
- R
Published by krlmlr over 4 years ago
RPostgres - RPostgres 1.4.2
Features
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).- With
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).
Bug fixes
dbQuoteLiteral()correctly quotes length-0 values (#355) and generates typedNULLexpressions forNAvalues (#357).- The
SET DATESTYLEquery sent after connecting uses quotes for compatibility with CockroachDB (#360).
Internal
dbConnect()executes initial queries withimmediate = TRUE(#346).- Check Postgres starting from version 10 on GitHub Actions (#368).
- Fix build on Ubuntu 16.04 (#352).
- Mention
libssl-devinconfigurescript (#350).
- R
Published by krlmlr over 4 years ago
RPostgres - RPostgres 1.4.1
Bug fixes
- Avoid crash by dereferencing 0-size vector (#343).
- R
Published by krlmlr over 4 years ago
RPostgres - RPostgres 1.4.0
Features
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()anddbRollback()gainnameargument to support savepoints. An unnamed transaction must be started beforehand (#13).dbWriteTable()uses a transaction (#307).dbSendQuery()gainsimmediateargument. 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()gainscopyargument. If set toTRUE, data is imported viaCOPY name FROM STDIN(#241, @hugheylab).- Postgres
NOTICEmessages are now forwarded as proper R messages and can be captured and suppressed (#208).
Bug fixes
dbQuoteLiteral()converts timestamp values to input time zone, used when writing tables to Redshift (#325).
Internal
- Skip timestamp tests on i386 (#318).
dbSendQuery()anddbQuoteLiteral()use single dispatch (#320).dbWriteTable()anddbAppendTable()default tocopy = NULL, this translates toTRUEforPostgres()andFALSEforRedshift()connections (#329).
Documentation
- Order help topics on pkgdown site.
- Use
@examplesIfin method documentation. - Document when
field.typesis used indbWriteTable()(#206). - Document setting the tablespace before writing a table (#246).
- Tweak error message for named
paramsargument todbBind()(#266).
- R
Published by krlmlr over 4 years ago
RPostgres - RPostgres 1.3.3
- Fix
dbConnect(check_interrupts = TRUE)on Windows (#244, @zozlak). - Windows: update to libpq 13.2.0 and add UCRT support (#309, @jeroen).
- R
Published by krlmlr almost 5 years ago
RPostgres - RPostgres 1.3.2
- Remove BH dependency by inlining the header files (#300).
- Use Autobrew if libpq is older than version 12 (#294, @jeroen).
dbConnect()now issuesSET datestyle to iso, mdyto avoid translation errors for datetime values with databases configured differently (#287, @baderstine).
- R
Published by krlmlr about 5 years ago
RPostgres - RPostgres 1.3.1
Bug fixes
Inf,-InfandNaNvalues are returned correctly on Windows (#267).- Fix behavior with invalid time zone (#284, @ateucher).
Internal
dbConnect()defaults totimezone_out = NULL, this means to usetimezone.FORCE_AUTOBREWenvironment variable enforces use ofautobrewinconfigure(#283, @jeroen).- Fix
configureon macOS, small tweaks (#282, #283, @jeroen). - Fix
configurescript, remove$()not reliably detected bycheckbashisms. configureuses a shell script and no longer forwards tosrc/configure.bash(#265).
- R
Published by krlmlr about 5 years ago
RPostgres - RPostgres 1.3.0
dbConnect()gainstimezone_outargument, the defaultNULLmeans to usetimezone(#222).dbQuoteLiteral()now quotes difftime values asinterval(#270).- New
postgresWaitForNotify()addsLISTEN/NOTIFYsupport (#237, @lentinj).
Bug fixes
Inf,-InfandNaNvalues are returned correctly on Windows (#267).DATETIMEvalues (=without time zone) andDATETIMETZvalues (=with time zone) are returned correctly (#190, #205, #229), also if they start before 1970 (#221).
Internal
configureuses a shell script and no longer forwards tosrc/configure.bash(#265).- Switch to GitHub Actions (#268, thanks @ankane).
- Now imports the lubridate package.
- R
Published by krlmlr over 5 years ago
RPostgres - RPostgres 1.2.1
- Gains new
Redshiftdriver for connecting to Redshift databases. Redshift databases behave almost identically to Postgres so this driver allows downstream packages to distinguish between the two (#258). - Datetime values are now passed to the database using an unambiguous time zone format (#255, @imlijunda).
- Document
Postgres()together withdbConnect()(#242). - Windows: update libpq to 12.2.0.
- R
Published by krlmlr over 5 years ago
RPostgres - RPostgres 1.2.0
Communication with the database
- Breaking: Translate floating-point values to
DOUBLE PRECISIONby default (#194). - Avoid aggressive rounding when passing numeric values to the database (#184).
- Avoid adding extra spaces for numerics (#216).
- Column names and error messages are UTF-8 encoded (#172).
dbWriteTable(copy = FALSE),sqlData()anddbAppendTable()now work for character columns (#209), which are always converted to UTF-8.
New features
- Add
timezoneargument todbConnect()(#187, @trafficonese). - Implement
dbGetInfo()for the driver and the connection object. dbConnect()gainscheck_interruptsargument that allows interrupting execution safely while waiting for query results to be ready (#193, @zozlak).dbUnquoteIdentifier()also handles unquoted identifiers of the formtableorschema.table, for compatibility with dbplyr. In addition, acatalogcomponent is supported for quoting and unquoting withId().dbQuoteLiteral()available for"character"(#209).- Windows: update libpq to 11.1.0.
- Fulfill CII badge requirements (#227, @TSchiefer).
Bug fixes
- Hide unused symbols in shared library (#230, @troels).
- Fix partial argument matching in
dbAppendTable()(r-dbi/DBI#249). - Fix binding for whole numbers and
POSIXttimestamps (#191).
Internal
sqlData(copy = FALSE)now usesdbQuoteLiteral()(#209).- Add tests for
dbUnquoteIdentifier()(#220, @baileych). - Improved tests for numerical precision (#203, @harvey131).
- Fix test: change from
REALtoDOUBLE PRECISION(#204, @harvey131). - Implement
dbAppendTable()for own connection class, don't hijack base class implementation (r-dbi/RMariaDB#119). - Avoid including the call in errors.
- Align
DbResultand other classes with RSQLite and RMariaDB.
- R
Published by krlmlr over 6 years ago
RPostgres - RPostgres 1.1.3
- Replace
std::mem_fn()byboost::mem_fn()which works for older compilers.
- R
Published by krlmlr over 6 years ago
RPostgres - RPostgres 1.1.2
- Replace
std::mem_fun_ref()bystd::mem_fn().
- R
Published by krlmlr over 6 years ago
RPostgres - RPostgres 1.1.1
- Add support for
bigintargument todbConnect(), 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
temporaryandfail_if_missing(default:TRUE) todbRemoveTable()(r-dbi/DBI#141, r-dbi/DBI#197). - Using
dbCreateTable()anddbAppendTable()internally (r-dbi/DBI#74). - The
field.typesargument todbWriteTable()now must be named. - Using
current_schemas(true)also indbListObjects()anddbListTables(), for consistency withdbListFields(). Objects from thepg_catalogschema are still excluded. dbListFields()doesn't list fields from tables found in thepg_catalogschema.- The
dbListFields()method now works correctly if thenameargument is a quoted identifier or of classId, and throws an error if the table is not found (r-dbi/DBI#75). - Implement
format()method forSqliteConnection(r-dbi/DBI#163). - Reexporting
Id(),DBI::dbIsReadOnly()andDBI::dbCanConnect(). - Now imports DBI 1.0.0.
- R
Published by krlmlr almost 8 years ago
RPostgres - RPostgres 1.1.0
- Breaking change:
dbGetException()is no longer reexported from DBI. - Make "typname" information available after
dbFetch()anddbGetQuery(). Values of unknown type are returned as character vector of class"pq_xxx", where"xxx"is the "typname" returned from PostgreSQL. In particular,JSONandJSONBvalues now have class"pq_json"and"pq_jsonb", respectively. The return value ofdbColumnInfo()gains new columns".oid"(integer),". known"(logical) and".typname"(character)(#114, @etiennebr). - Values of class
"integer64"are now supported fordbWriteTable()anddbBind()(#178). - Schema support, as specified by DBI:
dbListObjects(),dbUnquoteIdentifier()andId(). - Names in the
xargument todbQuoteIdentifier()are preserved in the output (r-lib/DBI#173). - All generics defined in DBI (e.g.,
dbGetQuery()) are now exported, even if the package doesn't provide a custom implementation (#168). - Replace non-portable
timegm()with private implementation. - Correct reference to RPostgreSQL package (#165, @ClaytonJY).
- R
Published by krlmlr about 8 years ago
RPostgres - RPostgres 1.0-4
- Only call
PQcancel()if the query hasn't completed, fixes transactions on Amazon RedShift (#159, @mmuurr). - Fix installation on MacOS.
- Check libpq version in configure script (need at least 9.0).
- Fix UBSAN warning: reference binding to null pointer (#156).
- Fix rchk warning: PROTECT internal temporary SEXP objects (#157).
- Fix severe memory leak when fetching results (#154).
- R
Published by krlmlr over 8 years ago
RPostgres - RPostgres 1.0-3
Initial release, compliant to the DBI specification.
- Test almost all test cases of the DBI specification.
- Fully support parametrized queries.
- Spec-compliant transactions.
- 64-bit integers are now supported through the 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.
- Correct handling of DATETIME and TIME columns.
- New default row.names = FALSE.
- R
Published by krlmlr over 8 years ago