Skip to content

Commit

Permalink
merge fix
Browse files Browse the repository at this point in the history
  • Loading branch information
David Coe committed Oct 5, 2023
2 parents 18bfecb + e419d86 commit 5aef0d7
Show file tree
Hide file tree
Showing 210 changed files with 9,723 additions and 3,387 deletions.
1 change: 1 addition & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ github:
collaborators:
- krlmlr
- nbenn
- ywc88
enabled_merge_buttons:
merge: false
rebase: false
Expand Down
80 changes: 57 additions & 23 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ jobs:
--file ci/conda_env_python.txt
- uses: actions/setup-go@v3
with:
go-version: 1.18.10
go-version: 1.19.13
check-latest: true
cache: true
cache-dependency-path: go/adbc/go.sum
Expand Down Expand Up @@ -186,19 +186,6 @@ jobs:
postgresql:
name: "PostgreSQL Integration Tests"
runs-on: ubuntu-latest
services:
postgres:
image: postgres
env:
POSTGRES_DB: tempdb
POSTGRES_PASSWORD: password
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -231,35 +218,82 @@ jobs:
env:
BUILD_ALL: "0"
BUILD_DRIVER_POSTGRESQL: "1"
ADBC_USE_ASAN: "OFF"
ADBC_USE_UBSAN: "OFF"
run: |
./ci/scripts/cpp_build.sh "$(pwd)" "$(pwd)/build"
- name: Test PostgreSQL Driver
- name: Build Python PostgreSQL Driver
shell: bash -l {0}
env:
BUILD_ALL: "0"
BUILD_DRIVER_MANAGER: "1"
BUILD_DRIVER_POSTGRESQL: "1"
run: |
./ci/scripts/python_build.sh "$(pwd)" "$(pwd)/build"
- name: Test PostgreSQL Driver - postgres 11
shell: bash -l {0}
env:
BUILD_ALL: "0"
BUILD_DRIVER_POSTGRESQL: "1"
ADBC_USE_ASAN: "ON"
ADBC_USE_UBSAN: "ON"
ADBC_POSTGRESQL_TEST_URI: "postgresql://localhost:5432/postgres?user=postgres&password=password"
run: |
env POSTGRES_VERSION=11 docker compose up --wait --detach postgres-test
./ci/scripts/cpp_test.sh "$(pwd)/build"
- name: Build Python PostgreSQL Driver
./ci/scripts/python_test.sh "$(pwd)" "$(pwd)/build"
docker compose down
- name: Test PostgreSQL Driver - postgres 12
shell: bash -l {0}
env:
BUILD_ALL: "0"
BUILD_DRIVER_MANAGER: "1"
BUILD_DRIVER_POSTGRESQL: "1"
ADBC_USE_ASAN: "ON"
ADBC_USE_UBSAN: "ON"
ADBC_POSTGRESQL_TEST_URI: "postgresql://localhost:5432/postgres?user=postgres&password=password"
run: |
./ci/scripts/python_build.sh "$(pwd)" "$(pwd)/build"
- name: Test Python PostgreSQL Driver
env POSTGRES_VERSION=12 docker compose up --wait --detach postgres-test
./ci/scripts/cpp_test.sh "$(pwd)/build"
./ci/scripts/python_test.sh "$(pwd)" "$(pwd)/build"
docker compose down
- name: Test PostgreSQL Driver - postgres 13
shell: bash -l {0}
env:
BUILD_ALL: "0"
BUILD_DRIVER_POSTGRESQL: "1"
ADBC_USE_ASAN: "ON"
ADBC_USE_UBSAN: "ON"
ADBC_POSTGRESQL_TEST_URI: "postgresql://localhost:5432/postgres?user=postgres&password=password"
run: |
env POSTGRES_VERSION=13 docker compose up --wait --detach postgres-test
./ci/scripts/cpp_test.sh "$(pwd)/build"
./ci/scripts/python_test.sh "$(pwd)" "$(pwd)/build"
docker compose down
- name: Test PostgreSQL Driver - postgres 14
shell: bash -l {0}
env:
BUILD_ALL: "0"
BUILD_DRIVER_POSTGRESQL: "1"
ADBC_USE_ASAN: "ON"
ADBC_USE_UBSAN: "ON"
ADBC_POSTGRESQL_TEST_URI: "postgresql://localhost:5432/postgres?user=postgres&password=password"
run: |
env POSTGRES_VERSION=14 docker compose up --wait --detach postgres-test
./ci/scripts/cpp_test.sh "$(pwd)/build"
./ci/scripts/python_test.sh "$(pwd)" "$(pwd)/build"
docker compose down
- name: Test PostgreSQL Driver - postgres 15
shell: bash -l {0}
env:
BUILD_ALL: "0"
BUILD_DRIVER_POSTGRESQL: "1"
ADBC_USE_ASAN: "ON"
ADBC_USE_UBSAN: "ON"
ADBC_POSTGRESQL_TEST_URI: "postgresql://localhost:5432/postgres?user=postgres&password=password"
run: |
env POSTGRES_VERSION=15 docker compose up --wait --detach postgres-test
./ci/scripts/cpp_test.sh "$(pwd)/build"
./ci/scripts/python_test.sh "$(pwd)" "$(pwd)/build"
docker compose down
snowflake:
name: "Snowflake Integration Tests"
Expand Down Expand Up @@ -293,7 +327,7 @@ jobs:
--file ci/conda_env_python.txt
- uses: actions/setup-go@v3
with:
go-version: 1.18.10
go-version: 1.19.13
check-latest: true
cache: true
cache-dependency-path: go/adbc/go.sum
Expand Down
20 changes: 5 additions & 15 deletions .github/workflows/java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,19 +43,6 @@ jobs:
strategy:
matrix:
java: ['8', '11', '17', '20']
services:
postgres:
image: postgres
env:
POSTGRES_DB: postgres
POSTGRES_PASSWORD: password
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v3
with:
Expand All @@ -66,13 +53,16 @@ jobs:
cache: "maven"
distribution: "temurin"
java-version: ${{ matrix.java }}
- name: Start SQLite server
- name: Start test services
shell: bash -l {0}
run: |
docker-compose up -d flightsql-sqlite-test
docker compose up -d --wait flightsql-sqlite-test mssql-test postgres-test
- name: Build/Test
env:
ADBC_SQLITE_FLIGHTSQL_URI: "grpc+tcp://localhost:8080"
ADBC_JDBC_MSSQL_URL: "localhost:1433"
ADBC_JDBC_MSSQL_USER: "SA"
ADBC_JDBC_MSSQL_PASSWORD: "Password1!"
ADBC_JDBC_POSTGRESQL_URL: "localhost:5432/postgres"
ADBC_JDBC_POSTGRESQL_USER: "postgres"
ADBC_JDBC_POSTGRESQL_PASSWORD: "password"
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/native-unix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ jobs:
--file ci/conda_env_cpp.txt
- uses: actions/setup-go@v3
with:
go-version: 1.18.10
go-version: 1.19.13
check-latest: true
cache: true
cache-dependency-path: go/adbc/go.sum
Expand All @@ -112,14 +112,14 @@ jobs:
export ADBC_BUILD_TESTS=OFF
export ADBC_USE_ASAN=OFF
export ADBC_USE_UBSAN=OFF
export PATH=$RUNNER_TOOL_CACHE/go/1.18.10/x64/bin:$PATH
export PATH=$RUNNER_TOOL_CACHE/go/1.19.13/x64/bin:$PATH
./ci/scripts/cpp_build.sh "$(pwd)" "$(pwd)/build" "$HOME/local"
- name: Go Build
shell: bash -l {0}
env:
CGO_ENABLED: "1"
run: |
export PATH=$RUNNER_TOOL_CACHE/go/1.18.10/x64/bin:$PATH
export PATH=$RUNNER_TOOL_CACHE/go/1.19.13/x64/bin:$PATH
./ci/scripts/go_build.sh "$(pwd)" "$(pwd)/build" "$HOME/local"
- uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -361,7 +361,7 @@ jobs:
--file ci/conda_env_cpp.txt
- uses: actions/setup-go@v3
with:
go-version: 1.18.10
go-version: 1.19.13
check-latest: true
cache: true
cache-dependency-path: go/adbc/go.sum
Expand All @@ -378,7 +378,7 @@ jobs:
- name: Go Build
shell: bash -l {0}
run: |
export PATH=$RUNNER_TOOL_CACHE/go/1.18.10/x64/bin:$PATH
export PATH=$RUNNER_TOOL_CACHE/go/1.19.13/x64/bin:$PATH
./ci/scripts/go_build.sh "$(pwd)" "$(pwd)/build" "$HOME/local"
- name: Run Staticcheck
if: ${{ !contains('macos-latest', matrix.os) }}
Expand All @@ -392,7 +392,7 @@ jobs:
env:
SNOWFLAKE_URI: ${{ secrets.SNOWFLAKE_URI }}
run: |
export PATH=$RUNNER_TOOL_CACHE/go/1.18.10/x64/bin:$PATH
export PATH=$RUNNER_TOOL_CACHE/go/1.19.13/x64/bin:$PATH
./ci/scripts/go_test.sh "$(pwd)" "$(pwd)/build" "$HOME/local"
# ------------------------------------------------------------
Expand Down Expand Up @@ -441,7 +441,7 @@ jobs:
--file ci/conda_env_python.txt
- uses: actions/setup-go@v3
with:
go-version: 1.18.10
go-version: 1.19.13
check-latest: true
cache: true
cache-dependency-path: go/adbc/go.sum
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/native-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ jobs:
--file ci/conda_env_cpp.txt
- uses: actions/setup-go@v3
with:
go-version: 1.18.10
go-version: 1.20.8
check-latest: true
cache: true
cache-dependency-path: go/adbc/go.sum
Expand All @@ -238,15 +238,15 @@ jobs:
env:
CGO_ENABLED: "1"
run: |
$env:PATH="$($env:RUNNER_TOOL_CACHE)\go\1.18.10\x64\bin;" + $env:PATH
$env:PATH="$($env:RUNNER_TOOL_CACHE)\go\1.20.8\x64\bin;" + $env:PATH
.\ci\scripts\go_build.ps1 $pwd $pwd\build
# TODO(apache/arrow#358): enable these tests on Windows
# - name: Go Test
# shell: pwsh
# env:
# CGO_ENABLED: "1"
# run: |
# $env:PATH="$($env:RUNNER_TOOL_CACHE)\go\1.18.10\x64\bin;" + $env:PATH
# $env:PATH="$($env:RUNNER_TOOL_CACHE)\go\1.20.8\x64\bin;" + $env:PATH
# .\ci\scripts\go_test.ps1 $pwd $pwd\build

