Fixed a critical bug introduced by the new code that cleans the window order remaining in database output. The problem is related to this issue Inability to remove window_order() leads to weird, unpredictable results.
bind_source() will bind correctly if every variable name argument is a single string (i.e., selecting variables with common names only).
Fixed a bug in pool_case() when every source had all the flags, the code that fills missing flag == 1 would trigger an error.
fetch_var() will accept database input, but it will not prevent one-to-many joins because the checking could be slow on remote database.
All functions that accept database input now will NOT sort the output to avoid generating the ‘ORDER BY’ clause which may trigger a warning if the output was chained with subsequent operations.
restrict_date() will not check missing date unless the new
check_missing
argument was set to TRUE. The checking time
may be not negligible for large database; the user should opt in for
it.
The apart
argument in restrict_date() is now
functional for both data.frame and database input.
restrict_date() will give warning if there are missing entries in
date_var
. The description of dup.rm
has been
re-written to clarify it is applicable only when apart
is
absent.
pool_case() now outputs both the number of raw (raw_in_src) and valid (valid_in_src) entries in each source.
List element of execute_def() output is named by definition and source labels.
Most of the verbose message, except data summaries, will be sent
as message instead of text output, so that they can be suppressed via
message = FALSE
in Rmarkdown.
detail
and dup.rm
are both TRUE. if_date() now
does not assume the dates are sorted and returns elements in the
original unsorted order.