Note: non-SQL nodes are allowed to delete/overwrite both both the incoming and outgoing tables, so do not point them to non-temporary structures. Also they tend to land all columns (losing narrowing optimization), so can be expensive and should be used sparingly. Finally their result can only be used once in a pipeline (else they will try to clobber their own result).
non_sql_node(
source,
...,
f_db = NULL,
f_df = NULL,
f_dt = NULL,
incoming_table_name,
incoming_qualifiers = NULL,
outgoing_table_name,
outgoing_qualifiers = NULL,
columns_produced,
display_form = "non_sql_node",
orig_columns = TRUE,
temporary = TRUE,
check_result_details = TRUE,
env = parent.frame()
)
non-sql node.
source to work from (data.frame or relop node)
force later arguments to bind by name
database implementation signature: f_db(db, incoming_table_name, outgoing_table_name, nd, ...) (db being a database handle)
data.frame implementation signature: f_df(data.frame, nd) (NULL defaults to taking from database).
data.table implementation signature: f_dt(data.table, nd) (NULL defaults f_df).
character, name of incoming table
optional named ordered vector of strings carrying additional db hierarchy terms, such as schema.
character, name of produced table
optional named ordered vector of strings carrying additional db hierarchy terms, such as schema.
character, names of additional columns produced
character, how to print node
logical if TRUE select all original columns.
logical, if TRUE mark tables temporary.
logical, if TRUE enforce result type and columns.
environment to look to.
rsummary_node
, quantile_node