-
Notifications
You must be signed in to change notification settings - Fork 186
Closed
Labels
Milestone
Description
Reassigning this from tidyverse/dbplyr#1360
When I use tbl(con, sql("string query"))
on BigQuery, I want a remote tibble, but I get a curl
error. Low level options work, and after testing parentheses and backticks, I don't think formatting string query
is the issue. Reprex below.
Here's my curl version:
matt$ curl --version
curl 7.87.0 (x86_64-apple-darwin22.0) libcurl/7.87.0 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.51.0
Release-Date: 2022-12-21
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM NTLM_WB SPNEGO SSL threadsafe UnixSockets
Reprex
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
library(dbplyr)
#>
#> Attaching package: 'dbplyr'
#> The following objects are masked from 'package:dplyr':
#>
#> ident, sql
library(DBI)
con <- DBI::dbConnect(
bigrquery::bigquery(),
project = "bigquery-public-data",
dataset = "stackoverflow",
billing = Sys.getenv("BIGQUERY_BILLING_PROJECT")
)
# works
tbl(con, "tags")
#> Warning: <BigQueryConnection> uses an old dbplyr interface
#> ℹ Please install a newer version of the package or contact the maintainer
#> This warning is displayed once every 8 hours.
#> ! Using an auto-discovered, cached token.
#> To suppress this message, modify your code or options to clearly consent to
#> the use of a cached token.
#> See gargle's "Non-interactive auth" vignette for more details:
#> <https://gargle.r-lib.org/articles/non-interactive-auth.html>
#> ℹ The bigrquery package is using a cached token for '[email protected]'.
#> Auto-refreshing stale OAuth token.
#> # Source: table<tags> [?? x 5]
#> # Database: BigQueryConnection
#> id tag_name count excerpt_post_id wiki_post_id
#> <int> <chr> <int> <int> <int>
#> 1 149358 announcement 0 69362460 69362459
#> 2 2136 regsvr32 256 10051236 10051235
#> 3 8287 rpg 256 7080550 7080549
#> 4 9136 dbexpress 256 7663373 7663372
#> 5 9213 multiple-domains 256 22931444 22931443
#> 6 11107 menustrip 256 47237574 47237573
#> 7 15213 fileserver 256 9275976 9275975
#> 8 25272 bad-alloc 256 14261589 14261588
#> 9 34059 pitch 256 37258061 37258060
#> 10 37612 winrar 256 13178390 13178389
#> # ℹ more rows
# works
DBI::dbGetQuery(con, sql("SELECT * FROM tags"), n = 10)
#> # A tibble: 10 × 5
#> id tag_name count excerpt_post_id wiki_post_id
#> <int> <chr> <int> <int> <int>
#> 1 149358 announcement 0 69362460 69362459
#> 2 2136 regsvr32 256 10051236 10051235
#> 3 8287 rpg 256 7080550 7080549
#> 4 9136 dbexpress 256 7663373 7663372
#> 5 9213 multiple-domains 256 22931444 22931443
#> 6 11107 menustrip 256 47237574 47237573
#> 7 15213 fileserver 256 9275976 9275975
#> 8 25272 bad-alloc 256 14261589 14261588
#> 9 34059 pitch 256 37258061 37258060
#> 10 37612 winrar 256 13178390 13178389
DBI::dbSendQuery(con, sql("SELECT * FROM tags"), n = 10)
#> <BigQueryResult>
#> Query: SELECT * FROM tags
#> Has completed: FALSE
#> Rows fetched: 0
# does not work
tbl(con, sql("SELECT * FROM tags"))
#> Error in curl::curl_fetch_memory(url, handle = handle): URL using bad/illegal format or missing URL
Created on 2023-09-10 with reprex v2.0.2
Session info
sessionInfo()
#> R version 4.3.1 (2023-06-16)
#> Platform: aarch64-apple-darwin20 (64-bit)
#> Running under: macOS Ventura 13.3.1
#>
#> Matrix products: default
#> BLAS: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRblas.0.dylib
#> LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib; LAPACK version 3.11.0
#>
#> locale:
#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#>
#> time zone: America/New_York
#> tzcode source: internal
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] DBI_1.1.3 dbplyr_2.3.3 dplyr_1.1.3
#>
#> loaded via a namespace (and not attached):
#> [1] bit_4.0.5 jsonlite_1.8.7 compiler_4.3.1 brio_1.1.3
#> [5] tidyselect_1.2.0 reprex_2.0.2 Rcpp_1.0.11 assertthat_0.2.1
#> [9] yaml_2.3.7 fastmap_1.1.1 bigrquery_1.4.2 R6_2.5.1
#> [13] generics_0.1.3 curl_5.0.2 knitr_1.43 tibble_3.2.1
#> [17] openssl_2.1.0 pillar_1.9.0 rlang_1.1.1 utf8_1.2.3
#> [21] xfun_0.40 fs_1.6.3 bit64_4.0.5 cli_3.6.1
#> [25] withr_2.5.0 magrittr_2.0.3 digest_0.6.33 rstudioapi_0.15.0
#> [29] rappdirs_0.3.3 askpass_1.2.0 lifecycle_1.0.3 vctrs_0.6.3
#> [33] evaluate_0.21 gargle_1.5.2 glue_1.6.2 fansi_1.0.4
#> [37] rmarkdown_2.24 httr_1.4.7 tools_4.3.1 pkgconfig_2.0.3
#> [41] htmltools_0.5.6
talegari