Skip to content

dbplyr 1.3.0

Compare
Choose a tag to compare
@hadley hadley released this 09 Jan 14:00
  • 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 to tbl_sql() has been formally deprecated; it hasn't
    actually done anything for a while (#3254).

  • src and tbl 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 to FALSE if y is empty (@mgirlich, #160).

  • New as.integer64(x) translation to CAST(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 generates AVG() not MEAN() (#157)

  • str_detect() now uses correct parameter order (#3397)

  • MS SQL

    • Cumulative summary functions now work (#157)
    • ifelse() uses CASE WHEN instead of IIF; this allows more complex
      operations, such as %in%, to work properly (#93)
  • Oracle

    • Custom db_drop_table() now only drops tables if they exist (#3306)
    • Custom setdiff() translation (#3493)
    • Custom db_explain() translation (#3471)
  • SQLite

  • Redshift

    • substr() translation improved (#3339)

Minor improvements and bug fixes

  • copy_to() will only remove existing table when overwrite = 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 the con argument (@kevinykuo, #73).