You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added format and as.data.frame methods for functional_dependency, relation_schema, database_schema, relation, and database. This allows them to be columns in a data frame at initial construction. I'm not sure why you'd want to put them a a data frame column, but it's consistent with the idea that the objects from these classes should mostly be treatable as vectors. Be warned: they don't currently work in tibbles.
Added an as.character method for functional_dependency. The optional align_arrows argument can add padding to one side, in order to make the arrows align when they're printed to different lines. These options are used to align arrows in its print method, and its format method for when printed as a data frame column.
Added == and != implementations for functional_dependency. These ignore differences in attrs_order: differently-ordered determinant sets are considered equal.
Added a rename_attrs method for functional_dependency.
Added a dependants argument to discover, which limit the functional dependency search to those with a dependant in the given set of column names, defaulting to all of them. This should significantly speed up searches where only some dependants are of interest.
Added a detset_limit argument for discover/autodb, which limits the FD search to only look for dependencies with the determinant set size under a given limit. For DFD, this usually doesn't significantly reduce the search time, but it won't make it worse. It will be useful once other search algorithms are implemented.
Added an all argument to insert, FALSE by default. If TRUE, then insert returns an error if the data to insert doesn't include all attribute for the elements being inserted into, rather than skipping those elements. This helps to prevent accidental no-ops.
Running discover() or autodb() with progress = TRUE now keeps the output display up to date when using a console-based version of R.
DFD now checks for single-attribute keys, and excludes them as determinants in the main search, potentially reducing the search time.
Fixes
Fixed gv to account for Graphviz HTML-like labels requiring certain characters, namely the set "<>&, to be escaped in Graphviz HTML-like labels, and removed completely in attribute values.
Fixed df_equiv to properly handle data frames with zero columns or duplicate rows.
Fixed database_schema and database, and reference re-assignments, to allow references to be given with the referee's key not in attribute order.