tests/testthat/_snaps/backend-.md

can translate subsetting

Code
  test_translate_sql(a[[x]])
Condition
  Error in `a[[x]]`:
  ! Can only index with strings and numbers
Code
  test_translate_sql(a[[TRUE]])
Condition
  Error in `a[[TRUE]]`:
  ! Can only index with strings and numbers

$ doesn't evaluate second argument

Code
  lazy_frame(x = 1, y = 1) %>% filter(x == y$id)
Output
  <SQL>
  SELECT `df`.*
  FROM `df`
  WHERE (`x` = `y`.`id`)
Code
  lazy_frame(x = 1) %>% filter(x == y$id)
Output
  <SQL>
  SELECT `df`.*
  FROM `df`
  WHERE (`x` = 1.0)

useful error if $ used with inlined value

Code
  lazy_frame(x = 1) %>% filter(x == y$id)
Condition
  Error in `x$id`:
  ! $ operator is invalid for atomic vectors

can translate case insensitive like

Code
  test_translate_sql(str_like(x, "abc", ignore_case = FALSE))
Condition
  Error in `str_like()`:
  ! Backend only supports case insensitve `str_like()`.

default raw escapes translated correctly

Code
  mf %>% filter(x == a)
Output
  <SQL>
  SELECT `df`.*
  FROM `df`
  WHERE (`x` = X'616263')
Code
  mf %>% filter(x %in% L)
Output
  <SQL>
  SELECT `df`.*
  FROM `df`
  WHERE (`x` IN (X'616263', X'0102'))
Code
  qry
Output
  <SQL>
  SELECT `df`.*
  FROM `df`
  WHERE (`x` IN (X'616263', X'0102'))

DDL operations generate expected SQL

Code
  sql_table_analyze(con, in_schema("schema", "tbl"))
Output
  <SQL> ANALYZE `schema`.`tbl`
Code
  sql_query_explain(con, sql("SELECT * FROM foo"))
Output
  <SQL> EXPLAIN SELECT * FROM foo
Code
  sql_query_wrap(con, ident("table"))
Output
  <table_path> `table`
Code
  sql_query_wrap(con, in_schema("schema", "tbl"))
Output
  <table_path> `schema`.`tbl`
Code
  sql_query_wrap(con, sql("SELECT * FROM foo"))
Output
  <SQL> (SELECT * FROM foo) AS `q01`
Code
  sql_table_index(con, in_schema("schema", "tbl"), c("a", "b"))
Output
  <SQL> CREATE INDEX `tbl_a_b` ON `schema`.`tbl` (`a`, `b`)
Code
  sql_table_index(con, in_schema("schema", "tbl"), "c", unique = TRUE)
Output
  <SQL> CREATE UNIQUE INDEX `tbl_c` ON `schema`.`tbl` (`c`)
Code
  sql_query_save(con, sql("SELECT * FROM foo"), in_schema("temp", "tbl"))
Output
  <SQL> CREATE TEMPORARY TABLE 
  `temp`.`tbl` AS
  SELECT * FROM foo


hadley/dbplyr documentation built on May 4, 2024, 2:10 a.m.