[ 
https://issues.apache.org/jira/browse/ARROW-16701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17544618#comment-17544618
 ] 

Jonathan Keane commented on ARROW-16701:
----------------------------------------

Yes, sorry that conflation was unintentional. We can do this today with duckdb, 
so we should try that — but in principle we should be able to use it with any 
backend that accepts sql + could speak arrow

> [R] Can we execute SQL in a dplyr pipeline?
> -------------------------------------------
>
>                 Key: ARROW-16701
>                 URL: https://issues.apache.org/jira/browse/ARROW-16701
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: R
>            Reporter: Jonathan Keane
>            Priority: Major
>
> Now that we have {{to_duckdb()}} and {{to_arrow()}} is it possible to wrap 
> those and allow someone to insert arbitrary SQL into a dplyr query?
> Something like:
> {code:r}
> sql <- function(data, sql) {
>    tbl <- to_duckdb(data)
>    res <- DBI::dbSendQuery(dbplyr::remote_con(.data), sql, arrow = TRUE)
>   duckdb::duckdb_fetch_record_batch(res)
> }
> ds %>%
>   filter(year > 2020) %>% 
>   sql("SELECT tip_amount, fare_amount, total_amount FROM ") %>%
>   compute()
> {code}
> This won't work totally, but is vaguely what we're looking for.
> One part that we need to think about is how to deal with the {{from}} clause, 
> a few possibilities:
> * ibis does this by making you "name" the table before doing sql so you can 
> FROM explicitly
> * though maybe you could get away with FROM . like it is a magrittr thing and 
> sub that
> * empty string, and we add it in based on the lazy_tbl object
> Possibly related prior art: 
> https://dbplyr.tidyverse.org/reference/build_sql.html (though the name isn't 
> perfect IMO, and I think this is more geared towards package developers than 
> end users?)



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to