Releases: cynkra/dm
dm 1.0.10
dm 1.0.9
dm 1.0.8
dm 1.0.8
Bug fixes
copy_dm_to()
creates string columns of necessary lengths for MariaDB and SQL Server. This worked before for SQL Server in dm 1.0.5, now also works on MariaDB (#311, #2066, #2082).
Features
-
Explicitly fail on
compute(temporary = TRUE)
, which never worked correctly (#2059, #2103). -
Warn about DuckDB not supporting autoincrementing primary keys (#2099).
Chore
- Make
check_suggested()
a standalone (#2054).
Documentation
-
Tweak vignette for
compute(temporary = TRUE)
. -
Update documentation of
check_suggested()
(@olivroy, #2055).
Performance
- Speed up
dm()
,new_dm()
,as_dm()
anddm_validate()
.dm()
andas_dm()
no longer calldm_validate()
(#2108).
Testing
dm 1.0.7
Features
-
copy_dm_to()
now warns unconditionally on unsupported arguments, and fails ifcopy_to
is provided (#1944). Use the newdm_sql()
function as a replacement forcopy_dm_to(copy_to = )
(#1915, #2011, @jangorecki). -
New
json_unnest()
andjson_unpack()
, currently implemented for data frames only (#991, #997). -
dm_rows_append()
also works for local dm, with support for autoincrement primary keys (#1727, #1745). -
Breaking change: Add
check_dots_empty()
calls (#1929, #1943). -
Test MySQL on GHA (#1940).
-
Improve MySQL compatibility regarding learning of database schemas and checking of constraints (#1938).
Breaking changes
Bug fixes
-
Compatibility with duckdb 0.9.1.
-
Minor fixes in
dm_pack_tbl()
anddm_unwrap_tbl()
(#1947).
Documentation
-
Use
rlang::check_installed()
internally to install missing suggested packages on the fly (@olivroy, #1348, #2036, #2039, #2040). -
Use vectorized
rlang::is_installed()
to decide if examples should be run (@olivroy, #2043). -
Recategorize and describe function reference.
-
Better error and information messages when querying keys.
-
collect.zoomed_dm()
shows a more helpful error message (#1929, #1945). -
Add information on default font size to
?dm_draw
(#1935). -
Add
db-*
rules to Makefile to simplify Docker-based database setup.
Performance
Testing
-
Remove most skips from tests (#2052).
-
Add explicit unique key to
dm_for_filter()
. -
Add Postgres test for
dm_sql()
. -
Switch internal testing to MariaDB.
-
Fast offline checks with new
"DM_OFFLINE"
environment variable. -
New GHA checks for the case of missing suggested packages (#1952).
Chore
-
Make
check_suggested()
a standalone (#2054). -
Backport changes from attempted CRAN release (#2046).
-
Move magrittr (#1975, #1983), DBI (#1974), and pillar (#1976) to
"Suggests"
. -
Require RMariaDB 1.3.0, work around tidyverse/dbplyr#1190 and tidyverse/dbplyr#1195 (#1989).
Internal
dm 1.0.5
dm 1.0.4
Features
-
dm_add_pk()
gainsautoincrement
argument (#1689), autoincrement primary keys are configured on the database withcopy_dm_to()
(#1696). -
New
dm_add_uk()
,dm_rm_uk()
anddm_get_all_uks()
functions for explicit support of unique keys (#622, #1716). -
dm_get_all_pks()
anddm_get_all_fks()
return output in the order oftable
orparent_table
argument (#1707). -
Improve error message for
dm_add_pk()
when thecolumns
argument is missing (#1644, #1646).
Breaking changes
dm_get_all_pks()
,dm_get_all_fks()
, anddm_get_all_uks()
require unquoted table names as input, for consistency with other parts of the API (#1741).
Bug fixes
dm_examine_constraints()
works fordm
objects on the database with compound keys (#1713).
Documentation
-
Update pkgdown URL to https://dm.cynkra.com/ (#1652).
-
Fix link rot (#1671).
Internal
-
Require dplyr >= 1.1.0 and lifecycle >= 1.0.3 (#1771, #1637).
-
Checks pass if all suggested packages are missing (#1659).
-
Fix r-devel builds (#1776).
-
dm_unpack_tbl()
sets PK before FK (#1715). -
Clean up
dm_rows_append()
implementation (#1714). -
dm()
accepts tables that are of class"tbl_sql"
but not"tbl_dbi"
(#1695, #1710). -
Use correctly typed missing value for lists (@DavisVaughan, #1686).
dm 1.0.3
dm 1.0.2
Features
-
dm_from_con()
can use multiple schemata (@mgirlich, #1441, #1449). -
pack_join(keep = TRUE)
preserves order of packed columns (#1513, #1514). -
pack_join(keep = TRUE)
keeps keys ofy
in the resulting packed column (#1451, #1452). -
New
json_pack.tbl_lazy()
andjson_nest.tbl_lazy()
(#969, #975).
Bug fixes
Chore
dm 1.0.1
dm 1.0.0
Features
-
New
dm_gui()
for interactive editing ofdm
objects (#1076, #1319). -
dm_get_tables()
andpull_tbl()
gain a newkeyed = FALSE
argument. If set toTRUE
, table objects of class"dm_keyed_tbl"
are returned. These objects inherit from the underlying data structure (tibble or lazy table), keep track of primary and foreign keys, and can be used later on in a call todm()
to recreate a dm object with the keys (#1187). -
New
by_position
argument tocheck_subset()
,check_set_equality()
,check_cardinality_...()
andexamine_cardinality()
(#1253). -
dm()
accepts dm objects (#1226). -
dm_examine_constraints()
honors implicit unique keys defined by foreign keys (#1131, #1209).
Breaking changes
-
dm_filter()
is now stable, with a new API that avoids exposing an intermediate state with filters not yet applied, with a compatibility wrapper (#424, #426, #1236). -
check_cardinality_...()
,examine_cardinality()
,check_subset()
andcheck_set_equality()
are now stable and consistently use a common interface with arguments namedx
,y
,x_select
andy_select
, with compatibility wrappers (#1194, #1229). -
dm_examine_cardinalities()
anddm_examine_constraints()
are now stable with a new signature and a compatibility wrapper (#1193, #1195). -
dm_apply_filters()
,dm_apply_filters_to_tbl()
anddm_get_filters()
are deprecated (#424, #426, #1236). -
dm_disambiguate_cols()
adds table names as a suffix by default, and gains a.position
argument to restore the original behavior. Argumentssep
andquiet
are renamed to.sep
and.quiet
(#1293, #1327). -
dm_squash_to_tbl()
is deprecated in favor of the new.recursive
argument todm_flatten_to_tbl()
. Argumentsstart
andjoin
are renamed to.start
and.join
(#1272, #1324). -
dm_rm_tbl()
is deprecated in favor ofdm_select_tbl()
(#1275). -
dm_bind()
anddm_add_tbl()
are deprecated in favor ofdm()
(#1226). -
rows_truncate()
anddm_rows_truncate()
are deprecated, because they use DDL as opposed to all other verbs that use DML (#1031, #1321). -
All internal S3 classes now use the
"dm_"
prefix (#1285, #1339). -
Add ellipses to all generics (#1298).
API
-
Reexport
tibble()
(#1279). -
dm_ptype()
,dm_financial()
anddm_pixarfilms()
are stable now (#1254). -
Turn all "questioning" functions to "experimental" (#1030, #1237).
Performance
-
is_unique_key()
usesvctrs::vec_count()
on local data frames for speed (@eutwt, #1247). -
check_key()
usesvctrs::vec_duplicate_any()
on local data frames for speed (@eutwt, #1234).
Bug fixes
-
dm_draw()
works if a table name has a space (#1219). -
Don't print rule in
glimpse.dm()
for emptydm()
(#1208).
Documentation
-
Work around ANSI escape issues in CRAN rendering of vignette (#1156, #1330).
-
Fix column names in
?dm_get_all_pks
(#1245). -
Improve contrast for display of
dm_financial()
(#1073, #1250). -
Add contributing guide (#1222).