Skip to content

feat!: remove go bigquery driver and Python, R packages#4273

Merged
amoeba merged 4 commits intoapache:mainfrom
amoeba:chore/migrate-go-bigquery
Apr 28, 2026
Merged

feat!: remove go bigquery driver and Python, R packages#4273
amoeba merged 4 commits intoapache:mainfrom
amoeba:chore/migrate-go-bigquery

Conversation

@amoeba
Copy link
Copy Markdown
Member

@amoeba amoeba commented Apr 27, 2026

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

@amoeba
Copy link
Copy Markdown
Member Author

amoeba commented Apr 27, 2026

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.

@amoeba
Copy link
Copy Markdown
Member Author

amoeba commented Apr 27, 2026

Also filed #4276 for the docker tests.

Copy link
Copy Markdown
Member

@paleolimbot paleolimbot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Comment on lines -92 to -122
# 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"
)
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@lidavidm
Copy link
Copy Markdown
Member

@amoeba this needs to be rebased now after merging the other PR

@amoeba amoeba force-pushed the chore/migrate-go-bigquery branch from 960ef54 to 0a0eb0f Compare April 28, 2026 00:25
@amoeba
Copy link
Copy Markdown
Member Author

amoeba commented Apr 28, 2026

Rebased. I ran go mod tidy and it pulled a few indirect deps out: 0a0eb0f.

@amoeba amoeba merged commit 1faf9ab into apache:main Apr 28, 2026
171 of 175 checks passed
@eitsupi
Copy link
Copy Markdown
Contributor

eitsupi commented Apr 28, 2026

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.
r-multiverse/help#174

@amoeba
Copy link
Copy Markdown
Member Author

amoeba commented Apr 28, 2026

Thanks @eitsupi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants