These generics are responsible for getting data into and out of the database. They should be used a last resort - only use them when you can't make a backend work by providing methods for DBI generics, or for dbplyr's SQL generation generics. They tend to be most needed when a backend has special handling of temporary tables.
db_copy_to()
implements copy_to.src_sql()
by calling
db_write_table()
(which calls DBI::dbWriteTable()
) to transfer the
data, then optionally adds indexes (via sql_table_index()
) and
analyses (via sql_table_analyze()
).
db_compute()
implements compute.tbl_sql()
by calling
sql_query_save()
to create the table, then optionally adds indexes
(via sql_table_index()
) and analyses (via sql_table_analyze()
).
db_collect()
implements collect.tbl_sql()
using DBI::dbSendQuery()
and DBI::dbFetch()
.
db_table_temporary()
is used for databases that have special naming
schemes for temporary tables (e.g. SQL server and SAP HANA require
temporary tables to start with #
)
db_copy_to(
con,
table,
values,
...,
overwrite = FALSE,
types = NULL,
temporary = TRUE,
unique_indexes = NULL,
indexes = NULL,
analyze = TRUE,
in_transaction = TRUE
)db_compute(
con,
table,
sql,
...,
overwrite = FALSE,
temporary = TRUE,
unique_indexes = list(),
indexes = list(),
analyze = TRUE,
in_transaction = TRUE
)
db_collect(con, sql, n = -1, warn_incomplete = TRUE, ...)
db_table_temporary(con, table, temporary, ...)
Other generic:
db-sql
,
db_connection_describe()
,
sql_escape_logical()