backend_dbplyr: Database and SQL generics.

Description Usage Arguments Details Value

Description

The sql_ generics are used to build the different types of SQL queries. The default implementations in dbplyr generates ANSI 92 compliant SQL. The db_ generics execute actions on the database. The default implementations in dbplyr typically just call the standard DBI S4 method.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
db_desc(x)

sql_translate_env(con)

db_list_tables(con)

db_has_table(con, table)

db_data_type(con, fields)

db_save_query(con, sql, name, temporary = TRUE, ...)

db_begin(con, ...)

db_commit(con, ...)

db_rollback(con, ...)

db_write_table(con, table, types, values, temporary = FALSE, ...)

db_create_table(con, table, types, temporary = FALSE, ...)

db_insert_into(con, table, values, ...)

db_create_indexes(con, table, indexes = NULL, unique = FALSE, ...)

db_create_index(con, table, columns, name = NULL, unique = FALSE, ...)

db_drop_table(con, table, force = FALSE, ...)

db_analyze(con, table, ...)

db_explain(con, sql, ...)

db_query_fields(con, sql, ...)

db_query_rows(con, sql, ...)

sql_select(
  con,
  select,
  from,
  where = NULL,
  group_by = NULL,
  having = NULL,
  order_by = NULL,
  limit = NULL,
  distinct = FALSE,
  ...
)

sql_subquery(con, from, name = random_table_name(), ...)

sql_join(con, x, y, vars, type = "inner", by = NULL, ...)

sql_semi_join(con, x, y, anti = FALSE, by = NULL, ...)

sql_set_op(con, x, y, method)

sql_escape_string(con, x)

sql_escape_ident(con, x)

Arguments

con

A database connection.

table

A string, the table name.

fields

A list of fields, as in a data frame.

Details

A few backend methods do not call the standard DBI S4 methods including

Currently, copy_to() is the only user of db_begin(), db_commit(), db_rollback(), db_write_table(), db_create_indexes(), db_drop_table() and db_analyze(). If you find yourself overriding many of these functions it may suggest that you should just override copy_to() instead.

db_create_table() and db_insert_into() have been deprecated in favour of db_write_table().

Value

Usually a logical value indicating success. Most failures should generate an error. However, db_has_table() should return NA if temporary tables cannot be listed with DBI::dbListTables() (due to backend API limitations for example). As a result, you methods will rely on the backend to throw an error if a table exists when it shouldn't.


dplyr documentation built on June 19, 2021, 1:07 a.m.