feat!: remove go bigquery driver and Python, R packages#4273
feat!: remove go bigquery driver and Python, R packages#4273amoeba merged 4 commits intoapache:mainfrom
Conversation
|
I filed #4275 for the Maven failure in the "Verification (Nightly)" job: https://github.com/apache/arrow-adbc/actions/runs/25006855596/job/73231969200?pr=4273. We could rebase this after that's merged. |
|
Also filed #4276 for the docker tests. |
| # Converts a bigrquery::bq_token() or garge::token_fetch() into the options | ||
| # required by the ADBC driver. | ||
| options_from_token <- function(tok) { | ||
| if (inherits(tok, "request")) { | ||
| tok <- tok$auth_token | ||
| } | ||
|
|
||
| if (!inherits(tok, "Token2.0")) { | ||
| stop( | ||
| sprintf( | ||
| "ADBC BigQuery database options from token failed (expected Token2.0, got %s)", | ||
| paste(class(tok), sep = " / ") | ||
| ) | ||
| ) | ||
| } | ||
|
|
||
| # Because adbcdrivermanager:::key_value_options() is not exposed, we create the | ||
| # options ourselves such that set_options() can automatically expand them. | ||
| structure( | ||
| c( | ||
| "adbc.bigquery.sql.auth_type" = "adbc.bigquery.sql.auth_type.user_authentication", | ||
| "adbc.bigquery.sql.auth.client_id" = tok$client$id, | ||
| "adbc.bigquery.sql.auth.client_secret" = tok$client$secret, | ||
| "adbc.bigquery.sql.auth.refresh_token" = tok$credentials$refresh_token | ||
| # Ideally we would also pass on tok$credentials$access_token; however, | ||
| # the underlying Go driver does not yet implement the ability to pass this | ||
| # information directly (i.e., it will always refresh on connect) | ||
| ), | ||
| class = "adbc_options" | ||
| ) | ||
| } |
There was a problem hiding this comment.
This doesn't have an analogue in a non-R package setup (although a very good chance nobody ever used it). I think since I wrote it the situation around application default credentials became much better.
There was a problem hiding this comment.
This looks really useful. Now I want to figure out how we can extend the driver manager to do things like this.
Thanks for pointing this out.
|
@amoeba this needs to be rebased now after merging the other PR |
960ef54 to
0a0eb0f
Compare
|
Rebased. I ran |
|
Related to this, R-multiverse currently automatically retrieves packages from the latest GitHub release, so I am currently checking whether we should freeze the reference tag or remove the package. |
|
Thanks @eitsupi |
Removes the Go BigQuery driver from the repo, including removing the Go driver source, all related testing and language-specific packaging (Python, R), and removing it from the documentation.
Active development of the Go BigQuery driver has moved to https://github.com/adbc-drivers/bigquery and, as posted on the Arrow dev mailing list and described in #4140 we can now remove the driver from this repo. The plan is to file follow-up PRs to better document the ecosystem, including how to use the new driver under the adbc-drivers org: #4233.
Ref #4140