dbplyr 1.3.0
- Now support for dplyr 0.8.0 (#190) and R 3.1.0
API changes
-
Calls of the form
dplyr::foo()
are now evaluated in the database,
rather than locally (#197). -
vars
argument totbl_sql()
has been formally deprecated; it hasn't
actually done anything for a while (#3254). -
src
andtbl
objects now include a class generated from the class of
the underlying connection object. This makes it possible for dplyr backends
to implement different behaviour at the dplyr level, when needed. (#2293)
SQL translation
-
x %in% y
is now translated toFALSE
ify
is empty (@mgirlich, #160). -
New
as.integer64(x)
translation toCAST(x AS BIGINT)
(#3305) -
case_when
now translates with a ELSE clause if a formula of the form
TRUE~<RHS>
is provided . (@cderv, #112) -
cummean()
now generatesAVG()
notMEAN()
(#157) -
str_detect()
now uses correct parameter order (#3397) -
MS SQL
-
Oracle
- Custom
db_drop_table()
now only drops tables if they exist (#3306) - Custom
setdiff()
translation (#3493) - Custom
db_explain()
translation (#3471)
- Custom
-
SQLite
- Correct translation for
as.numeric()
/as.double()
(@chris-park, #171).
- Correct translation for
-
Redshift
substr()
translation improved (#3339)
Minor improvements and bug fixes
-
copy_to()
will only remove existing table whenoverwrite = TRUE
and the
table already exists, eliminating a confusing "NOTICE" from PostgreSQL
(#3197). -
partial_eval()
handles unevaluated formulas (#184). -
pull.tbl_sql()
now extracts correctly from grouped tables (#3562). -
sql_render.op()
now correctly forwards thecon
argument (@kevinykuo, #73).