# ------------------------------------------------------------
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/nightly-verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ permissions:

jobs:
source:
# For cron: only run on the main repo, not forks
if: github.event_name != 'schedule' || github.repository == 'apache/arrow-adbc'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Expand Down
31 changes: 9 additions & 22 deletions .github/workflows/packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ jobs:
source:
name: Source
runs-on: ubuntu-latest
# For cron: only run on the main repo, not forks
if: github.event_name != 'schedule' || github.repository == 'apache/arrow-adbc'
steps:
- uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -605,7 +607,7 @@ jobs:
- uses: actions/setup-go@v3
with:
go-version: 1.18.10
go-version: 1.19.13
check-latest: true
cache: true
cache-dependency-path: adbc/go/adbc/go.sum
Expand Down Expand Up @@ -673,7 +675,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python_version: ["3.9", "3.10", "3.11"]
python_version: ["3.9", "3.10", "3.11", "3.12"]
env:
PYTHON_VERSION: "${{ matrix.python_version }}"
# Where to install vcpkg
Expand Down Expand Up @@ -725,9 +727,11 @@ jobs:
.\bootstrap-vcpkg.bat -disableMetrics
popd
# Windows needs newer Go than 1.19
# https://github.com/golang/go/issues/51007
- uses: actions/setup-go@v3
with:
go-version: 1.18.10
go-version: 1.20.8
check-latest: true
cache: true
cache-dependency-path: adbc/go/adbc/go.sum
Expand Down Expand Up @@ -761,6 +765,8 @@ jobs:
- name: Test wheel
shell: cmd
# PyArrow wheels not yet available
if: matrix.python_version != "3.12"
run: |
pushd adbc
where python.exe
Expand Down Expand Up @@ -956,22 +962,3 @@ jobs:
./ci/scripts/python_wheel_upload.sh upload-staging/adbc_*.tar.gz upload-staging/*.whl
env:
GEMFURY_PUSH_TOKEN: ${{ secrets.GEMFURY_PUSH_TOKEN }}

clean-gemfury:
name: "Clean old releases"
runs-on: ubuntu-latest
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
needs:
- upload-gemfury
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
persist-credentials: true

- name: Clean old releases
run: |
gem install --user-install gemfury
ruby ./ci/scripts/gemfury_clean.rb
env:
GEMFURY_API_TOKEN: ${{ secrets.GEMFURY_API_TOKEN }}
34 changes: 34 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,3 +287,37 @@
- **c**: Vendor portable-snippets for overflow checks (#951)
- **c/driver/postgresql**: Use ArrowArrayViewGetIntervalUnsafe from nanoarrow (#957)
- **c/driver/postgresql**: Simplify current database querying (#880)

## ADBC Libraries 0.7.0 (2023-09-20)

### Feat

- **r**: Add quoting/escaping generics (#1083)
- **r**: Implement temporary table option in R driver manager (#1084)
- **python/adbc_driver_flightsql**: add adbc.flight.sql.client_option.authority to DatabaseOptions (#1069)
- **go/adbc/driver/snowflake**: improve XDBC support (#1034)
- **go/adbc/driver/flightsql**: add adbc.flight.sql.client_option.authority (#1060)
- **c/driver**: support ingesting into temporary tables (#1057)
- **c/driver**: support target catalog/schema for ingestion (#1056)
- **go**: add basic driver logging (#1048)
- **c/driver/postgresql**: Support ingesting LARGE_STRING types (#1050)
- **c/driver/postgresql**: Duration support (#907)
- ADBC API revision 1.1.0 (#971)

### Fix

- **java/driver/flight-sql**: fix leak in InfoMetadataBuilder (#1070)
- **c/driver/postgresql**: Fix overflow in statement.cc (#1072)
- **r/adbcdrivermanager**: Ensure nullable arguments `adbc_connection_get_objects()` can be specified (#1032)
- **c/driver/sqlite**: Escape table name in sqlite GetTableSchema (#1036)
- **c/driver**: return NOT_FOUND for GetTableSchema (#1026)
- **c/driver_manager**: fix crash when error is null (#1029)
- **c/driver/postgresql**: suppress console spam (#1027)
- **c/driver/sqlite**: escape table names in INSERT, too (#1003)
- **go/adbc/driver/snowflake**: properly handle time fields (#1021)
- **r/adbcdrivermanager**: Make `adbc_xptr_is_valid()` return `FALSE` for external pointer to NULL (#1007)
- **go/adbc**: don't include NUL in error messages (#998)

### Refactor

- **c/driver/postgresql**: hardcode overflow checks (#1051)
Loading

0 comments on commit 5aef0d7

Please sign in to comment.