Run the data query as a CREATE TABLE AS . Think of as a function that can be applied to relop trees, not as a component to place in pipelines.
materialize(
db,
optree,
table_name = mk_tmp_name_source("rquery_mat")(),
...,
limit = NULL,
source_limit = NULL,
overwrite = TRUE,
temporary = FALSE,
qualifiers = NULL
)
database connecton (rquery_db_info class or DBI connections preferred).
relop operation tree.
character, name of table to create.
force later arguments to bind by name.
numeric if not NULL result limit (to use this, last statement must not have a limit).
numeric if not NULL limit sources to this many rows.
logical if TRUE drop an previous table.
logical if TRUE try to create a temporary table.
optional named ordered vector of strings carrying additional db hierarchy terms, such as schema.
table description
# NOT RUN {
if (requireNamespace("DBI", quietly = TRUE) && requireNamespace("RSQLite", quietly = TRUE)) {
my_db <- DBI::dbConnect(RSQLite::SQLite(), ":memory:")
d <- rq_copy_to(my_db, 'd',
data.frame(AUC = 0.6, R2 = 0.2),
temporary = TRUE, overwrite = TRUE)
optree <- extend_se(d, c("v" %:=% "AUC + R2", "x" %:=% "pmax(AUC,v)"))
cat(format(optree))
res <- materialize(my_db, optree, "example")
cat(format(res))
sql <- to_sql(res, my_db)
cat(sql)
print(DBI::dbGetQuery(my_db, sql))
DBI::dbDisconnect(my_db)
}
# }
Run the code above in your browser using DataLab