Hello.
An error started to occur in ‘dbplyr’ version 2.4.0.
I am trying to collect and make some calculations in SQLite database:
DB_CON <- dbConnect(drv = RSQLite::SQLite(), dbname = "BandsTS.db")
BANDS_tbl <- tbl(DB_CON, "bands_ts_tbl") %>%
mutate( ARVI2 = -0.18 + 1.17 * ((B08 - B04) / (B08 + B04)) ) %>%
compute()
Details
That code (and also show_query() instead of compute() ) throws an error:
```r
Error in `.transformer()`:
! `value` must be a string or scalar SQL, not the number -0.18.
Run `rlang::last_trace()` to see where the error occurred.
> rlang::last_trace()
Error in `.transformer()`:
! `value` must be a string or scalar SQL, not the number -0.18.
---
Backtrace:
▆
1. ├─dplyr::show_query(BANDS_tbl)
2. ├─dbplyr:::show_query.tbl_lazy(BANDS_tbl)
3. │ └─dbplyr::remote_query(x, cte = cte, sql_options = sql_options)
4. │ └─dbplyr::db_sql_render(remote_con(x), x, cte = cte, sql_options = sql_options)
5. │ ├─dbplyr::db_sql_render(con, sql, sql_options = sql_options)
6. │ └─dbplyr:::db_sql_render.DBIConnection(con, sql, sql_options = sql_options)
7. │ ├─dbplyr::sql_render(sql, con = con, ..., sql_options = sql_options)
8. │ └─dbplyr:::sql_render.tbl_lazy(sql, con = con, ..., sql_options = sql_options)
9. │ ├─dbplyr::sql_render(...)
10. │ └─dbplyr:::sql_render.lazy_query(...)
11. │ ├─dbplyr::sql_build(query, con = con, sql_options = sql_options)
12. │ └─dbplyr:::sql_build.lazy_select_query(query, con = con, sql_options = sql_options)
13. │ ├─dbplyr::sql_build(op$x, con, sql_options = sql_options)
14. │ └─dbplyr:::sql_build.lazy_select_query(op$x, con, sql_options = sql_options)
15. │ └─dbplyr:::get_select_sql(...)
16. │ └─dbplyr:::translate_select_sql(con, select)
17. │ └─dbplyr::translate_sql_(...)
18. │ └─base::lapply(...)
19. │ └─dbplyr (local) FUN(X[[i]], ...)
20. │ ├─dbplyr::escape(eval_tidy(x, mask), con = con)
21. │ └─rlang::eval_tidy(x, mask)
22. ├─-0.18 + 1.17 * ((B08 - B04)/(B08 + B04))
23. │ └─dbplyr:::escape_infix_expr(enexpr(x), x, escape_unary_minus = TRUE)
24. │ └─dbplyr:::glue_sql2(sql_current_con(), "({x})")
25. │ ├─dbplyr::sql(...)
26. │ │ └─dbplyr:::c_character(...)
27. │ └─glue::glue(...)
28. │ └─glue::glue_data(...)
29. └─glue (local) ``("x")
30. ├─.transformer(expr, env) %||% .null
31. └─dbplyr (local) .transformer(text = expr, envir = env)
```
Hello.
An error started to occur in ‘dbplyr’ version 2.4.0.
I am trying to collect and make some calculations in SQLite database:
Details
That code (and also show_query() instead of compute() ) throws an error: ```r Error in `.transformer()`: ! `value` must be a string or scalar SQL, not the number -0.18. Run `rlang::last_trace()` to see where the error occurred. > rlang::last_trace() Error in `.transformer()`: ! `value` must be a string or scalar SQL, not the number -0.18. --- Backtrace: ▆ 1. ├─dplyr::show_query(BANDS_tbl) 2. ├─dbplyr:::show_query.tbl_lazy(BANDS_tbl) 3. │ └─dbplyr::remote_query(x, cte = cte, sql_options = sql_options) 4. │ └─dbplyr::db_sql_render(remote_con(x), x, cte = cte, sql_options = sql_options) 5. │ ├─dbplyr::db_sql_render(con, sql, sql_options = sql_options) 6. │ └─dbplyr:::db_sql_render.DBIConnection(con, sql, sql_options = sql_options) 7. │ ├─dbplyr::sql_render(sql, con = con, ..., sql_options = sql_options) 8. │ └─dbplyr:::sql_render.tbl_lazy(sql, con = con, ..., sql_options = sql_options) 9. │ ├─dbplyr::sql_render(...) 10. │ └─dbplyr:::sql_render.lazy_query(...) 11. │ ├─dbplyr::sql_build(query, con = con, sql_options = sql_options) 12. │ └─dbplyr:::sql_build.lazy_select_query(query, con = con, sql_options = sql_options) 13. │ ├─dbplyr::sql_build(op$x, con, sql_options = sql_options) 14. │ └─dbplyr:::sql_build.lazy_select_query(op$x, con, sql_options = sql_options) 15. │ └─dbplyr:::get_select_sql(...) 16. │ └─dbplyr:::translate_select_sql(con, select) 17. │ └─dbplyr::translate_sql_(...) 18. │ └─base::lapply(...) 19. │ └─dbplyr (local) FUN(X[[i]], ...) 20. │ ├─dbplyr::escape(eval_tidy(x, mask), con = con) 21. │ └─rlang::eval_tidy(x, mask) 22. ├─-0.18 + 1.17 * ((B08 - B04)/(B08 + B04)) 23. │ └─dbplyr:::escape_infix_expr(enexpr(x), x, escape_unary_minus = TRUE) 24. │ └─dbplyr:::glue_sql2(sql_current_con(), "({x})") 25. │ ├─dbplyr::sql(...) 26. │ │ └─dbplyr:::c_character(...) 27. │ └─glue::glue(...) 28. │ └─glue::glue_data(...) 29. └─glue (local) ``("x") 30. ├─.transformer(expr, env) %||% .null 31. └─dbplyr (local) .transformer(text = expr, envir = env) ```