Skip to content

Partitioned ingest API#4317

Draft
tokoko wants to merge 151 commits into
apache:spec-1.2.0from
tokoko:partitioned-ingest
Draft

Partitioned ingest API#4317
tokoko wants to merge 151 commits into
apache:spec-1.2.0from
tokoko:partitioned-ingest

Conversation

@tokoko
Copy link
Copy Markdown
Contributor

@tokoko tokoko commented May 17, 2026

demo PR for a new partitioned ingest API.

@lidavidm lidavidm added this to the ADBC API Specification 1.2.0 milestone May 20, 2026
@lidavidm
Copy link
Copy Markdown
Member

Do you want to target this against the spec-1.2.0 branch instead?

Comment on lines +2107 to +2108
struct AdbcConnection* connection, const char* target_catalog,
const char* target_db_schema, const char* target_table, const char* mode,
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.

I'd rather we use the existing options here instead of duplicating them into the signature

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

one caveat there is that existing options are statement-level in practice rather than connection-level. all these new functions are connection-level. are you also suggesting moving all (or some) to statement-level?

/// write; that happens at Commit (commit it) or Abort (drop it).
///
/// \since ADBC API revision 1.2.0
struct AdbcIngestReceipt {
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.

It would be good to explain the receipt/handle explicitly here instead of leaving it implicit from the below definitions.

Additionally I think the comments could generally be cleaned up.

Comment on lines +2198 to +2199
/// Abort is best-effort. If cleanup is incomplete, the driver
/// returns a warning status and orphaned storage may remain; it is
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.

What is a "warning status"?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Perhaps this would leverage ConnectionSetWarningHandler?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I meant some sort of an "okish" adbc status, but warning handler sounds like a more appropriate solution. unless you think it's not necessary at all.. just documenting it as best-effort could be enough as well.

Comment on lines +2200 to +2201
/// the driver's responsibility to provide housekeeping (e.g. TTL,
/// background GC, or documented manual cleanup). Callers may also
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 sounds more like the semantics of the backend system

Copy link
Copy Markdown
Contributor

@CurtHagenlocher CurtHagenlocher left a comment

Choose a reason for hiding this comment

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

Some initial thoughts.

AdbcStatusCode (*ConnectionWriteIngestPartition)(
struct AdbcConnection*, const uint8_t*, size_t, struct ArrowArrayStream*,
struct AdbcIngestReceipt*, struct AdbcError*);
AdbcStatusCode (*ConnectionCommitIngestPartitions)(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Repeating my comment from the mailing list, is this use of Commit going to be misleading around its relationship with a database transactional commit?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

wdyt about "complete" or maybe "apply"? I'm fine with changing to "complete" if you agree.

Comment on lines +2198 to +2199
/// Abort is best-effort. If cleanup is incomplete, the driver
/// returns a warning status and orphaned storage may remain; it is
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Perhaps this would leverage ConnectionSetWarningHandler?

Comment on lines +2202 to +2203
/// call Abort if the coordinator crashed and was restarted without
/// the original receipts.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is it worth distinguishing the case of "Abort an unknown handle" from the case of "something went wrong during Abort" with a specific error code for the former?

Comment on lines +990 to +991
struct AdbcIngestHandle;
struct AdbcIngestReceipt;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The only role these seem to play is to have an API that allows the corresponding opaque buffer to be deallocated. We're also not getting any type safety from having two of them because both are just byte arrays post-serialization. Could we simplify and generalize a little and declare a single type for this e.g. AdbcSerializableHandle?

/// point to an AdbcDriver.
///
/// \since ADBC API revision 1.2.0
#define ADBC_VERSION_1_2_0 1002000
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can you please resubmit this as a PR against the spec-1.2.0 branch where this should already be defined?

dependabot Bot and others added 26 commits May 29, 2026 08:08
…pache#4002)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Updated
[coverlet.collector](https://github.com/coverlet-coverage/coverlet) from
6.0.4 to 8.0.0.

<details>
<summary>Release notes</summary>

_Sourced from [coverlet.collector's
releases](https://github.com/coverlet-coverage/coverlet/releases)._

## 8.0.0

**Special Thanks:** A huge thank you to
[@​Bertk](https://github.com/Bertk) for driving the majority of the work
in this release! 🎉

### Fixed
- Fix System.CommandLine 2.0 release is available
[#​1776](coverlet-coverage/coverlet#1776)
- Fix Excluding From Coverage bad defaults from given example
[#​1764](coverlet-coverage/coverlet#1764)
- Fix branchpoint exclusion for sdk 8.0.407
[#​1741](coverlet-coverage/coverlet#1741)
- Fix missing copyright information in NuGet
[#​1794](coverlet-coverage/coverlet#1794)
- Fix bad default values in documentation
[#​1764](coverlet-coverage/coverlet#1764) by
<https://github.com/cboudereau>

### Improvements

- Coverlet MTP extension feature
[#​1788](coverlet-coverage/coverlet#1788)
- Generate SBOM for nuget packages
[#​1752](coverlet-coverage/coverlet#1752)
- Use multi targets projects for coverlet.collector,
coverlet.msbuild.tasks packages
[#​1742](coverlet-coverage/coverlet#1742)
- Use .NET 8.0 target framework for coverlet.core and remove
Newtonsoft.Json
[#​1733](coverlet-coverage/coverlet#1733)
- Use latest System.CommandLine version
[#​1660](coverlet-coverage/coverlet#1660)
- Upgraded minimum required .NET SDK and runtime to .NET 8.0 LTS (Long
Term Support) (**Breaking Change**)
- Use [xunit.v3](https://xunit.net/docs/getting-started/v3/whats-new)
for tests and example code

[Diff between 6.0.4 and
8.0.0](coverlet-coverage/coverlet@v6.0.4...v8.0.0)

Commits viewable in [compare
view](coverlet-coverage/coverlet@v6.0.4...v8.0.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=coverlet.collector&package-manager=nuget&previous-version=6.0.4&new-version=8.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- adds bindings for: GetObjects, GetInfo, GetTableSchema, GetTableTypes
- adds jni-validation-sqlite suite, most of the stuff in there is still
disabled because of sqlite issues. I'll try later to add some of those
to quirks and make it work.
- fixes deferred bind bug that came up in validation suite. c driver
expects user to rebind if data changes, while java seems to allow a
caller to alter VectorSchemaRoot after it has been bound. Added
`exportBind` method in JniStatement that exports bound data to c before
each execution rather than during bind call.
…ntext for trace activity (apache#4013)

Re-enables compile time JSON serializer context for the
SerializableActivity class.
- The context include a number of well-known data types
- The serializer now includes an option to handle unknown types with the
default, reflection-based serialization
…che#4022)

Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest)
from 18.0.1 to 18.3.0.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.NET.Test.Sdk's
releases](https://github.com/microsoft/vstest/releases)._

## 18.3.0

## What's Changed

* Fix answer file splitting by @​nohwnd in
microsoft/vstest#15306

## Internal fixes and updates

* Bump branding to 18.1 by @​nohwnd in
microsoft/vstest#15286
* Remove stale copy of S.ComponentModel.Composition from testplatform
packages by @​ViktorHofer in
microsoft/vstest#15287
* Update codeflow metadata to fix backflow by @​premun in
microsoft/vstest#15291
* [main] Update dependencies from devdiv/DevDiv/vs-code-coverage by
@​dotnet-maestro[bot] in microsoft/vstest#15283
* Update Microsoft.Build.Utilities.Core by @​Youssef1313 in
microsoft/vstest#15300
* Disable DynamicNative instrumentation by default by @​nohwnd in
microsoft/vstest#15299
* [main] Source code updates from dotnet/dotnet by @​dotnet-maestro[bot]
in microsoft/vstest#15293
* [main] Source code updates from dotnet/dotnet by @​dotnet-maestro[bot]
in microsoft/vstest#15302
* [main] Source code updates from dotnet/dotnet by @​dotnet-maestro[bot]
in microsoft/vstest#15314
* Delete sha1 custom implementation we are not using for a long time by
@​nohwnd in microsoft/vstest#15313
* [main] Source code updates from dotnet/dotnet by @​dotnet-maestro[bot]
in microsoft/vstest#15315
* Update branding to 18.3.0 by @​nohwnd in
microsoft/vstest#15321
* [main] Update dependencies from devdiv/DevDiv/vs-code-coverage by
@​dotnet-maestro[bot] in microsoft/vstest#15325
* [main] Update dependencies from dotnet/arcade by @​dotnet-maestro[bot]
in microsoft/vstest#15264
* Revert adding dotnet_host_path workaround by @​nohwnd in
microsoft/vstest#15328
* [main] Update dependencies from dotnet/arcade by @​dotnet-maestro[bot]
in microsoft/vstest#15338
* [main] Source code updates from dotnet/dotnet by @​dotnet-maestro[bot]
in microsoft/vstest#15322
* [main] Update dependencies from dotnet/arcade by @​dotnet-maestro[bot]
in microsoft/vstest#15343
* Change PreReleaseVersionLabel from 'preview' to 'release' by @​nohwnd
in microsoft/vstest#15352
* [rel/18.3] Update dependencies from devdiv/DevDiv/vs-code-coverage by
@​dotnet-maestro[bot] in microsoft/vstest#15354
* [rel/18.3] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in microsoft/vstest#15389
* [rel/18.3] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in microsoft/vstest#15400
* Update build tools to 17.11.48 to be source buildable by @​nohwnd in
microsoft/vstest#15310
* Disable publishing on RTM by @​nohwnd in
microsoft/vstest#15296
* Don't access nuget.org for package feeds by @​nohwnd in
microsoft/vstest#15316
* No nuget access fix tests by @​nohwnd in
microsoft/vstest#15317
* Disable Dependabot updates in dependabot.yml by @​mmitche in
microsoft/vstest#15324

## New Contributors
* @​premun made their first contribution in
microsoft/vstest#15291

Commits viewable in [compare
view](microsoft/vstest@v18.0.1...v18.3.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Microsoft.NET.Test.Sdk&package-manager=nuget&previous-version=18.0.1&new-version=18.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#4017)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…che#4021)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…pache#4016)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…instrumentation (apache#4009)

## Summary

Implements context.Context support for all Go ADBC methods to enable
uniform OpenTelemetry instrumentation, cancellation, and deadline
propagation (addresses apache#2772).

- Add `DatabaseContext`, `ConnectionContext`, and `StatementContext`
interfaces that mirror existing interfaces but require `context.Context`
for all methods
- Add extension Context interfaces: `PostInitOptionsContext`,
`GetSetOptionsContext`, `ConnectionGetStatisticsContext`,
`StatementExecuteSchemaContext`
- Implement adapter functions (`AsDatabaseContext`,
`AsConnectionContext`, `AsStatementContext`) to wrap non-context
implementations for backward compatibility
- Add `IngestStreamContext` helper for context-aware bulk ingestion
- Comprehensive test suite (9 tests, all passing)

## Changes

**New Interfaces** (`go/adbc/adbc.go`):
- `DatabaseContext` - Database with context support for all operations
- `ConnectionContext` - Connection with context support for all
operations
- `StatementContext` - Statement with context support for all operations
- Extension interfaces with context support

**Adapter Implementation** (`go/adbc/context_adapters.go`):
- Three adapter types that wrap non-context implementations
- Proper nil handling and double-wrap prevention
- Context pass-through for methods that already accept context
- Clear documentation about context limitations for legacy methods

**Tests** (`go/adbc/context_adapters_test.go`):
- Comprehensive test coverage for all adapters
- Tests for error handling, nil handling, and context pass-through
- All tests passing with race detector

**Documentation & Examples**:
- Updated package documentation explaining Context interfaces
- Added `IngestStreamContext` helper function
- Example code demonstrating adapter usage

## Migration Path

**For Applications:**
```go
// Wrap existing Database to add context support
db := driver.NewDatabase(opts)
dbCtx := adbc.AsDatabaseContext(db)

ctx := context.Background()
conn, err := dbCtx.Open(ctx)
```

**For Driver Implementers:**
- Existing drivers work unchanged via adapters
- New drivers should implement Context interfaces directly
- Gradual migration supported - no breaking changes

## Notes

This is the first step toward uniform OpenTelemetry support. Future work
includes:
- Updating individual drivers to implement Context interfaces natively
- Adding context-aware tests to validation suite
- Enhanced tracing instrumentation using context propagation

Closes apache#2772.
Implementing connection profiles for the Rust driver manager including
the default FilesystemProfileProvider and updating the objects and tests
accordingly.
For some reason the hierarchical path profile test is flaky, let's try
to fix that
…w macos toolchains (apache#4030)

Fix apache#4025

In the R world, this flag seems no longer needed (added in apache#1672,
apache#3034).
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…es (apache#4034)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…2.1 to 3.3.0 in /java (apache#4035)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…34.0 in /java (apache#4033)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…r maintenance (apache#4029)

As discussed in some of the recent PRs, this refactors the
`adbc_driver_manager.cc` file and splits things up into multiple files
based on the API surface they are relevant to. This makes future
maintenance easier for the C++ driver manager.

This also updates the pre-commit config to ensure the files stay in sync
with the go/adbc/drivermgr files etc.

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
….0 to 1.10.0 in /go/adbc (apache#4015)

Bumps
[github.com/databricks/databricks-sql-go](https://github.com/databricks/databricks-sql-go)
from 1.9.0 to 1.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/databricks/databricks-sql-go/releases">github.com/databricks/databricks-sql-go's
releases</a>.</em></p>
<blockquote>
<h2>v1.10.0</h2>
<ul>
<li><code>databricks/databricks-sql-go#290</code><a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/291">#291</a>,
<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/292">#292</a>)</li>
<li><code>databricks/databricks-sql-go#297</code><a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/304">#304</a>,
<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/305">#305</a>,
<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/311">#311</a>,
<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/319">#319</a>)</li>
<li><code>databricks/databricks-sql-go#316</code></li>
<li><code>databricks/databricks-sql-go#295</code></li>
<li><code>databricks/databricks-sql-go#308</code></li>
<li><code>databricks/databricks-sql-go#286</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/databricks/databricks-sql-go/blob/main/CHANGELOG.md">github.com/databricks/databricks-sql-go's
changelog</a>.</em></p>
<blockquote>
<h2>v1.10.0 (2026-02-19)</h2>
<ul>
<li><code>databricks/databricks-sql-go#290</code><a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/291">#291</a>,
<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/292">#292</a>)</li>
<li><code>databricks/databricks-sql-go#297</code><a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/304">#304</a>,
<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/305">#305</a>,
<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/311">#311</a>,
<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/319">#319</a>)</li>
<li><code>databricks/databricks-sql-go#316</code></li>
<li><code>databricks/databricks-sql-go#295</code></li>
<li><code>databricks/databricks-sql-go#308</code></li>
<li><code>databricks/databricks-sql-go#286</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/databricks/databricks-sql-go/commit/98148d9275f6b975ddaf256062135d028b81a79e"><code>98148d9</code></a>
Prepare for release (<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/324">#324</a>)</li>
<li><a
href="https://github.com/databricks/databricks-sql-go/commit/cd6dc1906418e0bdbdaf0e47c6d5e0737e08a728"><code>cd6dc19</code></a>
Token Federation for Go Driver (3/3) (<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/292">#292</a>)</li>
<li><a
href="https://github.com/databricks/databricks-sql-go/commit/73f2a36a0723f64fcd423cbb540c8a5abee248aa"><code>73f2a36</code></a>
[PECOBLR-1143] Implement telemetry Phase 4-5: Export infrastructure and
opt-i...</li>
<li><a
href="https://github.com/databricks/databricks-sql-go/commit/abbe1738c011db1c911f3b15a8d761e5769a73ec"><code>abbe173</code></a>
Fix context loss in polling and connection close operations (<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/295">#295</a>)</li>
<li><a
href="https://github.com/databricks/databricks-sql-go/commit/6d6ef5b7baff3e9f2aab964f52ae23c9df7d70b1"><code>6d6ef5b</code></a>
Fix type inference for int64/uint64 (BIGINT) and float64 (DOUBLE) (<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/316">#316</a>)</li>
<li><a
href="https://github.com/databricks/databricks-sql-go/commit/a0d5e7533e38370956adc24b30221383c70fc231"><code>a0d5e75</code></a>
Token federation for Go driver (2/3) (<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/291">#291</a>)</li>
<li><a
href="https://github.com/databricks/databricks-sql-go/commit/66608b7afc9bd32683d108439ebbaa7632004bc5"><code>66608b7</code></a>
Add circuit breaker for telemetry + amend design plan to be similar to
includ...</li>
<li><a
href="https://github.com/databricks/databricks-sql-go/commit/c4af6facac8ecbc5519b76b5bd655f1b20a4e5a1"><code>c4af6fa</code></a>
Cloudfetch: Allow configuration of httpclient for cloudfetch (<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/308">#308</a>)</li>
<li><a
href="https://github.com/databricks/databricks-sql-go/commit/29c881a4dc8229e184aa0ba01c83eb600dff020e"><code>29c881a</code></a>
[PECOBLR-1147] Implement Client Manager for Per-Host Clients (<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/305">#305</a>)</li>
<li><a
href="https://github.com/databricks/databricks-sql-go/commit/5dbccff7a187b2695bde5d5a8b25c969e25ca2ae"><code>5dbccff</code></a>
[PECOBLR-1146] Implement Feature Flag Cache with Reference Counting (<a
href="https://redirect.github.com/databricks/databricks-sql-go/issues/304">#304</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/databricks/databricks-sql-go/compare/v1.9.0...v1.10.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/databricks/databricks-sql-go&package-manager=go_modules&previous-version=1.9.0&new-version=1.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…o 1.19.0 in /go/adbc (apache#3937)

Bumps
[github.com/snowflakedb/gosnowflake](https://github.com/snowflakedb/gosnowflake)
from 1.17.1 to 1.19.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/snowflakedb/gosnowflake/releases">github.com/snowflakedb/gosnowflake's
releases</a>.</em></p>
<blockquote>
<h2>Release</h2>
<ul>
<li>Please check Snowflake <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/golang">Go
Snowflake for release notes</a>.</li>
</ul>
<h2>Release</h2>
<ul>
<li>Please check Snowflake <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/golang">Go
Snowflake for release notes</a>.</li>
</ul>
<h2>Release</h2>
<ul>
<li>Please check Snowflake <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/golang">Go
Snowflake for release notes</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/snowflakedb/gosnowflake/blob/master/CHANGELOG.md">github.com/snowflakedb/gosnowflake's
changelog</a>.</em></p>
<blockquote>
<h2>1.19.0</h2>
<p>New features:</p>
<ul>
<li><code>snowflakedb/gosnowflake#1679</code></li>
<li>Exposed <code>tokenFilePath</code> in
<code>Config</code><code>snowflakedb/gosnowflake#1666</code></li>

<li><code>tokenFilePath</code><code>snowflakedb/gosnowflake#1666</code></li>
<li><code>snowflakedb/gosnowflake#1652</code><a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1660">snowflakedb/gosnowflake#1660</a>).</li>
</ul>
<p>Bug fixes:</p>
<ul>
<li><code>snowflakedb/gosnowflake#1672</code></li>
<li><code>snowflakedb/gosnowflake#1661</code></li>
<li><code>snowflakedb/gosnowflake#1682</code></li>
<li><code>snowflakedb/gosnowflake#1678</code></li>
</ul>
<p>Internal changes:</p>
<ul>
<li><code>snowflakedb/gosnowflake#1677</code></li>
<li><code>snowflakedb/gosnowflake#1665</code></li>
</ul>
<h2>1.18.1</h2>
<p>Bug fixes:</p>
<ul>
<li><code>snowflakedb/gosnowflake#1616</code></li>
<li><code>snowflakedb/gosnowflake#1647</code></li>
<li><code>snowflakedb/gosnowflake#1646</code></li>
</ul>
<p>Internal changes:</p>
<ul>
<li><code>snowflakedb/gosnowflake#1638</code></li>
<li>Introduced shared library (<a
href="https://github.com/snowflakedb/universal-driver/tree/main/sf_mini_core">source
code</a><code>snowflakedb/gosnowflake#1629</code></li>
</ul>
<h2>1.18.0</h2>
<p>New features:</p>
<ul>
<li>Added validation of CRL
<code>NextUpdate</code><code>snowflakedb/gosnowflake#1617</code></li>
<li><code>snowflakedb/gosnowflake#1627</code></li>
<li><code>snowflakedb/gosnowflake#1625</code></li>
</ul>
<p>Bug fixes:</p>
<ul>
<li><code>snowflakedb/gosnowflake#1618</code></li>
<li><code>snowflakedb/gosnowflake#1621</code></li>
</ul>
<p>Internal changes:</p>
<ul>
<li><code>snowflakedb/gosnowflake#1620</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/696c6d90892fcbff2674631cc15309b3863f9264"><code>696c6d9</code></a>
MINOR: Bumped up GoLang connector MINOR version from 1.18.1 to 1.19.0
(<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1685">#1685</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/47f6de1f22fc8eb2b9ceaa95b78c48c2ee068f11"><code>47f6de1</code></a>
NO-SNOW Patch potential memory leaks in gosnowflake upload utilities (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1682">#1682</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/e02770e2dc816751f5fadb7c295e2ba91761a02d"><code>e02770e</code></a>
NO-SNOW Fix CLA bot (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1683">#1683</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/a9400b71625745865609e55581143d126847f83f"><code>a9400b7</code></a>
SNOW-3008718 Added ability to disable minicore loading on compile time
(<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1679">#1679</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/5248bb13f3c561384e3ef619122d9596287c1372"><code>5248bb1</code></a>
SNOW-3009271 Add more OS info gathering on Linux (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1677">#1677</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/3f099b569b47c1204ac42438f277fd7d41d7048a"><code>3f099b5</code></a>
SNOW-3022347 Fix path escaping for GCS urls (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1678">#1678</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/45b74c87c0c65234c16c51aa29700c87bc81f916"><code>45b74c8</code></a>
DOC-11379 adding some more context to async query execution vs
KeepSessionAli...</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/e18c784449d3fcaaf29b2771d3345fab895c13b5"><code>e18c784</code></a>
NO-SNOW Fix TestMfaParallelLogin (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1673">#1673</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/341f0a6b06cb35019217dcdb5191fa5734a27689"><code>341f0a6</code></a>
SNOW-2922053 Fix getting file from an unencrypted stage (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1672">#1672</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/1922ccebdd8ea87aea0e03f53d9ad9246e7c1654"><code>1922cce</code></a>
NO-SNOW Do not override test global variable (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1674">#1674</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/snowflakedb/gosnowflake/compare/v1.17.1...v1.19.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/snowflakedb/gosnowflake&package-manager=go_modules&previous-version=1.17.1&new-version=1.19.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
lidavidm and others added 26 commits May 29, 2026 08:08
…tion (apache#4208)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
apache#4211)

Add `arrow.adbc.driver.jni.library.path` JVM system property to load the
JNI native library from a custom directory. Falls back to JAR extraction
when the property is unset or the file is not found.

Consistent with [arrow-java's JniLoader
approach](https://github.com/apache/arrow-java/blob/0d55ba78aeed3e6b28e3d65ced37c360f5e0ed4e/c/src/main/java/org/apache/arrow/c/jni/JniLoader.java#L80-L92).
I just make it a bit more testable.

Closes apache#4207
…he#4193)

Bumps the actions group with 3 updates in the / directory:
[astral-sh/setup-uv](https://github.com/astral-sh/setup-uv),
[ruby/setup-ruby](https://github.com/ruby/setup-ruby) and
[docker/login-action](https://github.com/docker/login-action).

Updates `astral-sh/setup-uv` from 7.6.0 to 8.0.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/setup-uv/releases">astral-sh/setup-uv's
releases</a>.</em></p>
<blockquote>
<h2>v8.0.0 🌈 Immutable releases and secure tags</h2>
<h1>This is the first immutable release of <code>setup-uv</code> 🥳</h1>
<p>All future releases are also immutable, if you want to know more
about what this means checkout <a
href="https://docs.github.com/en/code-security/concepts/supply-chain-security/immutable-releases">the
docs</a>.</p>
<p>This release also has two breaking changes</p>
<h2>New format for <code>manifest-file</code></h2>
<p>The previously deprecated way of defining a custom version manifest
to control which <code>uv</code> versions are available and where to
download them from got removed. The functionality is still there but you
have to use the <a
href="https://github.com/astral-sh/setup-uv/blob/main/docs/customization.md#format">new
format</a>.</p>
<h2>No more major and minor tags</h2>
<p>To increase <strong>security</strong> even more we will <strong>stop
publishing minor tags</strong>. You won't be able to use
<code>@v8</code> or <code>@v8.0</code> any longer. We do this because
pinning to major releases opens up users to supply chain attacks like
what happened to <a
href="https://unit42.paloaltonetworks.com/github-actions-supply-chain-attack/">tj-actions</a>.</p>
<blockquote>
<p>[!TIP]
Use the immutable tag as a version
<code>astral-sh/setup-uv@v8.0.0</code>
Or even better the githash
<code>astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57</code></p>
</blockquote>
<h2>🚨 Breaking changes</h2>
<ul>
<li>Remove update-major-minor-tags workflow <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/826">#826</a>)</li>
<li>Remove deprecrated custom manifest <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/813">#813</a>)</li>
</ul>
<h2>🧰 Maintenance</h2>
<ul>
<li>Shortcircuit latest version from manifest <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/828">#828</a>)</li>
<li>Simplify inputs.ts <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/827">#827</a>)</li>
<li>Bump release-drafter to v7.1.1 <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/825">#825</a>)</li>
<li>Refactor inputs <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/823">#823</a>)</li>
<li>Replace inline compile args with tsconfig <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/824">#824</a>)</li>
<li>chore: update known checksums for 0.11.2 @<a
href="https://github.com/apps/github-actions">github-actions[bot]</a>
(<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/821">#821</a>)</li>
<li>chore: update known checksums for 0.11.1 @<a
href="https://github.com/apps/github-actions">github-actions[bot]</a>
(<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/817">#817</a>)</li>
<li>chore: update known checksums for 0.11.0 @<a
href="https://github.com/apps/github-actions">github-actions[bot]</a>
(<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/815">#815</a>)</li>
<li>Fix latest-version workflow check <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/812">#812</a>)</li>
<li>chore: update known checksums for 0.10.11/0.10.12 @<a
href="https://github.com/apps/github-actions">github-actions[bot]</a>
(<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/811">#811</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/cec208311dfd045dd5311c1add060b2062131d57"><code>cec2083</code></a>
Shortcircuit latest version from manifest (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/828">#828</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/4dd8ab45206a76f8c1dfe399fa88df10a7264f27"><code>4dd8ab4</code></a>
Simplify inputs.ts (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/827">#827</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/7fdbe7cf0c8ef50cfd0878eed7b5180abc6b53c7"><code>7fdbe7c</code></a>
Remove update-major-minor-tags workflow (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/826">#826</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/485abd05e5c74a247f0a309e333d2433ab9a353a"><code>485abd0</code></a>
Bump release-drafter to v7.1.1 (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/825">#825</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/f82eb19c06057c455674b2602e0139fd906f1428"><code>f82eb19</code></a>
Refactor inputs (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/823">#823</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/868d1f74d9d862d7b40219546bfe35299c6dd452"><code>868d1f7</code></a>
Replace inline compile args with tsconfig (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/824">#824</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/447e6d02b15d65b3247cce2d6019f11957285d11"><code>447e6d0</code></a>
chore: update known checksums for 0.11.2 (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/821">#821</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/5c62c5926145985eec91f09e2e0a75f40daed929"><code>5c62c59</code></a>
chore: update known checksums for 0.11.1 (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/817">#817</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/e1a7373adb857afd2a70b971e8ebdacc64ed27d0"><code>e1a7373</code></a>
chore: update known checksums for 0.11.0 (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/815">#815</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/89709315bb3bd4bf0f4b1db4b710e99009087ab5"><code>8970931</code></a>
Remove deprecrated custom manifest (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/813">#813</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/setup-uv/compare/37802adc94f370d6bfd71619e3f0bf239e1f3b78...cec208311dfd045dd5311c1add060b2062131d57">compare
view</a></li>
</ul>
</details>
<br />

Updates `ruby/setup-ruby` from 1.299.0 to 1.300.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ruby/setup-ruby/releases">ruby/setup-ruby's
releases</a>.</em></p>
<blockquote>
<h2>v1.300.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Refactor matrix script by <a
href="https://github.com/ntkme"><code>@​ntkme</code></a> in <a
href="https://redirect.github.com/ruby/setup-ruby/pull/897">ruby/setup-ruby#897</a></li>
<li>Add jruby-10.0.5.0 by <a
href="https://github.com/ruby-builder-bot"><code>@​ruby-builder-bot</code></a>
in <a
href="https://redirect.github.com/ruby/setup-ruby/pull/900">ruby/setup-ruby#900</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/ruby/setup-ruby/compare/v1.299.0...v1.300.0">https://github.com/ruby/setup-ruby/compare/v1.299.0...v1.300.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ruby/setup-ruby/commit/e65c17d16e57e481586a6a5a0282698790062f92"><code>e65c17d</code></a>
Add jruby-10.0.5.0</li>
<li><a
href="https://github.com/ruby/setup-ruby/commit/ba696adf55506673e48342a66e30f1f53cadeae0"><code>ba696ad</code></a>
Refactor matrix script</li>
<li><a
href="https://github.com/ruby/setup-ruby/commit/2327de0bdc11657e6bed81a43cae73251edb97a0"><code>2327de0</code></a>
TruffleRuby 34+ does not support macOS Intel</li>
<li>See full diff in <a
href="https://github.com/ruby/setup-ruby/compare/3ff19f5e2baf30647122352b96108b1fbe250c64...e65c17d16e57e481586a6a5a0282698790062f92">compare
view</a></li>
</ul>
</details>
<br />

Updates `docker/login-action` from 4.0.0 to 4.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/login-action/releases">docker/login-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.1.0</h2>
<ul>
<li>Fix scoped Docker Hub cleanup path when registry is omitted by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/login-action/pull/945">docker/login-action#945</a></li>
<li>Bump <code>@​aws-sdk/client-ecr</code> and
<code>@​aws-sdk/client-ecr-public</code> to 3.1020.0 in <a
href="https://redirect.github.com/docker/login-action/pull/930">docker/login-action#930</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.77.0 to 0.86.0 in
<a
href="https://redirect.github.com/docker/login-action/pull/932">docker/login-action#932</a>
<a
href="https://redirect.github.com/docker/login-action/pull/936">docker/login-action#936</a></li>
<li>Bump brace-expansion from 1.1.12 to 1.1.13 in <a
href="https://redirect.github.com/docker/login-action/pull/952">docker/login-action#952</a></li>
<li>Bump fast-xml-parser from 5.3.4 to 5.3.6 in <a
href="https://redirect.github.com/docker/login-action/pull/942">docker/login-action#942</a></li>
<li>Bump flatted from 3.3.3 to 3.4.2 in <a
href="https://redirect.github.com/docker/login-action/pull/944">docker/login-action#944</a></li>
<li>Bump glob from 10.3.12 to 10.5.0 in <a
href="https://redirect.github.com/docker/login-action/pull/940">docker/login-action#940</a></li>
<li>Bump handlebars from 4.7.8 to 4.7.9 in <a
href="https://redirect.github.com/docker/login-action/pull/949">docker/login-action#949</a></li>
<li>Bump http-proxy-agent and https-proxy-agent to 8.0.0 in <a
href="https://redirect.github.com/docker/login-action/pull/937">docker/login-action#937</a></li>
<li>Bump lodash from 4.17.23 to 4.18.1 in <a
href="https://redirect.github.com/docker/login-action/pull/958">docker/login-action#958</a></li>
<li>Bump minimatch from 3.1.2 to 3.1.5 in <a
href="https://redirect.github.com/docker/login-action/pull/941">docker/login-action#941</a></li>
<li>Bump picomatch from 4.0.3 to 4.0.4 in <a
href="https://redirect.github.com/docker/login-action/pull/948">docker/login-action#948</a></li>
<li>Bump undici from 6.23.0 to 6.24.1 in <a
href="https://redirect.github.com/docker/login-action/pull/938">docker/login-action#938</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/login-action/compare/v4.0.0...v4.1.0">https://github.com/docker/login-action/compare/v4.0.0...v4.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/docker/login-action/commit/4907a6ddec9925e35a0a9e82d7399ccc52663121"><code>4907a6d</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/930">#930</a>
from docker/dependabot/npm_and_yarn/aws-sdk-dependenc...</li>
<li><a
href="https://github.com/docker/login-action/commit/1e233e691a8881d7f35ca7c2d5dfaaed80b39636"><code>1e233e6</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/login-action/commit/6c24ead68057f18c30c808a431f0b85dc25663cb"><code>6c24ead</code></a>
build(deps): bump the aws-sdk-dependencies group with 2 updates</li>
<li><a
href="https://github.com/docker/login-action/commit/ee034d70944e3546349cd24295914f139342f1e6"><code>ee034d7</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/958">#958</a>
from docker/dependabot/npm_and_yarn/lodash-4.18.1</li>
<li><a
href="https://github.com/docker/login-action/commit/1527209db9734bd2352a2dc1a63d79c9aa5358bb"><code>1527209</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/937">#937</a>
from docker/dependabot/npm_and_yarn/proxy-agent-depen...</li>
<li><a
href="https://github.com/docker/login-action/commit/d39362aba4d72f8d9d93e0962119840690133e1b"><code>d39362a</code></a>
build(deps): bump lodash from 4.17.23 to 4.18.1</li>
<li><a
href="https://github.com/docker/login-action/commit/a6f092b568105cbb6d9deb7e55e0a4c5c1025fce"><code>a6f092b</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/login-action/commit/60953f0bed2120ec69659d271fe18d34bc069779"><code>60953f0</code></a>
build(deps): bump the proxy-agent-dependencies group with 2 updates</li>
<li><a
href="https://github.com/docker/login-action/commit/62c688590fb4ab6c6e89a217ced0a7b2ddcf1340"><code>62c6885</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/936">#936</a>
from docker/dependabot/npm_and_yarn/docker/actions-to...</li>
<li><a
href="https://github.com/docker/login-action/commit/102c0e672992d2e992c89b6f4808d65a353b5a1a"><code>102c0e6</code></a>
chore: update generated content</li>
<li>Additional commits viewable in <a
href="https://github.com/docker/login-action/compare/b45d80f862d83dbcd57f89517bcf500b2ab88fb2...4907a6ddec9925e35a0a9e82d7399ccc52663121">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….0 in /go/adbc (apache#4216)

Bumps
[cloud.google.com/go/bigquery](https://github.com/googleapis/google-cloud-go)
from 1.75.0 to 1.76.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/243da70769b0ad6f401d11bfa637530823072eac"><code>243da70</code></a>
chore(main): release spanner 1.76.0 (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/11594">#11594</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/0ee82ff4ff385bc632b5cc9630e7e6c4e25a438c"><code>0ee82ff</code></a>
perf(spanner): grab debug stack outside of lock (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/11587">#11587</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/4b40201c5cfa223f3e5c039e18a72d74168f7ae9"><code>4b40201</code></a>
feat(spanner): support multiplexed session for read-write transactions
&amp; part...</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/f2d581c90e64dd7589b94178750e53f9edce661f"><code>f2d581c</code></a>
chore(main): release auth 0.15.0 (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/11613">#11613</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/0d52ebd0ba85da326a3b438521c90f3ca2a8addc"><code>0d52ebd</code></a>
chore(all): update deps (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/11601">#11601</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/0e608bb5ac3d694c8ad36ca4340071d3a2c78699"><code>0e608bb</code></a>
feat(auth): Add hard-bound token request to compute token provider. (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/11588">#11588</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/798be26c29ea264de6098706a2760033eadddc6e"><code>798be26</code></a>
chore(all): update Go to 1.24 (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/11612">#11612</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/bd0aec1ce63ead39f02ab43b403ebac740e979b7"><code>bd0aec1</code></a>
feat(dlp): discovery of Vertex AI datasets (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/11605">#11605</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/c08d34776d398a79f6962a26e8e2c75bc4958e2b"><code>c08d347</code></a>
feat(chat): Add DeletionType.SPACE_MEMBER. This is returned when a
message se...</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/535f52e4a698b80b8c25a5f43dc8d6ffb3c913a5"><code>535f52e</code></a>
refactor(auth): refactor GetGRPCTransportCredsAndEndpoint return type to
stru...</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/google-cloud-go/compare/spanner/v1.75.0...spanner/v1.76.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cloud.google.com/go/bigquery&package-manager=go_modules&previous-version=1.75.0&new-version=1.76.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…o 1.19.1 in /go/adbc (apache#4220)

Bumps
[github.com/snowflakedb/gosnowflake](https://github.com/snowflakedb/gosnowflake)
from 1.19.0 to 1.19.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/snowflakedb/gosnowflake/releases">github.com/snowflakedb/gosnowflake's
releases</a>.</em></p>
<blockquote>
<h2>Release</h2>
<ul>
<li>Please check Snowflake <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/golang">Go
Snowflake for release notes</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/snowflakedb/gosnowflake/blob/v1.19.1/CHANGELOG.md">github.com/snowflakedb/gosnowflake's
changelog</a>.</em></p>
<blockquote>
<h2>1.19.1</h2>
<p>New features:</p>
<ul>
<li>Dropped support for Go 1.23 and added support for Go 1.26.</li>
</ul>
<p>Internal changes:</p>
<ul>
<li>Added libc family, version and dynamic linking marker to client
environment telemetry.</li>
</ul>
<p>Bug fixes:</p>
<ul>
<li>Fixed minicore crash (SIGFPE) on fully statically linked Linux
binaries by detecting static linking via ELF PT_INTERP inspection and
skipping
<code>dlopen</code><code>snowflakedb/gosnowflake#1721</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/c543aeae24b17d9723d65d9f364d2f6f483544df"><code>c543aea</code></a>
SNOW-3190331 Bumped patch version 1.9.0 -&gt; 1.9.1 (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1770">#1770</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/3cadadf09c870721ddae1616632b4ffaf02d6394"><code>3cadadf</code></a>
SNOW-3247679 Implement libc family and version detection (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1753">#1753</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/08baf1f22add4a9cf57d3f9eb22fdc23b0fe79fc"><code>08baf1f</code></a>
NO-SNOW Update v1-backports to fresh CI builds definition (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1759">#1759</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/69a47a865d53f4cc8b554341c58ec8a52ab67853"><code>69a47a8</code></a>
NO-SNOW Run CI for all pushes including v1-backports (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1754">#1754</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/533c761a31f45d8fc6422d668bbe320e9667a932"><code>533c761</code></a>
NO-SNOW Remove decfloat parameters from tests (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1758">#1758</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/78aab44615b395a23387bee284bc91f4a970efc8"><code>78aab44</code></a>
NO-SNOW Refresh test certificates (<a
href="https://redirect.github.com/snowflakedb/gosnowflake/issues/1755">#1755</a>)</li>
<li><a
href="https://github.com/snowflakedb/gosnowflake/commit/914dc109f510be08ae648af6d22e428a60a940e7"><code>914dc10</code></a>
SNOW-3097839 minicore: detect static linking via ELF inspection to
prevent SI...</li>
<li>See full diff in <a
href="https://github.com/snowflakedb/gosnowflake/compare/v1.19.0...v1.19.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/snowflakedb/gosnowflake&package-manager=go_modules&previous-version=1.19.0&new-version=1.19.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…pache#4214)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#4213)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… /go/adbc (apache#4219)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#4217)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….202 (apache#4225)

Updated [Microsoft.SourceLink.GitHub](https://github.com/dotnet/dotnet)
from 10.0.201 to 10.0.202.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.SourceLink.GitHub's
releases](https://github.com/dotnet/dotnet/releases)._

## 10.0.202

You can build .NET 10.0 from the repository by cloning the release tag
`v10.0.202` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.202/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.202/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

Commits viewable in [compare
view](dotnet/dotnet@v10.0.201...v10.0.202).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Microsoft.SourceLink.GitHub&package-manager=nuget&previous-version=10.0.201&new-version=10.0.202)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- CommitIngestPartitions: detect open outer transaction via
  PQtransactionStatus and scope the commit with SAVEPOINT / RELEASE
  instead of BEGIN / COMMIT, so calling Commit does not silently close
  or roll back the caller's outer transaction. Reject error/unknown
  transaction states with INVALID_STATE.
- Scope the abort test's leftover-staging query to the current ingest
  handle's prefix instead of matching all adbc_stg_* tables in the
  schema, so the test isn't flaky against prior runs or parallel tests.
- Add a static_assert that the generated staging table name fits under
  PostgreSQL's default NAMEDATALEN, so any future widening of the id
  or prefix fails at compile time instead of silently truncating and
  causing name collisions during abort.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ridging

- Guard the four new AdbcConnection*IngestPartitions wrappers against
  NULL connection (and Begin/Write out-params) before touching
  private_driver, so bad callers get ADBC_STATUS_INVALID_ARGUMENT
  instead of a null dereference.
- Make kSupportedVersions the single source of truth for the
  AdbcLoadDriverFromInitFunc version check (std::find) instead of a
  switch that has to be kept in sync manually.
- Add a gtest that loads a pre-1.2.0 driver through the manager at
  ADBC_VERSION_1_2_0 and asserts each new ingest entry point routes to
  the NOT_IMPLEMENTED default stub (plus the struct-size sanity check
  now tracks ADBC_DRIVER_1_2_0_SIZE).
- Docstring for AdbcConnectionWriteIngestPartition now notes that a
  failed write may leave partial server-side state and the caller must
  still Abort the handle to release staging resources.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Scope the CommitIngestPartitions savepoint to a per-call name derived from
the handle id so it cannot alias a caller-managed savepoint, and always
RELEASE the savepoint after ROLLBACK TO SAVEPOINT so the caller's savepoint
stack is restored to its pre-call shape on failure. Add tests covering the
SAVEPOINT branch (visibility inside the outer transaction and rollback
semantics) and the aborted-transaction rejection path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Reject NULL handle/data in AdbcConnectionWriteIngestPartition and
  NULL handle plus NULL receipts/receipt_lens (when num_receipts > 0)
  in Commit/Abort, returning ADBC_STATUS_INVALID_ARGUMENT before any
  driver dispatch.
- Add gtests that exercise the public AdbcConnection*IngestPartitions
  entry points: one case proves a NULL connection short-circuits to
  INVALID_ARGUMENT, another wires a real connection to a 1.2.0-loaded
  driver and confirms each wrapper dispatches to the FILL_DEFAULT
  NOT_IMPLEMENTED stub.
- Add a test that AdbcLoadDriverFromInitFunc rejects an unrecognized
  version constant with ADBC_STATUS_NOT_IMPLEMENTED, guarding the
  std::find / kSupportedVersions check from silent regressions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…savepoint abort path

Add a compile-time guard for the "adbc_ingest_commit_" savepoint name length
against Postgres NAMEDATALEN-1, mirroring the existing guard on staging
table identifiers so a future rename of the prefix cannot silently produce
truncated, aliasing savepoint names. Annotate the abort_ingest lambda to
document that cleanup errors are intentionally discarded in favor of
preserving the first-cause message already stored in the caller's error.

Harden the CommitInsideOuterTransactionUsesSavepoint test by explicitly
forcing libpq into PQTRANS_INTRANS before Commit so the savepoint branch is
exercised even if the driver ever defers BEGIN. Add a new test
(CommitFailureInOuterTxnReleasesSavepoint) that triggers an INSERT failure
mid-commit while inside an outer transaction, then verifies the outer
transaction remains usable and that the driver's savepoint has been
RELEASEd (not leaked onto the caller's stack) — covering the failure path
of the ROLLBACK TO / RELEASE sequence that the savepoint isolation
motivated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…onnection

The existing dispatch test only exercised the new handle/data/receipts NULL
guards via a NULL connection, so a future reorder that hides those checks
behind the connection check would not regress the suite. Add a per-wrapper
case that supplies a valid connection but NULL handle/data/out_handle/
out_receipt (and num_receipts > 0 with NULL receipts/receipt_lens for
Commit/Abort) to pin each guard independently.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Make IngestHandle::kCommitSavepointPrefix and an inline HexId16 helper the
single source of truth for the commit-savepoint name, defined header-inline
so tests linking against the shared driver library can reuse them. The
NAMEDATALEN-1 static_assert now guards the same constant the construction
site uses, so a future rename can no longer drift past the assert.

Tighten the savepoint-abort regression test accordingly: it now builds the
probed savepoint name from kCommitSavepointPrefix + HexId16 instead of
duplicating the literal and hex encoding, bounds-checks the receipt-decoded
schema/table lengths before advancing the read pointer, and explicitly
recovers the outer transaction (asserting the rollback succeeds) after the
ROLLBACK TO probe leaves libpq in PQTRANS_INERROR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace the .cc-local HexId with the header-inline internal::HexId16 in
StagingPrefix so both call sites share one implementation, and derive
kHexIdLen from sizeof(IngestHandle::ingest_id) so the NAMEDATALEN assert
cannot drift if the id width ever changes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@tokoko tokoko force-pushed the partitioned-ingest branch from 95d027c to 310e138 Compare May 29, 2026 04:11
@tokoko tokoko changed the base branch from main to spec-1.2.0 May 29, 2026 04:11
@tokoko
Copy link
Copy Markdown
Contributor Author

tokoko commented May 29, 2026

@lidavidm should I leave only the spec changes in the PR against spec branch? or postgres impl as well?

@lidavidm
Copy link
Copy Markdown
Member

Impl is fine as well, but the branch seems to have picked up a lot of extra commits

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.