The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Logger
now correctly writes to the “catalog” field
on backends that support it (#149).
get_schema()
now correctly returns the temporary
schema on PostgreSQL backends (#139).
get_tables()
now returns catalog on DuckDB backends
(#145).
Deprecated check_from
argument no longer used in
dbplyr
calls (#136).
get_tables()
(#145).Table identification is now more specific (#93).
Most SCDB functions allow for tables to be specified by a character representation of “[catalog].schema.table”.
Before, if no schema was implied in this context, SCDB would attempt to match the table among both permanent and temporary tables.
Now, it will always assume that a lack of schema means the default
schema should be used. This is also the case if DBI::Id()
is used without a schema specification.
The show_temporary
argument of
get_tables()
is now a simple logical (#93).
In addition, schema is always returned in the list of tables (no longer NA for default schema).
Tables created with create_table()
will now be
temporary or permanent dependent on the default value of
DBI::dbCreateTable()
(#93).
If you wish to overwrite this, use ...
arguments which
are passed to DBI::dbCreateTable()
.
The %notin%
operator has been removed from the
package (#96).
The db_table_id
argument in
create_table()
, get_table()
,
table_exists()
and id()
is renamed to
db_table
(#115). Any object coercible by id()
can now be passed to these functions.
The order of arguments in create_logs_if_missing()
has been swapped to match the rest of the package (#96). The
conn
argument is now before the log_table
argument.
The arguments of Logger
has been updated (#98):
db_tablestring
is replaced with the
db_table
argument.
This argument takes any input coercible by id()
instead
of only allowing a character string.
ts
is replaced with the timestamp
argument to align with update_snapshot()
.
The order of input arguments to Logger
is changed
(#98).
The interlace_sql()
function is deprecated in favor
of the S3 generic interlace()
(#113).
Added support for DuckDB (#121).
The S3 method as.character.Id()
is added which
converts DBI::Id()
to character
(#93).
A new id.data.frame()
which converts
data.frame
to DBI::Id()
(#108). Useful in
combination with get_tables(conn, pattern)
.
A new get_catalog()
function is added to give more
specific table identification (#99).
A new clean up function, defer_db_cleanup()
, is
added (#89).
By passing a tbl_sql
object to this function, the
corresponding table will be deleted once the parent function
exits.
A new function, unique_table_name()
, to generate
unique table names is added (#89). This function is heavily inspired by
the unexported dbplyr:::unique_table_name()
.
A logger is introduced LoggerNull
(#98):
Logger
facilitates logging to file/console and
logging to database.
LoggerNull
is “no-logging” logger that can be used
to suppress all logging.
Added a set of helper functions to prevent race conditions when writing to data bases (#104).
See lock_table()
and
unlock_table()
.
Improvements for create_table()
(#93):
now writes the table if a remote connection is given. Before, it would only create the table with corresponding columns.
can now create temporary tables for Microsoft SQL Server.
Improved checks on get_connection()
(#83):
If given, host
does not need to look like an IP
address (e.g. “localhost” is not unrealistic).
A character
input for port
is allowed
if it is a string of digits.
Now checks if timezone
and timezone_out
is an IANA time zone.
digest_to_checksum()
has improved performance on
Microsoft SQL Server by use of the built-in HashBytes
function (#97).
table_exists()
now correctly gives ambiguity warning
on Microsoft SQL Server and PostgreSQL backends (#80).
get_tables()
now supports temporary tables for
Microsoft SQL Server (#93).
get_schema()
has been updated (#107):
It will now always return a schema (either directly from the
object or inferred by id()
).
A temporary
argument is added to get the temporary
schemas from DBIConnections
.
id()
now includes information of catalog in more
cases (#99, #107).
Fixed dplyr joins failing if testthat
is not
installed (#90).
The footprint of update_snapshot()
is reduced by
cleaning up intermediate tables with defer_db_cleanup()
(#89)
update_snapshot()
now attempts to get a lock on the
table being updated before updating (#104).
Logger$log_info()
now uses message()
instead of cat()
to write to console (#98). The message
written is now also returned invisibly.
Added missing tests for create_logs_if_missing()
(#93).
Added missing tests for get_schema()
(#99).
Added missing tests for get_catalog()
(#107).
Improved tests for get_tables()
,
table_exists()
, and create_table()
(#93).
Improved tests for Logger
(#98).
Implementation of *_join
s improved, now extending
dplyr::*_join
s rather than masking them (#77).
Added S3 method for id.tbl_dbi()
, returning a
DBI::Id()
instance matching the table (#72).
id()
on a tbl_dbi
thus allows to
retrieve a schema
even when not initially given.Fixed update_snapshot()
not working with a
DBI::Id()
instance as db_table
argument
(#72).
Suppressed recurring messages from dbplyr >= 2.4.0 about table
names containing .
(#72).
Added show_temp
option to get_tables()
to allow retrieving temporary tables (#72).
SQLite connections now support schemata similar to other backends (#67).
The package logo has been slightly altered to have a readable clock (#49).
Added a vignette describing the concept of a slowly changing dimension using examples (#53).
Added a Logger$finalize
method, which removes the
log_file
in the database when not writing to a file
(#66).
update_snapshot()
now take a Logger
object through the logger
argument instead of
log_path
and log_table_id
arguments
(#24).
Logger\$log_filename
has been changed to
Logger\$log_basename
to reduce ambiguity.
Package functions are now also tested with
RPostgres::Postgres()
, which is therefore now
officially supported (#31).
get_connection()
shows a warning if an unsupported
backend is used (#26).
Increased flexibility for the Logger
object (#21
#24):
A Logger
instance may now be created with no
arguments.
Suppress console output with output_to_console
(TRUE
by default).
If no log_path
is set, Logger
does not
fail before trying to write to a file.
Logger\$log_realpath
gives the full path to log file
being written.
schema_exists
correctly detects a schema with no
tables (#30).
db_timestamps
now newer calls
translate_sql
with con = NULL
(#37).
Package description has been updated to not use a footnote on CRAN.
schema_exists
on an empty schema tests by creating a
new table, this may cause issues if the user does not have sufficient
privileges.Functions to handle database connections:
get_connection()
, close_connection()
,
id()
Functions to interface with database:
get_tables()
, table_exists()
,
get_schema()
, schema_exists()
Functions to create “historical” tables and logs:
create_table()
,
create_logs_if_missing()
Function to maintain “historical” tables:
update_snapshot()
Functions to interface with “historical” tables:
get_table()
, slice_time()
,
is.historical()
Functions to facilitate faster joins with NAs on SQL backends:
full_join()
, inner_join()
,
left_join()
, right_join()
Functions to manipulate tables on SQL backends:
filter_keys()
, unite.tbl_dbi()
,
interlace_sql()
A logging object to facilitate logging:
Logger()
Function to generate checksums:
digest_to_checksum()
Function to write timestamps to tables on SQL backends:
db_timestamp()
Helper functions:
nrow()
- database compliant
nrow()
%notin%
- negated %in%
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.