Skip to content

Commit 2da22ea

Browse files
committed
Update to latest stable ADBC
1 parent 674fe85 commit 2da22ea

File tree

74 files changed

+20991
-715
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+20991
-715
lines changed

3rd_party/apache-arrow-adbc/CHANGELOG.md

Lines changed: 117 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@
347347
- **c/driver/postgresql,c/driver/sqlite**: Implement FOREIGN KEY constraints (#1099)
348348
- **go/adbc/driver/flightsql**: log new connections (#1146)
349349
- **c/driver/postgresql**: add integral COPY writers (#1130)
350-
- **c/driver/postgresql**: Inital COPY Writer design (#1110)
350+
- **c/driver/postgresql**: Initial COPY Writer design (#1110)
351351
- **c/driver/postgresql,c/driver/sqlite**: implement BOOL support in drivers (#1091)
352352

353353
### Fix
@@ -690,7 +690,7 @@
690690
- **ci**: Pin r-lib actions as a workaround for latest action updates (#2051)
691691
- **csharp/src/Drivers/BigQuery**: update BigQuery documents (#2047)
692692
- **go/adbc/driver/snowflake**: split files properly after reaching targetSize on ingestion (#2026)
693-
- **c/driver/postgresql**: Ensure schema ordering is consisent and respects case sensitivity of table names (#2028)
693+
- **c/driver/postgresql**: Ensure schema ordering is consistent and respects case sensitivity of table names (#2028)
694694
- **docs**: update broken link (#2016)
695695
- **docs**: correct snowflake options for bulk ingest (#2004)
696696
- **go/adbc/driver/flightsql**: propagate headers in GetObjects (#1996)
@@ -915,3 +915,118 @@
915915
- rework "What exactly is ADBC?" in FAQ (#2763)
916916
- update implementation status table (#2580)
917917
- **rust**: show driver_manager features on docs.rs (#2699)
918+
919+
## ADBC Libraries 19 (2025-07-02)
920+
921+
### Versions
922+
923+
- C/C++/GLib/Go/Python/Ruby: 1.7.0
924+
- C#: 0.19.0
925+
- Java: 0.19.0
926+
- R: 0.19.0
927+
- Rust: 0.19.0
928+
929+
### Breaking Changes
930+
931+
- ⚠️ **rust**: Let immutable drivers create connections (#2788)
932+
933+
### New Features
934+
935+
- **c/driver/postgresql**: add read support for int2vector (#2919)
936+
- **c/driver_manager**: add new function to allow loading by manifest (#2918)
937+
- **csharp**: Sanitize thrift protocol generated code for Databricks driver (#2787)
938+
- **csharp/src/Apache.Arrow.Adbc**: OpenTelemetry tracing baseline (#2847)
939+
- **csharp/src/Drivers/Apache**: Add escape underscore parameter to metadata command (#2920)
940+
- **csharp/src/Drivers/Apache**: Add support for Sasl transport in Hive and Impala ADBC Driver (#2822)
941+
- **csharp/src/Drivers/Apache**: Format HiveServer2Exception messages (#2934)
942+
- **csharp/src/Drivers/Apache**: Implement GetColumnsExtended metadata for Databricks (#2766)
943+
- **csharp/src/Drivers/Apache**: Implement Standard SSL mode for Impala (#2745)
944+
- **csharp/src/Drivers/Databricks**: Add cloud fetch heartbeat polling tests (#2898)
945+
- **csharp/src/Drivers/Databricks**: Add configurable multiple catalog support (#2845)
946+
- **csharp/src/Drivers/Databricks**: Allow configurable auth scope for client-credentials flow (#2803)
947+
- **csharp/src/Drivers/Databricks**: BaseDatabricksReader (#2842)
948+
- **csharp/src/Drivers/Databricks**: Databricks Proxy Configurator (#2789)
949+
- **csharp/src/Drivers/Databricks**: Default catalog + schema support (#2806)
950+
- **csharp/src/Drivers/Databricks**: Default catalogs edge cases (#2896)
951+
- **csharp/src/Drivers/Databricks**: Fix for older DBR versions incorrect ResultFormat (#3020)
952+
- **csharp/src/Drivers/Databricks**: Fix initial catalog typo (#3057)
953+
- **csharp/src/Drivers/Databricks**: Fix status polling test (#2838)
954+
- **csharp/src/Drivers/Databricks**: Fixes to heartbeat polling (#2851)
955+
- **csharp/src/Drivers/Databricks**: Handle legacy SPARK catalog (#2884)
956+
- **csharp/src/Drivers/Databricks**: Implement CloudFetchUrlManager to handle presigned URL expiration in CloudFetch (#2855)
957+
- **csharp/src/Drivers/Databricks**: Integrate OAuthClientCredentialsProvider with Databricks Driver (#2762)
958+
- **csharp/src/Drivers/Databricks**: Integrate ProxyConfigurations with Drivers (#2794)
959+
- **csharp/src/Drivers/Databricks**: Multiple catalogs with default database (#2921)
960+
- **csharp/src/Drivers/Databricks**: OAuthClientCredentialsProvider test improvements (#2799)
961+
- **csharp/src/Drivers/Databricks**: Optimize GetColumnsExtendedAsync via DESC TABLE EXTENDED (#2953)
962+
- **csharp/src/Drivers/Databricks**: Poll status to keep query alive (#2820)
963+
- **csharp/src/Drivers/Databricks**: Primary Key and Foreign Key Metadata Optimization (#2886)
964+
- **csharp/src/Drivers/Databricks**: Protocol feature negotiator (#2985)
965+
- **glib**: Add gadbc_database_set_load_flags() (#3041)
966+
- **go/adbc**: prototype OpenTelemetry trace file exporter in go driver (#2729)
967+
- **go/adbc/driver**: initial tracing instrumentation for Snowflake driver (#2825)
968+
- **go/adbc/driver/flightsql**: add SSL root certs to oauth (#2829)
969+
- **go/adbc/driver/snowflake**: New setting to set the maximum timestamp precision to microseconds (#2917)
970+
- **go/adbc/drivermgr**: Set default load flags for drivermgr to load manifests (#3021)
971+
- **python/adbc_driver_manager**: Update python driver_manager to load manifests (#3018)
972+
- **python/adbc_driver_manager**: accept pathlib.Path in Database (#3035)
973+
- **python/adbc_driver_manager**: simplify autocommit=True (#2990)
974+
- **python/adbc_driver_manager**: support more APIs sans PyArrow (#2839)
975+
- **r/adbcdrivermanager**: Add load by manifest to adbcdrivermanager (#3036)
976+
977+
### Bugfixes
978+
979+
- **.github/workflows**: update windows os version for csharp workflow (#2950)
980+
- **c**: Ignore dl dependency on Windows with Meson (#2848)
981+
- **c**: enable linking to static builds (#2738)
982+
- **c/driver/postgresql**: ingest zoned timestamp as WITH TIME ZONE (#2904)
983+
- **c/validation**: Use disabler pattern for validation_dep in Meson (#2849)
984+
- **csharp/src/Drivers**: Add FK_NAME and KEQ_SEQ fields to GetColumnsExtended and improve type handling (#2959)
985+
- **csharp/src/Drivers**: Enhance pattern wildcard escaping in metadata operations (#2960)
986+
- **csharp/src/Drivers/Apache**: improve metadata query handling (#2926)
987+
- **csharp/src/Drivers/Apache/Hive2**: Add ServerProtocolVersion in Connection (#2948)
988+
- **csharp/src/Drivers/Apache/Hive2**: improve foreign key handling in GetColumnsExtended (#2894)
989+
- **csharp/src/Drivers/BigQuery**: Fix the bug about QueryResultsOptions and script statement (#2796)
990+
- **csharp/src/Drivers/BigQuery**: Fix the bug about large result and timeout (#2810)
991+
- **csharp/src/Drivers/BigQuery**: Prevent callers from attempting to use the public project ID to create query jobs (#2966)
992+
- **csharp/src/Drivers/BigQuery**: TIME should be Time64Type.Microsecond (#2741)
993+
- **csharp/src/Drivers/Databricks**: Align ConnectionTimeout with TemporarilyUnavailableRetryTimeout (#3073)
994+
- **csharp/src/Drivers/Databricks**: Fix parsing of lowercase server side properties (#2885)
995+
- **csharp/src/Drivers/Databricks**: Remove redundant statement close operation (#2952)
996+
- **csharp/src/Drivers/Databricks**: increase default retry timeout (#2925)
997+
- **docs**: Add `cmake --build` step (#2840)
998+
- **docs**: update go install command in flight sql recipe (#2798)
999+
- **go/adbc**: adding back compatibility for function FlightSQLDriverInit (#3056)
1000+
- **go/adbc/driver**: inject version to built Go drivers (#2916)
1001+
- **go/adbc/driver/internal/driverbase**: Ensure to propagate the traceParent from the driver/database to connection (#2951)
1002+
- **go/adbc/driver/internal/driverbase**: fix missing interface func (#3009)
1003+
- **go/adbc/driver/snowflake**: Adjust the precision of the Timestamp values in the JSON-only path (#2965)
1004+
- **go/adbc/driver/snowflake**: Boolean columns return as string types in an empty recordset schema (#2854)
1005+
- **go/adbc/driver/snowflake**: fix copy concurrency 0 (#2805)
1006+
- **go/adbc/driver/snowflake**: set log level to not spam console (#2807)
1007+
- **python/adbc_driver_manager**: don't leak array streams (#2922)
1008+
- **r/adbcbigquery, r/adbcflightsql, r/adbcsnowflake**: fix warnings on R CMD check for Go-based drivers (#3061)
1009+
- **r/adbcsnowflake**: Fix configuration of adbcsnowflake when configure is run from a git shell (#2771)
1010+
- **r/adbcsqlite**: Don't print results of compilation failure when checking for extension support (#3003)
1011+
- ⚠️ **rust**: Let immutable drivers create connections (#2788)
1012+
- **rust**: fix `package.rust-version` fields to match to MSRV (#2997)
1013+
- **rust/core**: URLs pointing to `adbc.h` in docs (#2883)
1014+
- **rust/core**: use $crate so driver export works outside crate (#2808)
1015+
1016+
### Documentation Improvements
1017+
1018+
- acknowledge Rust's existence (#3083)
1019+
- add USE_COPY recipe and update PostgreSQL docs (#2859)
1020+
- add installation of basic Python dependencies to CONTRIBUTING.md (#3053)
1021+
- add missing mention of Python in supported languages (#2853)
1022+
- describe Snowflake URI creation (#3062)
1023+
- fix target name for c/c++ quickstart (#2906)
1024+
- fix typo (#2862)
1025+
- fix typo (#2888)
1026+
- fix typo in docs/source/driver/jdbc.rst (#3081)
1027+
- show a warning banner when viewing old/dev docs (#2860)
1028+
- update CONTRIBUTING to use mamba consistently (#2995)
1029+
- update installation commands for R (#3060)
1030+
- update jdbc.rst to fix dependency artifact ID mismatch (#2976)
1031+
- **rust**: add ADBC_SNOWFLAKE_GO_LIB_DIR requirement (#2984)
1032+
- **rust**: add protobuf requirement (#2964)

3rd_party/apache-arrow-adbc/CONTRIBUTING.md

Lines changed: 37 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ $ mamba create -n adbc --file ci/conda_env_cpp.txt
4040
$ mamba activate adbc
4141
```
4242

43+
Also you can add dependencies to an existing environment as follows:
44+
45+
```shell
46+
$ mamba activate adbc
47+
$ mamba install --file ci/conda_env_cpp.txt
48+
```
49+
4350
(For other Conda distributions, you will likely need `create ... -c
4451
conda-forge --file ...`).
4552

@@ -92,6 +99,7 @@ You can use CMake presets to build and test:
9299
$ mkdir build
93100
$ cd build
94101
$ cmake ../c --preset debug
102+
$ cmake --build .
95103
# ctest reads presets from PWD
96104
$ cd ../c
97105
$ ctest --preset debug --test-dir ../build
@@ -202,8 +210,8 @@ A list of dependencies for Conda (conda-forge) is included, and can be
202210
used as follows:
203211

204212
```shell
205-
$ conda create -n adbc -c conda-forge --file ci/conda_env_docs.txt
206-
$ conda activate adbc
213+
$ mamba create -n adbc --file ci/conda_env_docs.txt
214+
$ mamba activate adbc
207215
# Mermaid must be installed separately
208216
# While "global", it will end up in your Conda environment
209217
$ npm install -g @mermaid-js/mermaid-cli
@@ -260,8 +268,8 @@ A list of dependencies for Conda (conda-forge) is included, and can be
260268
used as follows:
261269

262270
```shell
263-
$ conda create -n adbc -c conda-forge --file ci/conda_env_glib.txt
264-
$ conda activate adbc
271+
$ mamba create -n adbc --file ci/conda_env_glib.txt
272+
$ mamba activate adbc
265273
```
266274

267275

@@ -360,6 +368,7 @@ individual READMEs for additional dependencies. In general, that
360368
means all projects can be built as follows:
361369

362370
```shell
371+
$ mamba install --file ci/conda_env_python.txt
363372
$ cd python/adbc_driver_manager
364373
$ pip install -e .
365374
```
@@ -424,22 +433,34 @@ linters, formatters, and other analysis. For example:
424433
# Install pre-commit
425434
$ pip install pre-commit
426435
# or alternatively
427-
$ conda install -c conda-forge --file ci/conda_env_dev.txt
436+
$ mamba install --file ci/conda_env_dev.txt
428437
# Set up hooks
429438
$ pre-commit install
430439
# Run manually
431440
$ pre-commit run
432-
Check Xml............................................(no files to check)Skipped
433-
Check Yaml...........................................(no files to check)Skipped
434-
Fix End of Files.....................................(no files to check)Skipped
435-
Trim Trailing Whitespace.............................(no files to check)Skipped
436-
clang-format.........................................(no files to check)Skipped
437-
cmake-format.........................................(no files to check)Skipped
438-
cpplint..............................................(no files to check)Skipped
439-
Google Java Formatter................................(no files to check)Skipped
440-
black................................................(no files to check)Skipped
441-
flake8...............................................(no files to check)Skipped
442-
isort................................................(no files to check)Skipped
441+
check xml.................................................................(no files to check)Skipped
442+
check yaml................................................................(no files to check)Skipped
443+
fix end of files..........................................................(no files to check)Skipped
444+
Mixed line endings (LF)...................................................(no files to check)Skipped
445+
Mixed line endings (CRLF).................................................(no files to check)Skipped
446+
trim trailing whitespace..................................................(no files to check)Skipped
447+
clang-format..............................................................(no files to check)Skipped
448+
cmake-format..............................................................(no files to check)Skipped
449+
cpplint...................................................................(no files to check)Skipped
450+
golangci-lint.............................................................(no files to check)Skipped
451+
Go Formatter..............................................................(no files to check)Skipped
452+
Google (or Palantir) Java Formatter.......................................(no files to check)Skipped
453+
black.....................................................................(no files to check)Skipped
454+
flake8....................................................................(no files to check)Skipped
455+
isort.....................................................................(no files to check)Skipped
456+
cython-lint...............................................................(no files to check)Skipped
457+
Vala-Lint.................................................................(no files to check)Skipped
458+
meson.....................................................................(no files to check)Skipped
459+
Check for unapproved licenses.............................................(no files to check)Skipped
460+
Ensure CGO adbc.h is syncd................................................(no files to check)Skipped
461+
Ensure GitHub Actions and pre-commit hooks are pinned to a specific SHA...(no files to check)Skipped
462+
rustfmt...................................................................(no files to check)Skipped
463+
codespell.................................................................(no files to check)Skipped
443464
# Hooks automatically run on commit
444465
$ git commit
445466
```

0 commit comments

Comments
 (0)