paleolimbot commented on issue #855:
URL: https://github.com/apache/arrow-adbc/issues/855#issuecomment-2237793347

   From the issue I opened before I knew about this one:
   
   This isn't critical for many applications but is annoying because it means 
that the ADBC driver can't be a drop-in replacement for an existing driver. 
Parameterized queries are a part of many existing workflows (although doesn't 
typically affect SQL generation tools like ibis or dbplyr, which do the 
preparation/inlining of parameters themselves). I have one anecdotal story of 
somebody who took a look at ADBC and ran across this error immediately and 
stopped investigating as well.
   
   ``` r
   library(adbcdrivermanager)
   #> Warning: package 'adbcdrivermanager' was built under R version 4.3.3
   
   con <- adbc_database_init(
     adbcpostgresql::adbcpostgresql(), 
     uri = 
"postgresql://localhost:5432/postgres?user=postgres&password=password"
   ) |> 
     adbc_connection_init()
   
   # Paramterized queries work for things like insert
   write_adbc(data.frame(x = 1:5), con, "integers")
   execute_adbc(con, "INSERT INTO integers VALUES ($1);", bind = 
data.frame(6:10))
   read_adbc(con, "SELECT * from integers") |> 
     tibble::as_tibble()
   #> # A tibble: 10 × 1
   #>        x
   #>    <int>
   #>  1     1
   #>  2     2
   #>  3     3
   #>  4     4
   #>  5     5
   #>  6     6
   #>  7     7
   #>  8     8
   #>  9     9
   #> 10    10
   
   # Parameterized queries don't work for selects
   read_adbc(con, "SELECT * from integers where x > $1", bind = data.frame(5L))
   #> Error in adbc_statement_execute_query(stmt, stream, stream_join_parent = 
TRUE): NOT_IMPLEMENTED: [libpq] Prepared statements returning result sets are 
not implemented
   ```
   
   This unfortunately may require a separate set of infrastructure from the 
COPY reader and might not be able to support all types as well; however, it is 
probably not hard to support some basic set of types once the infrastructure is 
in place.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to