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() )
| source | source to work from (data.frame or relop node) |
|---|---|
| ... | force later arguments to bind by name |
| f_db | database implementation signature: f_db(db, incoming_table_name, outgoing_table_name, nd, ...) (db being a database handle) |
| f_df | data.frame implementation signature: f_df(data.frame, nd) (NULL defaults to taking from database). |
| f_dt | data.table implementation signature: f_dt(data.table, nd) (NULL defaults f_df). |
| incoming_table_name | character, name of incoming table |
| incoming_qualifiers | optional named ordered vector of strings carrying additional db hierarchy terms, such as schema. |
| outgoing_table_name | character, name of produced table |
| outgoing_qualifiers | optional named ordered vector of strings carrying additional db hierarchy terms, such as schema. |
| columns_produced | character, names of additional columns produced |
| display_form | character, how to print node |
| orig_columns | logical if TRUE select all original columns. |
| temporary | logical, if TRUE mark tables temporary. |
| check_result_details | logical, if TRUE enforce result type and columns. |
| env | environment to look to. |
non-sql node.