Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
318 commits
Select commit Hold shift + click to select a range
95ff052
fix(csharp/src/Drivers/Databricks): Fix parsing of lowercase server s…
alexguo-db May 27, 2025
8ef75b1
feat(csharp/src/Drivers/Databricks): Handle legacy SPARK catalog (#2884)
eric-wang-1990 May 27, 2025
4556c16
docs: fix typo (#2888)
daipom May 28, 2025
aae84d2
feat(csharp/src/Drivers/Databricks): Primary Key and Foreign Key Meta…
eric-wang-1990 May 28, 2025
317c9c9
feat(csharp/src/Drivers/Databricks): Implement CloudFetchUrlManager t…
jadewang-db May 28, 2025
f0dabb9
fix(csharp/src/Drivers/Apache/Hive2): improve foreign key handling in…
eric-wang-1990 Jun 2, 2025
3c19975
feat(csharp/src/Drivers/Databricks): Add cloud fetch heartbeat pollin…
toddmeng-db Jun 2, 2025
8bd6ce8
chore(go/adbc): bump github.com/snowflakedb/gosnowflake from 1.14.0 t…
dependabot[bot] Jun 2, 2025
b108528
chore(java): bump org.junit:junit-bom from 5.12.2 to 5.13.0 in /java …
dependabot[bot] Jun 3, 2025
339c579
chore(java): bump dep.org.checkerframework.version from 3.49.3 to 3.4…
dependabot[bot] Jun 3, 2025
c640f17
chore(go/adbc): bump cloud.google.com/go/bigquery from 1.68.0 to 1.69…
dependabot[bot] Jun 3, 2025
0e1ad65
chore(java): bump com.diffplug.spotless:spotless-maven-plugin from 2.…
dependabot[bot] Jun 3, 2025
22b4fcb
chore(java): bump org.postgresql:postgresql from 42.7.5 to 42.7.6 in …
dependabot[bot] Jun 3, 2025
2acf95d
chore(java): bump com.google.protobuf:protobuf-java from 4.31.0 to 4.…
dependabot[bot] Jun 3, 2025
39ae5f3
chore(go/adbc): bump google.golang.org/api from 0.234.0 to 0.235.0 in…
dependabot[bot] Jun 3, 2025
40c5025
docs: fix target name for c/c++ quickstart (#2906)
daipom Jun 3, 2025
db253b1
feat(csharp/src/Drivers/Databricks): Default catalogs edge cases (#2896)
toddmeng-db Jun 3, 2025
9bda49a
fix(c/driver/postgresql): ingest zoned timestamp as WITH TIME ZONE (#…
lidavidm Jun 5, 2025
09c7711
chore(c): fix typo (#2924)
daipom Jun 5, 2025
1914020
feat(csharp/src/Drivers/Apache): Add escape underscore parameter to m…
eric-wang-1990 Jun 5, 2025
d5d7583
fix(csharp/src/Drivers/Databricks): increase default retry timeout (#…
eric-wang-1990 Jun 5, 2025
46886b9
feat(c/driver/postgresql): add read support for int2vector (#2919)
lidavidm Jun 6, 2025
68e9f73
chore(go): fix typo (#2928)
daipom Jun 6, 2025
7a6fb76
fix(csharp/src/Drivers/Apache): improve metadata query handling (#2926)
eric-wang-1990 Jun 6, 2025
95391d0
feat(csharp/src/Drivers/Databricks): Multiple catalogs with default d…
toddmeng-db Jun 7, 2025
be059d6
feat(go/adbc/driver/snowflake): New setting to set the maximum timest…
davidhcoe Jun 7, 2025
01ac10b
feat(go/adbc/driver): initial tracing instrumentation for Snowflake d…
birschick-bq Jun 8, 2025
4430379
fix(python/adbc_driver_manager): don't leak array streams (#2922)
lidavidm Jun 9, 2025
0ae85a4
chore(csharp): fix typo (#2933)
daipom Jun 9, 2025
08610c8
chore(csharp): Bump Azure.Identity and 4 others (#2942)
dependabot[bot] Jun 9, 2025
c83dcce
chore(rust): bump test-with from 0.14.10 to 0.14.11 in /rust (#2935)
dependabot[bot] Jun 9, 2025
776213d
chore(go/adbc): bump golang.org/x/sync from 0.14.0 to 0.15.0 in /go/a…
dependabot[bot] Jun 9, 2025
18a0e3c
chore(go/adbc): bump modernc.org/sqlite from 1.37.1 to 1.38.0 in /go/…
dependabot[bot] Jun 9, 2025
5e73077
chore: bump conda-incubator/setup-miniconda from 3.1.1 to 3.2.0 (#2941)
dependabot[bot] Jun 9, 2025
2863e8f
chore(java): bump org.junit:junit-bom from 5.13.0 to 5.13.1 in /java …
dependabot[bot] Jun 10, 2025
2ad4db5
chore(java): bump com.github.ben-manes.caffeine:caffeine from 3.2.0 t…
dependabot[bot] Jun 10, 2025
7c762ed
chore(go/adbc): bump golang.org/x/tools from 0.33.0 to 0.34.0 in /go/…
dependabot[bot] Jun 10, 2025
24aee4a
chore(go/adbc): bump google.golang.org/grpc from 1.72.2 to 1.73.0 in …
dependabot[bot] Jun 10, 2025
42aeaea
chore(go/adbc): bump google.golang.org/api from 0.235.0 to 0.236.0 in…
dependabot[bot] Jun 10, 2025
866b17b
chore(csharp/test): fix typo (#2946)
daipom Jun 10, 2025
2a52322
fix(csharp/src/Drivers/Apache/Hive2): Add ServerProtocolVersion in Co…
jackyhu-db Jun 10, 2025
d439e91
fix(.github/workflows): update windows os version for csharp workflow…
birschick-bq Jun 10, 2025
e327ae8
feat(csharp/src/Drivers/Apache): Format HiveServer2Exception messages…
davidhcoe Jun 10, 2025
c08fdfc
fix(csharp/src/Drivers/Databricks): Remove redundant statement close …
alexguo-db Jun 10, 2025
fdb12d2
chore(rust): fix typo (#2955)
daipom Jun 11, 2025
224df19
fix(go/adbc/driver/internal/driverbase): Ensure to propagate the trac…
birschick-bq Jun 11, 2025
3a336f0
chore(deps-dev): bump org.postgresql:postgresql from 42.7.6 to 42.7.7…
dependabot[bot] Jun 12, 2025
42f55bd
docs(rust): add protobuf requirement (#2964)
daipom Jun 14, 2025
a32fecc
chore: the local directory used for building libs should be gitignore…
eitsupi Jun 15, 2025
be46fe5
fix(csharp/src/Drivers/BigQuery): Prevent callers from attempting to …
davidhcoe Jun 16, 2025
c3b915a
fix(go/adbc/driver/snowflake): Adjust the precision of the Timestamp …
davidhcoe Jun 16, 2025
c75f91e
ci: fix typo (#2969)
daipom Jun 16, 2025
0956776
chore(dev): fix typo (#2971)
daipom Jun 16, 2025
2495085
chore: fix typo in changelog (#2973)
daipom Jun 16, 2025
7ebceeb
chore(csharp): Bump BenchmarkDotNet from 0.15.1 to 0.15.2 (#2980)
dependabot[bot] Jun 16, 2025
191ddef
chore(java): bump org.apache:apache from 34 to 35 in /java (#2977)
dependabot[bot] Jun 16, 2025
b5f0dd2
chore(go/adbc): bump google.golang.org/api from 0.236.0 to 0.237.0 in…
dependabot[bot] Jun 17, 2025
6b171b0
chore(rust): bump test-with from 0.14.11 to 0.15.1 in /rust (#2979)
dependabot[bot] Jun 17, 2025
e8b3e32
chore: bump ruby/setup-ruby from 1.244.0 to 1.245.0 (#2978)
dependabot[bot] Jun 17, 2025
f0d2151
docs: update jdbc.rst to fix dependency artifact ID mismatch (#2976)
Jolanrensen Jun 17, 2025
c11955d
chore: bump cpplint version and disable build/c++17 lint (#2989)
lidavidm Jun 18, 2025
c902aa7
ci: fix Windows 3.13 build failing (#2992)
lidavidm Jun 18, 2025
9094306
fix(rust): fix `package.rust-version` fields to match to MSRV (#2997)
eitsupi Jun 18, 2025
1f3bf11
feat(python/adbc_driver_manager): simplify autocommit=True (#2990)
lidavidm Jun 19, 2025
1747f7c
docs: update CONTRIBUTING to use mamba consistently (#2995)
daipom Jun 19, 2025
e54e7b4
docs(rust): add ADBC_SNOWFLAKE_GO_LIB_DIR requirement (#2984)
daipom Jun 19, 2025
bf3620b
ci: bump pipelines to test 3.13 instead of 3.12 or 3.11 (#2999)
lidavidm Jun 19, 2025
c84cc91
fix(go/adbc/driver): inject version to built Go drivers (#2916)
zeroshade Jun 19, 2025
fd85000
chore(r): fix typo (#2975)
daipom Jun 19, 2025
de79fa9
ci(rust): verify MSRV of each package (#2996)
eitsupi Jun 19, 2025
0772ce4
chore(csharp): fix typo (#3002)
daipom Jun 19, 2025
f5ee01e
fix(csharp/src/Drivers): Add FK_NAME and KEQ_SEQ fields to GetColumns…
eric-wang-1990 Jun 19, 2025
9342939
fix(r/adbcsqlite): Don't print results of compilation failure when ch…
paleolimbot Jun 19, 2025
8b1757a
fix(csharp/src/Drivers): Enhance pattern wildcard escaping in metadat…
eric-wang-1990 Jun 20, 2025
46ec7c3
feat(csharp/src/Drivers/Databricks): Protocol feature negotiator (#2985)
toddmeng-db Jun 20, 2025
7190e0b
chore: add codespell (#2864)
daipom Jun 21, 2025
bbf3389
build(csharp): Conditionalise dependencies (#3005)
thompson-tomo Jun 21, 2025
eba5235
chore(csharp): use license expression (#3006)
thompson-tomo Jun 23, 2025
8e1b028
feat(c/driver_manager): add new function to allow loading by manifest…
zeroshade Jun 23, 2025
a38b4e8
fix(go/adbc/driver/internal/driverbase): fix missing interface func (…
zeroshade Jun 23, 2025
59bc377
chore(java): bump com.microsoft.sqlserver:mssql-jdbc from 12.10.0.jre…
dependabot[bot] Jun 23, 2025
70e11ec
chore(go/adbc): bump github.com/apache/arrow-go/v18 from 18.3.0 to 18…
dependabot[bot] Jun 23, 2025
9b5f3a4
chore(csharp): Bump System.Net.Http.WinHttpHandler to 8.0.3 (#3013)
dependabot[bot] Jun 24, 2025
418e3a5
chore(go/adbc): bump google.golang.org/api from 0.237.0 to 0.238.0 in…
dependabot[bot] Jun 24, 2025
d5da910
ci(rust): use `working-directory` to set workdir (#3016)
eitsupi Jun 24, 2025
cde9e7b
feat(csharp/src/Apache.Arrow.Adbc): OpenTelemetry tracing baseline (#…
birschick-bq Jun 24, 2025
0000e8d
feat(csharp/src/Drivers/Databricks): Optimize GetColumnsExtendedAsync…
jackyhu-db Jun 24, 2025
de9f1e7
feat(python/adbc_driver_manager): Update python driver_manager to loa…
zeroshade Jun 25, 2025
7804b2c
feat(python/adbc_driver_manager): support more APIs sans PyArrow (#2839)
lidavidm Jun 26, 2025
77f29cc
chore(rust): separate adbc_core and adbc_datafusion arrow version req…
eitsupi Jun 26, 2025
c867312
ci: update Maven and .NET download URLs (#3030)
lidavidm Jun 27, 2025
75bd7a6
test(c/driver_manager): make new test work on Windows (#3031)
lidavidm Jun 27, 2025
900fe52
feat(python/adbc_driver_manager): accept pathlib.Path in Database (#3…
lidavidm Jun 27, 2025
de342df
chore(glib): Generate version.h automatically (#3037)
kou Jun 27, 2025
a3ea191
chore(ruby): Use rubygems-requirements-system (#3039)
kou Jun 27, 2025
7cc8fa9
chore(glib): Use project_{build,source}_root() instead of {build,sour…
kou Jun 27, 2025
c9f82c5
chore(python): update license field in pyproject.toml (#3044)
lidavidm Jun 27, 2025
05c9430
feat(r/adbcdrivermanager): Add load by manifest to adbcdrivermanager …
paleolimbot Jun 27, 2025
9c766c0
ci: add `_LIBCPP_DISABLE_AVAILABILITY` as required (#3034)
lidavidm Jun 27, 2025
54fb47c
feat(glib): Add gadbc_database_set_load_flags() (#3041)
kou Jun 27, 2025
0713502
chore(ruby): Use require_relative (#3047)
kou Jun 27, 2025
8a300e1
chore: remove deprecated attribute from compose (#3051)
daipom Jun 27, 2025
28982c2
build(python/adbc_driver_manager): fix type declarations (#3049)
lidavidm Jun 27, 2025
df64ed6
docs: add installation of basic Python dependencies to CONTRIBUTING.m…
daipom Jun 27, 2025
ba2f0e0
fix(go/adbc): adding back compatibility for function FlightSQLDriverI…
howareyouman Jun 27, 2025
ec51e95
feat(go/adbc/drivermgr): Set default load flags for drivermgr to load…
zeroshade Jun 27, 2025
19242bc
feat(csharp/src/Drivers/Databricks): Fix initial catalog typo (#3057)
toddmeng-db Jun 27, 2025
8da67a4
build(c): fix warnings in vendored toml.hpp (#3045)
lidavidm Jun 28, 2025
56d1951
docs: describe Snowflake URI creation (#3062)
jhzab Jun 29, 2025
caf9ba1
docs: update installation commands for R (#3060)
eitsupi Jun 30, 2025
7536f45
build(python): enable freethreaded wheel on Linux (#3063)
lidavidm Jun 30, 2025
cbd7647
build(python): keep building driver manager on manylinux2014 (#3065)
lidavidm Jun 30, 2025
ca929ee
test(csharp/src/Drivers): add Spice.ai test target (#2961)
sgrebnov Jun 30, 2025
6708380
chore: regenerate LICENSE (#3067)
lidavidm Jun 30, 2025
02a4219
chore(go/adbc): bump the opentelemetry group in /go/adbc with 6 updat…
dependabot[bot] Jul 1, 2025
13b0880
chore(java): bump com.google.errorprone:error_prone_core from 2.38.0 …
dependabot[bot] Jul 1, 2025
7fa5838
chore(java): bump dep.org.checkerframework.version from 3.49.4 to 3.4…
dependabot[bot] Jul 1, 2025
52aaaae
chore(go/adbc): bump google.golang.org/api from 0.238.0 to 0.239.0 in…
dependabot[bot] Jul 1, 2025
10ab7cb
chore(java): bump org.junit:junit-bom from 5.13.1 to 5.13.2 in /java …
dependabot[bot] Jul 1, 2025
53c92aa
chore(csharp): Bump Azure.Identity and System.Diagnostics.DiagnosticS…
dependabot[bot] Jul 1, 2025
4897d2f
fix(csharp/src/Drivers/Databricks): Align ConnectionTimeout with Temp…
jackyhu-db Jul 1, 2025
ba2efd0
feat(csharp/src/Drivers/Databricks): Fix for older DBR versions incor…
toddmeng-db Jul 1, 2025
bab1efc
chore(rust): fix new clippy lints (#3076)
lidavidm Jul 1, 2025
fdf1659
chore(rust): bump test-with from 0.15.1 to 0.15.2 in /rust (#3070)
dependabot[bot] Jul 1, 2025
b49d821
docs: fix typo in docs/source/driver/jdbc.rst (#3081)
amoeba Jul 1, 2025
4fab33e
fix(go/adbc/driver/snowflake): fix copy concurrency 0 (#2805)
zeroshade Jul 1, 2025
d212b82
fix(r/adbcbigquery,r/adbcflightsql,r/adbcsnowflake): fix warnings on …
eitsupi Jul 2, 2025
c9fc5b9
docs: acknowledge Rust's existence (#3083)
lidavidm Jul 2, 2025
afaa188
chore(dev/release): add Python 3.13 to the default wheel test targets…
kou Jul 2, 2025
0676384
docs: add Snowflake and BigQuery drivers to Python API reference (#3088)
eitsupi Jul 2, 2025
d684439
docs: consistent use of `pushd` instead of `cd` in the contributing g…
eitsupi Jul 2, 2025
7237ddf
docs(rust/core): add simple usage of Driver Manager (#3086)
daipom Jul 2, 2025
a976914
fix(python/adbc_driver_bigquery): correct string value of credential …
jordepic Jul 3, 2025
1b04fca
feat(csharp/src/Drivers/Databricks): Add W3C trace context (#3082)
jadewang-db Jul 3, 2025
031654f
fix(csharp/src/Drivers/Databricks): Set the SqlState of the exception…
jackyhu-db Jul 3, 2025
386c820
fix(csharp/src/Drivers/Apache): generate type-consistent empty result…
birschick-bq Jul 3, 2025
f8d5a5c
fix(csharp/src/Drivers/Databricks): fix CloudFetchResultFetcher initi…
jadewang-db Jul 3, 2025
5649dc9
feat(csharp/src/Drivers/Databricks): Fix EnablePkFk (#3098)
toddmeng-db Jul 3, 2025
e93d181
feat(csharp/src/Drivers/Databricks): Remove redundant closeoperation …
toddmeng-db Jul 3, 2025
8fa2a22
chore(csharp/test/Drivers/Databricks): Split the Databricks test into…
jackyhu-db Jul 3, 2025
4146e56
ci: don't check for pings in PR body when it's Dependabot (#3094)
lidavidm Jul 6, 2025
b64864a
chore: update versions for 20-SNAPSHOT (#3104)
lidavidm Jul 7, 2025
218708c
fix(c/driver_manager): fix expected `;` for musl arch (#3105)
eitsupi Jul 7, 2025
3e481a6
feat(csharp/src/Drivers/BigQuery): Enhanced tracing and large results…
davidhcoe Jul 7, 2025
accec23
chore: go driver makefile now considers more source files as dependen…
VersusFacit Jul 7, 2025
875c0b2
fix(go/adbc): changing the location of FlightSQLDriverInit function (…
howareyouman Jul 7, 2025
49fbda1
chore(java): bump org.junit:junit-bom from 5.13.2 to 5.13.3 in /java …
dependabot[bot] Jul 7, 2025
d9762b0
chore(go/adbc): bump google.golang.org/api from 0.239.0 to 0.240.0 in…
dependabot[bot] Jul 8, 2025
6e0a9e5
chore(java): bump com.microsoft.sqlserver:mssql-jdbc from 12.10.1.jre…
dependabot[bot] Jul 8, 2025
fe23d35
docs: organize Documentation steps of CONTRIBUTING.md (#3100)
daipom Jul 8, 2025
cfb7f82
chore(go/adbc): bump github.com/snowflakedb/gosnowflake from 1.14.1 t…
dependabot[bot] Jul 8, 2025
8a1e55f
chore(rust): bump tokio from 1.45.1 to 1.46.1 in /rust (#3113)
dependabot[bot] Jul 8, 2025
58f1ce6
feat(glib): add AdbcStatementGetParameterSchema() bindings (#3118)
kou Jul 8, 2025
bc48e18
feat(csharp/src/Drivers): update drivers to .NET 8 (#3120)
CurtHagenlocher Jul 8, 2025
573a326
fix(csharp/src/Drivers/Databricks): Change fallback check of Databric…
jackyhu-db Jul 8, 2025
30e8856
feat(go/adbc/sqldriver): handle timestamp/time.Time values for input …
zeroshade Jul 9, 2025
9e90ff7
feat(csharp/src/Drivers/Apache): Add compression support for Spark, I…
kushaman Jul 10, 2025
a56528c
fix(csharp/src/Drivers/Databricks): Set GetObjectsPatternsRequireLowe…
jackyhu-db Jul 10, 2025
50addb4
fix(go/adbc/pkg): add PowerShell option to run when executing in a Wi…
davidhcoe Jul 10, 2025
2126e60
chore: fix typo (#3129)
daipom Jul 11, 2025
5a3bfcd
feat(csharp/src/Drivers/Databricks): Fix StatementTimeoutTest (#3133)
toddmeng-db Jul 11, 2025
241477e
feat(csharp/src/Drivers/Databricks): Remove redundant CloseOperation …
toddmeng-db Jul 11, 2025
bcd2d75
feat(csharp/src/Drivers/Databricks): Move DescribeTableExtended to ve…
toddmeng-db Jul 11, 2025
92c26ec
feat(rust/core): add function to load driver manifests (#3099)
zeroshade Jul 12, 2025
e8bfe17
fix(go/adbc/drivermgr): properly vendor toml++ (#3138)
zeroshade Jul 13, 2025
0fd80bc
chore(format): fix invalid Doxygen documentation (#3141)
rouault Jul 13, 2025
6148162
test(rust/core): ensure unset the env var before the test without the…
eitsupi Jul 13, 2025
442dce1
fix(rust/core): fix build errror on windows and enable ci for windows…
eitsupi Jul 14, 2025
00be00e
chore(csharp/test/Drivers/Databricks): Fix some test cases that have …
jackyhu-db Jul 14, 2025
4002336
chore(csharp/test/Drivers/Databricks): Add IsCITesting in DatabricksT…
jackyhu-db Jul 14, 2025
ef5aa5e
chore(csharp/test/Drivers/Databricks): Skip StatusPollerKeepsQueryAli…
jackyhu-db Jul 14, 2025
f3574fc
test(rust/core): use the temp-env package to test with env var (#3152)
eitsupi Jul 14, 2025
c0cc1dd
chore(rust): bump test-with from 0.15.2 to 0.15.3 in /rust (#3160)
dependabot[bot] Jul 15, 2025
d0cfdbc
chore(java): bump com.github.ben-manes.caffeine:caffeine from 3.2.1 t…
dependabot[bot] Jul 15, 2025
35b9a91
chore(java): bump com.google.errorprone:error_prone_core from 2.39.0 …
dependabot[bot] Jul 15, 2025
a7acf29
chore(go/adbc): bump golang.org/x/sync from 0.15.0 to 0.16.0 in /go/a…
dependabot[bot] Jul 15, 2025
34a3c50
chore(java): bump com.diffplug.spotless:spotless-maven-plugin from 2.…
dependabot[bot] Jul 15, 2025
8683993
chore(go/adbc): bump golang.org/x/tools from 0.34.0 to 0.35.0 in /go/…
dependabot[bot] Jul 15, 2025
e0e544f
chore(go/adbc): bump google.golang.org/api from 0.240.0 to 0.241.0 in…
dependabot[bot] Jul 15, 2025
f8ce11d
chore(rust): bump toml from 0.9.0 to 0.9.2 in /rust (#3163)
dependabot[bot] Jul 15, 2025
a7b546d
fix(csharp/src/Drivers/Databricks): correct tracing instrumentation f…
birschick-bq Jul 16, 2025
5338294
feat(csharp/test/Drivers/Databricks): Enable RunAsync option in TExec…
jackyhu-db Jul 16, 2025
fb9fca5
chore(rust/driver/datafusion)!: update to datafusion 48 (#3167)
mbrobbel Jul 17, 2025
65fd705
test(rust/driver/datafusion): don't use ffi for tests (#3172)
mbrobbel Jul 18, 2025
fab11bb
docs: generate driver status from README badges (#2890)
lidavidm Jul 18, 2025
ce56357
feat(go/adbc): add IngestStream helper for one-call ingestion and add…
Mandukhai-Alimaa Jul 18, 2025
ebb2fd0
fix(csharp/test/Drivers/Databricks): Change the default QueryTimeoutS…
jackyhu-db Jul 18, 2025
2528745
docs: add docs for driver manifests (#3176)
zeroshade Jul 21, 2025
593199d
chore(c/vendor): Update vendored nanoarrow to 0.7.0 (#2930)
paleolimbot Jul 21, 2025
49585fd
ci: keep testing sdists with manylinux2014 (#3184)
lidavidm Jul 22, 2025
e5c25e1
feat(csharp/test/Drivers/Databricks): Support token refresh to extend…
alexguo-db Jul 22, 2025
9e4e240
ci: bump Maven version used in nightly verification (#3185)
lidavidm Jul 22, 2025
34bc364
docs: minor edits for first version of driver manager docs (#3180)
amoeba Jul 22, 2025
cf68f9c
fix(csharp/test/Drivers/Databricks): Enrich RetryHttpHandler with oth…
alexguo-db Jul 22, 2025
a66d1e1
fix(csharp/test/Drivers/Databricks): Run token exchange in a backgrou…
alexguo-db Jul 22, 2025
cd2f264
fix(csharp/src/Drivers/Apache/Hive2): Remove unnecessary CloseOperati…
jackyhu-db Jul 23, 2025
298977a
fix(csharp/src/Drivers/BigQuery): Adjust default dataset id (#3187)
davidhcoe Jul 23, 2025
5cb4cf7
docs: fix typo in python/adbc_driver_postgresql/README.md (#3194)
amoeba Jul 24, 2025
04dbef5
feat(csharp/src/Drivers/Databricks): Use ArrowSchema for Response Sch…
toddmeng-db Jul 24, 2025
6182cdc
fix(csharp/test/Drivers/Databricks): Fix Pkfk Testcase (#3193)
toddmeng-db Jul 24, 2025
a4e32db
ci(rust): add test on windows with minimal deps versions (#3200)
eitsupi Jul 25, 2025
38dc738
fix(go/adbc/pkg): Run make regenerate to keep generated code in sync …
felipecrv Jul 25, 2025
9447523
feat(go/adbc/driver/bigquery): support service account impersonation …
yu-iskw Jul 26, 2025
e227b96
fix(go/adbc): Forward SQLSTATE and vendor code (#2801)
felipecrv Jul 28, 2025
c4c2977
chore: bump ruby/setup-ruby from 1.245.0 to 1.253.0 (#3205)
dependabot[bot] Jul 29, 2025
2ce7210
chore: bump google-github-actions/auth from 2.1.10 to 2.1.11 (#3207)
dependabot[bot] Jul 29, 2025
1056e64
chore(go/adbc): bump google.golang.org/grpc from 1.73.0 to 1.74.2 in …
dependabot[bot] Jul 29, 2025
a32a5e7
chore(java): bump com.microsoft.sqlserver:mssql-jdbc from 13.1.0.jre1…
dependabot[bot] Jul 29, 2025
9b359f3
chore(java): bump com.diffplug.spotless:spotless-maven-plugin from 2.…
dependabot[bot] Jul 29, 2025
d83d1e1
chore(go/adbc): bump github.com/apache/arrow-go/v18 from 18.3.1 to 18…
dependabot[bot] Jul 29, 2025
f0192b5
chore(go/adbc): bump modernc.org/sqlite from 1.38.0 to 1.38.1 in /go/…
dependabot[bot] Jul 29, 2025
e56cb1b
chore(go/adbc): bump google.golang.org/api from 0.241.0 to 0.243.0 in…
dependabot[bot] Jul 29, 2025
c00dbf4
chore(java): bump org.junit:junit-bom from 5.13.3 to 5.13.4 in /java …
dependabot[bot] Jul 29, 2025
ac90ff5
chore(rust): bump tokio from 1.46.1 to 1.47.0 in /rust (#3211)
dependabot[bot] Jul 30, 2025
b8e3e76
chore(java): bump com.google.errorprone:error_prone_core from 2.40.0 …
dependabot[bot] Jul 30, 2025
f41fa0d
fix(csharp/src/Drivers/Databricks): Add another fallback check of Get…
jackyhu-db Jul 30, 2025
4906532
feat(ruby): don't use adbc-arrow-glib (#3221)
kou Jul 30, 2025
314f009
docs: Fix pip install command for arrow-adbc-nightlies (#3222)
amoeba Jul 31, 2025
17b6ca9
feat(csharp/src/Apache.Arrow.Adbc/Tracing): allow ActivitySource tags…
birschick-bq Jul 31, 2025
7ff3364
feat(csharp/test/Drivers/Databricks): Add mandatory token exchange (#…
alexguo-db Jul 31, 2025
3b4ede4
docs: link to AdbcDriverInitFunc in how_manager.rst (#3227)
amoeba Aug 2, 2025
8f987fe
chore(rust/driver/datafusion): bump dependent datafusion and update m…
eitsupi Aug 4, 2025
003ed39
chore(rust): support arrow 56 (#3230)
eitsupi Aug 5, 2025
8b2e244
docs: clarify relationship specification.rst to adbc.h (#3226)
amoeba Aug 5, 2025
8775b20
fix(csharp/src/Drivers/Databricks): Set enable_run_async_thrift defau…
jackyhu-db Aug 5, 2025
0e3f485
chore: bump ruby/setup-ruby from 1.253.0 to 1.254.0 (#3237)
dependabot[bot] Aug 5, 2025
785ebdf
chore: bump google-github-actions/auth from 2.1.11 to 2.1.12 (#3236)
dependabot[bot] Aug 5, 2025
122a9a1
chore: bump docker/login-action from 3.4.0 to 3.5.0 (#3234)
dependabot[bot] Aug 5, 2025
5e9e19f
chore(go/adbc): bump google.golang.org/api from 0.243.0 to 0.244.0 in…
dependabot[bot] Aug 5, 2025
10ff466
chore(go/adbc): bump modernc.org/sqlite from 1.38.1 to 1.38.2 in /go/…
dependabot[bot] Aug 5, 2025
73890b6
feat(csharp/src/Drivers/Apache): Implement self signed ssl certificat…
sudhiremmadi Aug 5, 2025
15e161e
refactor(rust/core)!: move the driver_manager feature to the new adbc…
eitsupi Aug 5, 2025
0489d94
docs: improve go docs by adding a readme (#3204)
amoeba Aug 5, 2025
16269af
fix(c/driver_manager): use Driver.entrypoint as per docs (#3242)
zeroshade Aug 6, 2025
637fc28
fix(go/adbc/driver/bigquery): fix parsing repeated records with neste…
felipecrv Aug 7, 2025
6a8c2ae
fix(csharp/src/Drivers/BigQuery): add details for retried error messa…
davidhcoe Aug 7, 2025
c48f6fb
docs: fix invalid link in snowflake docs (#3246)
amoeba Aug 8, 2025
78b5c0e
fix(c/driver_manager): modify SYSTEM path behavior on macOS (#3250)
amoeba Aug 8, 2025
f0f36da
fix(csharp/src/Drivers/Databricks): Correct DatabricksCompositeReader…
toddmeng-db Aug 8, 2025
ba7f993
fix(csharp/src/Drivers/Databricks): Fix null pointer exception (#3261)
toddmeng-db Aug 9, 2025
a739955
test(c/driver_manager): Make DriverManifest::SetUp more resilient (#3…
amoeba Aug 10, 2025
d3d068e
fix(csharp/src/Drivers/Databricks): Reader Refactors (#3254)
toddmeng-db Aug 11, 2025
5f301d3
ci(rust): fix build issue on macos (#3264)
eitsupi Aug 12, 2025
864cb92
fix(rust/driver_manager): modify SYSTEM path behavior on macOS (#3252)
amoeba Aug 12, 2025
86fa773
chore: bump ruby/setup-ruby from 1.254.0 to 1.255.0 (#3273)
dependabot[bot] Aug 12, 2025
e004abd
chore(go/adbc): bump golang.org/x/tools from 0.35.0 to 0.36.0 in /go/…
dependabot[bot] Aug 12, 2025
d6c0144
chore(java): bump com.uber.nullaway:nullaway from 0.12.7 to 0.12.8 in…
dependabot[bot] Aug 12, 2025
0054b84
chore(go/adbc): bump google.golang.org/protobuf from 1.36.6 to 1.36.7…
dependabot[bot] Aug 12, 2025
d7c57ba
chore(java): bump org.assertj:assertj-core from 3.27.3 to 3.27.4 in /…
dependabot[bot] Aug 12, 2025
7ba29d2
chore(go/adbc): bump google.golang.org/api from 0.244.0 to 0.246.0 in…
dependabot[bot] Aug 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat(python/adbc_driver_manager): Update python driver_manager to loa…
…d manifests (apache#3018)

Adding a new function `AdbcDriverManagerDatabaseSetLoadFlags` so that
bindings can set the load flags into the Driver Manager's internal
`TempDatabase` to control the functionality of when to look for and load
manifests.

This also changes the Python driver_manager to load manifests by default
but allows passing a `load_flags` option to manually pass in load flags
to control the behavior. Also adding a new `driver_example_manifest.py`
recipe to the driver_example docs.
  • Loading branch information
zeroshade authored Jun 25, 2025
commit de9f1e799c59486fa6812a79c60b52f79d405f97
5 changes: 4 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,11 @@

*.stdout.txt linguist-generated
c/vendor/* linguist-vendored
go/adbc/drivermgr/adbc.h linguist-generated
go/adbc/drivermgr/arrow-adbc/adbc.h linguist-generated
go/adbc/drivermgr/arrow-adbc/adbc_driver_manager.h linguist-generated
go/adbc/drivermgr/adbc_driver_manager.cc linguist-generated
go/adbc/drivermgr/current_arch.h linguist-generated
go/adbc/pkg/bigquery/* linguist-generated
go/adbc/pkg/flightsql/* linguist-generated
go/adbc/pkg/panicdummy/* linguist-generated
go/adbc/pkg/snowflake/* linguist-generated
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ c/apidoc/objects.inv
docs/example.gz
docs/example1.dat
docs/example3.dat
docs/source/cpp/recipe_driver/driver_example.toml
python/.eggs/
python/doc/
# Egg metadata
Expand Down
23 changes: 19 additions & 4 deletions c/driver_manager/adbc_driver_manager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -983,6 +983,7 @@ struct TempDatabase {
std::string driver;
std::string entrypoint;
AdbcDriverInitFunc init_func = nullptr;
AdbcLoadFlags load_flags = ADBC_LOAD_FLAG_ALLOW_RELATIVE_PATHS;
};

/// Temporary state while the database is being configured.
Expand Down Expand Up @@ -1341,6 +1342,19 @@ AdbcStatusCode AdbcDatabaseSetOptionDouble(struct AdbcDatabase* database, const
return ADBC_STATUS_OK;
}

AdbcStatusCode AdbcDriverManagerDatabaseSetLoadFlags(struct AdbcDatabase* database,
AdbcLoadFlags flags,
struct AdbcError* error) {
if (database->private_driver) {
SetError(error, "Cannot SetLoadFlags after AdbcDatabaseInit");
return ADBC_STATUS_INVALID_STATE;
}

TempDatabase* args = reinterpret_cast<TempDatabase*>(database->private_data);
args->load_flags = flags;
return ADBC_STATUS_OK;
}

AdbcStatusCode AdbcDriverManagerDatabaseSetInitFunc(struct AdbcDatabase* database,
AdbcDriverInitFunc init_func,
struct AdbcError* error) {
Expand Down Expand Up @@ -1376,11 +1390,12 @@ AdbcStatusCode AdbcDatabaseInit(struct AdbcDatabase* database, struct AdbcError*
status = AdbcLoadDriverFromInitFunc(args->init_func, ADBC_VERSION_1_1_0,
database->private_driver, error);
} else if (!args->entrypoint.empty()) {
status = AdbcLoadDriver(args->driver.c_str(), args->entrypoint.c_str(),
ADBC_VERSION_1_1_0, database->private_driver, error);
status = AdbcFindLoadDriver(args->driver.c_str(), args->entrypoint.c_str(),
ADBC_VERSION_1_1_0, args->load_flags,
database->private_driver, error);
} else {
status = AdbcLoadDriver(args->driver.c_str(), nullptr, ADBC_VERSION_1_1_0,
database->private_driver, error);
status = AdbcFindLoadDriver(args->driver.c_str(), nullptr, ADBC_VERSION_1_1_0,
args->load_flags, database->private_driver, error);
}

if (status != ADBC_STATUS_OK) {
Expand Down
15 changes: 15 additions & 0 deletions c/include/arrow-adbc/adbc_driver_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,21 @@ AdbcStatusCode AdbcDriverManagerDatabaseSetInitFunc(struct AdbcDatabase* databas
AdbcDriverInitFunc init_func,
struct AdbcError* error);

/// \brief Set the load flags for the driver manager.
///
/// This is an extension to the ADBC API. The driver manager shims
/// the AdbcDatabase* functions to allow you to specify the
/// driver/entrypoint dynamically. This function lets you set the
/// load flags explicitly, for applications that can dynamically
/// load drivers on their own.
///
/// If this function isn't called, the default load flags are just to
/// allow relative paths, disallowing the lookups of manifests.
ADBC_EXPORT
AdbcStatusCode AdbcDriverManagerDatabaseSetLoadFlags(struct AdbcDatabase* database,
AdbcLoadFlags flags,
struct AdbcError* error);

/// \brief Get a human-friendly description of a status code.
ADBC_EXPORT
const char* AdbcStatusCodeMessage(AdbcStatusCode code);
Expand Down
10 changes: 10 additions & 0 deletions docs/source/cpp/driver_example.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,13 @@ package.
data.frame(col = 1:3) |> write_adbc(con, "example.arrows")
con |> read_adbc("SELECT * FROM example.arrows") |> as.data.frame()
unlink("example.arrows")

Driver Manifests
================

.. recipe:: recipe_driver/driver_example_manifest.py

Driver manifests can provide an easier way to install and manage ADBC drivers,
via TOML files that describe some metadata along with the path to the driver
shared library. The driver manager can read these manifests to locate and load
drivers dynamically.
8 changes: 8 additions & 0 deletions docs/source/cpp/recipe_driver/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,14 @@ target_link_libraries(driver_example PRIVATE adbc_driver_framework

install(TARGETS driver_example)

include(./get_arch.cmake)
cmake_path(SET DRIVER_PATH "${CMAKE_INSTALL_PREFIX}")
cmake_path(APPEND DRIVER_PATH "${CMAKE_INSTALL_LIBDIR}"
"${CMAKE_SHARED_LIBRARY_PREFIX}driver_example${CMAKE_SHARED_LIBRARY_SUFFIX}")

configure_file(driver_example.toml.in "${CMAKE_CURRENT_SOURCE_DIR}/driver_example.toml"
@ONLY)

if(ADBC_DRIVER_EXAMPLE_BUILD_TESTS)
fetchcontent_declare(googletest
URL https://github.com/google/googletest/archive/refs/tags/v1.15.1.tar.gz
Expand Down
29 changes: 29 additions & 0 deletions docs/source/cpp/recipe_driver/driver_example.toml.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name = 'Driver Example'
publisher = 'arrow-adbc-docs'
license = 'Apache-2.0'
version = '@CMAKE_PROJECT_VERSION@'
source = 'recipe'

[ADBC]
version = 'v1.1.0'

[Driver]
[Driver.shared]
@OS@_@ARCH@@EXTRA@ = '@DRIVER_PATH@'
64 changes: 64 additions & 0 deletions docs/source/cpp/recipe_driver/driver_example_manifest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

# RECIPE STARTS HERE
#: After verifying the basic driver functionality, we can use the
#: ``adbc_driver_manager`` Python package's built-in dbapi implementation
#: to expose a ready-to-go Pythonic database API. This is also useful for
#: high-level testing!
#:
#: First, we'll import pathlib for a few path calculations and the
#: ``adbc_driver_manager``'s ``dbapi`` module:
from pathlib import Path

from adbc_driver_manager import dbapi


#: Next, we'll define a ``connect()`` function that wraps ``dbapi.connect()``
#: with the location the .toml manifest file which points to the shared library
#: we built using ``cmake`` in the previous section.
#: For the purposes of our tutorial, this will be in current directory.
def connect(uri: str):
# we can point to the manifest file directly
manifest_file = Path(".") / "driver_example.toml"
if manifest_file.exists():
return dbapi.connect(
driver=str(manifest_file.resolve()), db_kwargs={"uri": uri}
)

# alternatively, it can look for the manifest file in the user's config
# directory ($HOME/.config/adbc/driver_example.toml) or the system's
# config directory (/etc/adbc/driver_example.toml)
return dbapi.connect(driver="driver_example", db_kwargs={"uri": uri})


#: Next, we can give our driver a go! The two pieces we implemented in the driver
#: were the "bulk ingest" feature and "select all from", so let's see if it works!
if __name__ == "__main__":
import pyarrow

with connect(uri=Path(__file__).parent.as_uri()) as con:
data = pyarrow.table({"col": [1, 2, 3]})
with con.cursor() as cur:
cur.adbc_ingest("example.arrows", data, mode="create")

with con.cursor() as cur:
cur.execute("SELECT * FROM example.arrows")
print(cur.fetchall())
# Output: [(1,), (2,), (3,)]

(Path(__file__).parent / "example.arrows").unlink()

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

68 changes: 68 additions & 0 deletions docs/source/cpp/recipe_driver/get_arch.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

if(WIN32)
set(OS "windows")
elseif(APPLE)
set(OS "osx")
else()
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
set(OS "freebsd")
else()
set(OS "linux")
endif()
endif()

if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|amd64|AMD64)$")
set(ARCH "amd64")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(i386|i486|i586|i686)$")
set(ARCH "x86")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv8b|armv8l|aarch64|arm64|AARCH64|ARM64)$")
set(ARCH "arm64")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7l|armhf|arm)$")
set(ARCH "arm")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(ppc|ppc64|ppcle|ppc64le)$")
set(ARCH "powerpc")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64")
set(ARCH "riscv")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(s390|s390x)$")
set(ARCH "s390x")
else()
message(FATAL_ERROR "Unsupported architecture: ${CMAKE_SYSTEM_PROCESSOR}")
endif()

if(NOT APPLE)
include(CheckCSourceRuns)

check_c_source_runs([=[
#include <stdlib.h>
#if defined(__GLIBC__)
#error "GLIBC detected"
#elif defined(__MUSL__)
int main(void) { return EXIT_SUCCESS; }
#else
#error "Neither GLIBC nor Musl detected"
#endif
]=]
IS_MUSL)

if(MINGW)
set(EXTRA "_mingw")
elseif(IS_MUSL)
set(EXTRA "_musl")
endif()
endif()
23 changes: 19 additions & 4 deletions go/adbc/drivermgr/adbc_driver_manager.cc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions go/adbc/drivermgr/arrow-adbc/adbc_driver_manager.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions python/adbc_driver_manager/adbc_driver_manager/_lib.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -291,3 +291,10 @@ cdef object convert_error(CAdbcStatusCode status, CAdbcError* error)

cdef extern from "arrow-adbc/adbc_driver_manager.h":
const char* CAdbcStatusCodeMessage"AdbcStatusCodeMessage"(CAdbcStatusCode code)

ctypedef uint32_t CAdbcLoadFlags"AdbcLoadFlags"
cdef CAdbcLoadFlags CAdbcLoadFlagDefault"ADBC_LOAD_FLAG_DEFAULT"
CAdbcStatusCode AdbcDriverManagerDatabaseSetLoadFlags(
CAdbcDatabase* database,
CAdbcLoadFlags flags,
CAdbcError* error)
8 changes: 8 additions & 0 deletions python/adbc_driver_manager/adbc_driver_manager/_lib.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -536,10 +536,18 @@ cdef class AdbcDatabase(_AdbcHandle):
status = AdbcDatabaseNew(&self.database, &c_error)
check_error(status, &c_error)

# by default, allow searching for manifests and relative paths
status = AdbcDriverManagerDatabaseSetLoadFlags(
&self.database, CAdbcLoadFlagDefault, &c_error)
check_error(status, &c_error)

for key, value in kwargs.items():
if key == "init_func":
status = AdbcDriverManagerDatabaseSetInitFunc(
&self.database, <CAdbcDriverInitFunc> (<uintptr_t> value), &c_error)
elif key == "load_flags":
status = AdbcDriverManagerDatabaseSetLoadFlags(
&self.database, <CAdbcLoadFlags> (value), &c_error)
elif key is None:
raise ValueError("key cannot be None")
elif value is None:
Expand Down