databricks-sql-kernel 0.3.0__tar.gz → 1.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- databricks_sql_kernel-1.1.0/.github/scripts/check-release-debuginfo.ps1 +154 -0
- databricks_sql_kernel-1.1.0/.github/scripts/check-release-debuginfo.sh +164 -0
- databricks_sql_kernel-1.1.0/.github/workflows/release-debuginfo.yml +138 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/CHANGELOG.md +29 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/Cargo.lock +19 -5
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/Cargo.toml +20 -2
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/PKG-INFO +1 -1
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/README.md +5 -0
- databricks_sql_kernel-1.1.0/docs/release-debuginfo.md +103 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/spec-v0.md +10 -3
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/include/databricks_kernel.h +105 -5
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/CHANGELOG.md +12 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/Cargo.lock +68 -6
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/Cargo.toml +1 -1
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/src/executed_async.rs +1 -1
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/src/session.rs +38 -7
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyproject.toml +1 -1
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/c_abi/mod.rs +120 -1
- databricks_sql_kernel-1.1.0/src/c_abi/result.rs +829 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/c_abi/session.rs +103 -9
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/c_abi/statement.rs +119 -1
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/client/http.rs +34 -17
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/client/mod.rs +2 -1
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/client/sea.rs +947 -85
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/client/transport.rs +39 -4
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/config.rs +37 -12
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/kernel_error.rs +1 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/lib.rs +1 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/reader/cloudfetch/chunk_downloader.rs +32 -4
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/reader/cloudfetch/link_fetcher.rs +14 -10
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/reader/cloudfetch/streaming_provider.rs +991 -16
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/reader/mod.rs +14 -3
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/reader/test_utils.rs +35 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/session.rs +297 -4
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/statement/executed_async.rs +35 -16
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/statement/mod.rs +2 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/statement/mutable.rs +93 -7
- databricks_sql_kernel-1.1.0/src/statement/timeout.rs +210 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/telemetry/models.rs +1 -1
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/telemetry/runtime.rs +38 -1
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/types/cloudfetch.rs +35 -2
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/types/sea.rs +36 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/c/session_smoke.c +13 -0
- databricks_sql_kernel-1.1.0/tests/symbols/staticlib_consumer.c +26 -0
- databricks_sql_kernel-1.1.0/tests/tls_rustls_native_roots.rs +229 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_async_execute_wiremock.rs +81 -1
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_c_abi_canceller_wiremock.rs +122 -9
- databricks_sql_kernel-1.1.0/tests/v0_c_abi_result_stream_canceller_wiremock.rs +155 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_c_abi_session_test_wiremock.rs +58 -2
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_execute_wiremock.rs +549 -6
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/appkit/download-release.sh +0 -75
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/appkit/poll-release.sh +0 -85
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/configure-cargo.sh +0 -29
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/configure-coursier.sh +0 -19
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/configure-gradle.sh +0 -65
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/configure-maven.sh +0 -37
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/configure-npm.sh +0 -11
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/configure-pip.sh +0 -7
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/configure-sbt.sh +0 -116
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/deco-dispatch-tagging-single.sh +0 -48
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/deco-dispatch-tagging.sh +0 -107
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/deco-load-maven-creds.sh +0 -88
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/deco-pending-tags.sh +0 -116
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/download-artifact.sh +0 -51
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/extract-changelog.sh +0 -69
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/jfrog-oidc-token.py +0 -77
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/jfrog-oidc-token.sh +0 -27
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/maven-central-publish.sh +0 -288
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/maven-deploy.sh +0 -225
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/mlflow/ts_publish.ts +0 -170
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/mlflow/validate_ts_release.ts +0 -183
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/npm-oidc-publish.sh +0 -112
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/omnigent/site-desktop-feed.mjs +0 -204
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/omnigent/vercel-blob-upload.mjs +0 -139
- databricks_sql_kernel-0.3.0/_release-scripts/.github/scripts/pypi-oidc-publish.sh +0 -128
- databricks_sql_kernel-0.3.0/_release-scripts/CODEOWNERS +0 -141
- databricks_sql_kernel-0.3.0/src/c_abi/result.rs +0 -399
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.bot/config.yaml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.bot/context-repos.yaml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.bot/prompts/engineer/system.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.bot/prompts/engineer/user.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.bot/prompts/engineer-followup/system.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.bot/prompts/retrospective_system.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.bot/prompts/review/system.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.claude/knowledge/learning-log.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/CODEOWNERS +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/actions/bot-prelude/action.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/actions/install-bot-engine/action.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/actions/setup-jfrog/action.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/dependabot.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/scripts/check-napi-loader-drift.sh +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/cargo-publish.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/close-stale.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/coverage.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/dco-check.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/engineer-bot-followup.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/engineer-bot-learning.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/engineer-bot.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/license-check.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/napi-checks.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/pr-checks.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/pyo3-checks.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/reviewer-bot-followup.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/reviewer-bot.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/rust-e2e.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/securityScan.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/skip-checks-reporter.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/trigger-coverage-fanout.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.github/workflows/trigger-integration-tests.yml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/.gitignore +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/CLAUDE.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/CONNECTION_PARAMETERS.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/LICENSE +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/Makefile +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/NEXT_CHANGELOG.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/NOTICE.txt +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/about.toml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/ci/proxy/htpasswd +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/ci/proxy/squid-auth.conf +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/clippy.toml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/deny.toml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/PECOBLR-2091-retry-logic-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/PECOBLR-4141-azure-service-principal-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/PECOBLR-4146-oauth-token-persistence-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/client-refactor-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/cloudfetch-implementation-plan.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/cloudfetch-pipeline-redesign.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/complex-types-json-stringify.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/connection-metadata-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/fix-duplicate-link-prefetch.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/inline-arrow-results-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/kernel-telemetry-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/oauth-sprint-plan.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/oauth-u2m-m2m-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/odbc-batch-optimization.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/odbc-metadata-ffi-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/prepared-statement-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/proxy-support-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/result-metadata-propagation.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/tls-config-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/designs/token-federation-design.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/migration-plan.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/pr-4-plan.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/docs/pr-5-plan.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/include/legacy/databricks_metadata_ffi.h +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/license.tpl +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/osv-scanner.toml +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/NEXT_CHANGELOG.md +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/pytest.ini +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/release-notes.txt +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/src/auth.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/src/errors.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/src/fetch.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/src/lib.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/src/logging.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/src/macros.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/src/metadata.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/src/params.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/src/result_stream.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/src/statement.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/tests/conftest.py +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/tests/test_async.py +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/tests/test_auth.py +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/tests/test_execute.py +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/tests/test_metadata.py +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/tests/test_module.py +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/pyo3/tests/test_session.py +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/release-notes.txt +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/config.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/mod.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/azure.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/cache.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/cache_crypto.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/callback.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/federation.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/jwt.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/jwt_key.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/jwt_m2m.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/m2m.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/mod.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/oidc.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/test_keys.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/token.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/token_store.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/oauth/u2m.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/auth/pat.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/c_abi/error.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/c_abi/metadata.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/client/retry.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/klog.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/logging.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/metadata/mod.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/metadata/schemas.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/metadata/sql.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/metadata/static_data.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/metadata/thrift_shape.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/metadata/type_mapping.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/metadata_v0.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/reader/cloudfetch/arrow_parser.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/reader/cloudfetch/mod.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/reader/inline/mod.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/reader/inline/provider.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/reader/inline/streaming.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/reader/post_processor/json.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/reader/post_processor/mod.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/result/mod.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/result_stream.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/statement/dml_count.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/statement/executed.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/statement/handle.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/statement/params.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/statement/params_codec.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/statement/spec.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/statement/validity.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/telemetry/circuit_breaker.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/telemetry/client.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/telemetry/databricks.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/telemetry/exporter.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/telemetry/manager.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/telemetry/mod.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/telemetry/statement.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/telemetry/test_support.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/types/mod.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/util/mod.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/src/util/runtime.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/bot_e2e_helper.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/c_abi_logging_callback.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/c_abi_logging_callback_conflict.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/c_abi_logging_callback_panic.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/c_abi_logging_callback_reentrancy.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/c_abi_mtls_e2e.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/common/mod.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/klog_bridge.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/oauth_u2m_integration.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/token_federation_wiremock.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_async_execute_e2e.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_c_abi_metadata_table_types_wiremock.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_c_abi_result_config_wiremock.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_c_abi_session_close_wiremock.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_execute_e2e.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_logging_wiremock.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_metadata_e2e.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_metadata_empty_types_e2e.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_metadata_wiremock.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_query_tags_headers_e2e.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_session_e2e.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_session_wiremock.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_statement_canceller_reexecute.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_tls_e2e.rs +0 -0
- {databricks_sql_kernel-0.3.0 → databricks_sql_kernel-1.1.0}/tests/v0_transactions_e2e.rs +0 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Copyright (c) 2026 Databricks, Inc.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
Set-StrictMode -Version Latest
|
|
16
|
+
$ErrorActionPreference = "Stop"
|
|
17
|
+
|
|
18
|
+
function Invoke-Checked {
|
|
19
|
+
param(
|
|
20
|
+
[Parameter(Mandatory = $true)][string]$FilePath,
|
|
21
|
+
[Parameter(Mandatory = $false)][AllowEmptyCollection()][string[]]$Arguments = @()
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
& $FilePath @Arguments
|
|
25
|
+
if ($LASTEXITCODE -ne 0) {
|
|
26
|
+
throw "command failed with exit code ${LASTEXITCODE}: $FilePath $($Arguments -join ' ')"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function Find-AsciiMatch {
|
|
31
|
+
param(
|
|
32
|
+
[Parameter(Mandatory = $true)][string]$Path,
|
|
33
|
+
[Parameter(Mandatory = $true)][regex]$Pattern
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
$buffer = [byte[]]::new(65536)
|
|
37
|
+
$tail = ""
|
|
38
|
+
$stream = [System.IO.File]::OpenRead($Path)
|
|
39
|
+
try {
|
|
40
|
+
while (($bytesRead = $stream.Read($buffer, 0, $buffer.Length)) -gt 0) {
|
|
41
|
+
$chunk = $tail + [System.Text.Encoding]::ASCII.GetString($buffer, 0, $bytesRead)
|
|
42
|
+
$match = $Pattern.Match($chunk)
|
|
43
|
+
if ($match.Success) {
|
|
44
|
+
return $match.Value
|
|
45
|
+
}
|
|
46
|
+
$tailLength = [Math]::Min(1024, $chunk.Length)
|
|
47
|
+
$tail = $chunk.Substring($chunk.Length - $tailLength)
|
|
48
|
+
}
|
|
49
|
+
} finally {
|
|
50
|
+
$stream.Dispose()
|
|
51
|
+
}
|
|
52
|
+
return $null
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
$profileName = "release-with-debuginfo"
|
|
56
|
+
$repoRoot = (Resolve-Path (Join-Path $PSScriptRoot "../..")).Path
|
|
57
|
+
$targetRoot = if ($env:CARGO_TARGET_DIR) {
|
|
58
|
+
[System.IO.Path]::GetFullPath($env:CARGO_TARGET_DIR, $repoRoot)
|
|
59
|
+
} else {
|
|
60
|
+
Join-Path $repoRoot "target"
|
|
61
|
+
}
|
|
62
|
+
$profileDir = Join-Path $targetRoot $profileName
|
|
63
|
+
$source = Join-Path $repoRoot "tests/symbols/staticlib_consumer.c"
|
|
64
|
+
$includeDir = Join-Path $repoRoot "include"
|
|
65
|
+
$archive = Join-Path $profileDir "databricks_sql_kernel.lib"
|
|
66
|
+
$object = Join-Path $profileDir "staticlib_consumer.obj"
|
|
67
|
+
$executable = Join-Path $profileDir "kernel-symbol-smoke.exe"
|
|
68
|
+
$pdb = Join-Path $profileDir "kernel-symbol-smoke.pdb"
|
|
69
|
+
|
|
70
|
+
New-Item -ItemType Directory -Force -Path $profileDir | Out-Null
|
|
71
|
+
Push-Location $repoRoot
|
|
72
|
+
try {
|
|
73
|
+
# Build the exact static archive under test and capture the MSVC system
|
|
74
|
+
# libraries that rustc says its final native linker must receive.
|
|
75
|
+
# The toolchain action enables color globally; disable it here so ANSI reset
|
|
76
|
+
# bytes cannot become part of the parsed final library argument.
|
|
77
|
+
$env:CARGO_TERM_COLOR = "never"
|
|
78
|
+
$buildLines = @(& cargo rustc --locked --profile $profileName --lib -- --print=native-static-libs 2>&1)
|
|
79
|
+
$buildExit = $LASTEXITCODE
|
|
80
|
+
$buildLines | ForEach-Object { Write-Host $_ }
|
|
81
|
+
if ($buildExit -ne 0) {
|
|
82
|
+
throw "cargo rustc failed with exit code $buildExit"
|
|
83
|
+
}
|
|
84
|
+
if (-not (Test-Path -LiteralPath $archive -PathType Leaf)) {
|
|
85
|
+
throw "Cargo did not produce $archive"
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
$nativeLine = $buildLines |
|
|
89
|
+
ForEach-Object { "$_" } |
|
|
90
|
+
Where-Object { $_ -match "native-static-libs:\s*(.+)$" } |
|
|
91
|
+
Select-Object -Last 1
|
|
92
|
+
if (-not $nativeLine) {
|
|
93
|
+
throw "rustc did not report native-static-libs"
|
|
94
|
+
}
|
|
95
|
+
$nativeText = ([regex]::Match($nativeLine, "native-static-libs:\s*(.+)$")).Groups[1].Value.Trim()
|
|
96
|
+
$nativeLinkArgs = @($nativeText -split "\s+" | Where-Object { $_ })
|
|
97
|
+
|
|
98
|
+
Invoke-Checked "cl.exe" @(
|
|
99
|
+
"/nologo", "/c", "/O2", "/MD", "/Z7", "/I$includeDir", $source, "/Fo$object"
|
|
100
|
+
)
|
|
101
|
+
$linkArgs = @(
|
|
102
|
+
"/NOLOGO", "/DEBUG:FULL", "/OPT:REF", "/OPT:ICF", "/INCREMENTAL:NO",
|
|
103
|
+
"/PDB:$pdb", "/PDBALTPATH:%_PDB%", "/OUT:$executable",
|
|
104
|
+
$object, $archive
|
|
105
|
+
) + $nativeLinkArgs
|
|
106
|
+
Invoke-Checked "link.exe" $linkArgs
|
|
107
|
+
if (-not (Test-Path -LiteralPath $pdb -PathType Leaf)) {
|
|
108
|
+
throw "link.exe did not produce $pdb"
|
|
109
|
+
}
|
|
110
|
+
Invoke-Checked $executable @()
|
|
111
|
+
|
|
112
|
+
if (-not (Get-Command "dumpbin.exe" -ErrorAction SilentlyContinue)) {
|
|
113
|
+
throw "dumpbin.exe is required to validate the executable/PDB CodeView identity"
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
$functionPattern = [regex]::new("kernel_get_last_error")
|
|
117
|
+
$sourcePattern = [regex]::new("(?i)src[\\/]c_abi[\\/]error\.rs")
|
|
118
|
+
if (-not (Find-AsciiMatch $pdb $functionPattern)) {
|
|
119
|
+
throw "PDB does not describe kernel_get_last_error"
|
|
120
|
+
}
|
|
121
|
+
if (-not (Find-AsciiMatch $pdb $sourcePattern)) {
|
|
122
|
+
throw "PDB does not name src/c_abi/error.rs"
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
# The PE carries only the CodeView locator/identity; source and function
|
|
126
|
+
# records stay in the separately published PDB. In an isolated directory,
|
|
127
|
+
# dumpbin reports the adjacent PDB only when its GUID and age match the PE.
|
|
128
|
+
$checkDir = Join-Path ([System.IO.Path]::GetTempPath()) ("kernel-pdb-check-" + [guid]::NewGuid().ToString("N"))
|
|
129
|
+
New-Item -ItemType Directory -Path $checkDir | Out-Null
|
|
130
|
+
try {
|
|
131
|
+
$checkExe = Join-Path $checkDir (Split-Path -Leaf $executable)
|
|
132
|
+
$checkPdb = Join-Path $checkDir (Split-Path -Leaf $pdb)
|
|
133
|
+
Copy-Item -LiteralPath $executable -Destination $checkExe
|
|
134
|
+
Copy-Item -LiteralPath $pdb -Destination $checkPdb
|
|
135
|
+
|
|
136
|
+
$lookup = @(& dumpbin.exe /NOLOGO /PDBPATH $checkExe 2>&1)
|
|
137
|
+
$lookupExit = $LASTEXITCODE
|
|
138
|
+
$lookupText = $lookup | Out-String
|
|
139
|
+
Write-Host $lookupText
|
|
140
|
+
if ($lookupExit -ne 0) {
|
|
141
|
+
throw "dumpbin /PDBPATH failed with exit code $lookupExit"
|
|
142
|
+
}
|
|
143
|
+
if ($lookupText -notmatch [regex]::Escape($checkPdb)) {
|
|
144
|
+
throw "dumpbin did not resolve the supplied PDB; its GUID/age may not match the executable"
|
|
145
|
+
}
|
|
146
|
+
} finally {
|
|
147
|
+
Remove-Item -LiteralPath $checkDir -Recurse -Force -ErrorAction SilentlyContinue
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
Write-Host "ok: Windows PDB contains kernel Rust source/function info"
|
|
151
|
+
Write-Host "ok: dumpbin validated the executable/PDB CodeView GUID and age"
|
|
152
|
+
} finally {
|
|
153
|
+
Pop-Location
|
|
154
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Copyright (c) 2026 Databricks, Inc.
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
set -euo pipefail
|
|
17
|
+
|
|
18
|
+
readonly PROFILE="release-with-debuginfo"
|
|
19
|
+
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
20
|
+
readonly REPO_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
|
|
21
|
+
readonly TARGET_ROOT="${CARGO_TARGET_DIR:-${REPO_ROOT}/target}"
|
|
22
|
+
readonly PROFILE_DIR="${TARGET_ROOT}/${PROFILE}"
|
|
23
|
+
readonly CONSUMER_SOURCE="${REPO_ROOT}/tests/symbols/staticlib_consumer.c"
|
|
24
|
+
readonly ARCHIVE="${PROFILE_DIR}/libdatabricks_sql_kernel.a"
|
|
25
|
+
readonly CONSUMER="${PROFILE_DIR}/kernel-symbol-smoke"
|
|
26
|
+
|
|
27
|
+
for command in cargo cc; do
|
|
28
|
+
if ! command -v "${command}" >/dev/null 2>&1; then
|
|
29
|
+
echo "FAIL: required command not found: ${command}" >&2
|
|
30
|
+
exit 1
|
|
31
|
+
fi
|
|
32
|
+
done
|
|
33
|
+
|
|
34
|
+
mkdir -p "${PROFILE_DIR}"
|
|
35
|
+
build_log="$(mktemp)"
|
|
36
|
+
trap 'rm -f "${build_log}"' EXIT
|
|
37
|
+
|
|
38
|
+
# Cargo prints the platform libraries a C/C++ final linker must add when it
|
|
39
|
+
# consumes this staticlib. Capture that list while building the exact archive
|
|
40
|
+
# under test.
|
|
41
|
+
CARGO_TERM_COLOR=never cargo rustc --locked --profile "${PROFILE}" --lib -- \
|
|
42
|
+
--print=native-static-libs 2>&1 | tee "${build_log}"
|
|
43
|
+
|
|
44
|
+
if [[ ! -f "${ARCHIVE}" ]]; then
|
|
45
|
+
echo "FAIL: Cargo did not produce ${ARCHIVE}" >&2
|
|
46
|
+
exit 1
|
|
47
|
+
fi
|
|
48
|
+
|
|
49
|
+
native_link_line="$(sed -n 's/^note: native-static-libs: //p' "${build_log}" | tail -n 1)"
|
|
50
|
+
if [[ -z "${native_link_line}" ]]; then
|
|
51
|
+
echo "FAIL: rustc did not report native-static-libs" >&2
|
|
52
|
+
exit 1
|
|
53
|
+
fi
|
|
54
|
+
read -r -a native_link_args <<<"${native_link_line}"
|
|
55
|
+
|
|
56
|
+
case "$(uname -s)" in
|
|
57
|
+
Linux)
|
|
58
|
+
for command in objcopy readelf; do
|
|
59
|
+
if ! command -v "${command}" >/dev/null 2>&1; then
|
|
60
|
+
echo "FAIL: required command not found: ${command}" >&2
|
|
61
|
+
exit 1
|
|
62
|
+
fi
|
|
63
|
+
done
|
|
64
|
+
|
|
65
|
+
debug_file="${CONSUMER}.debug"
|
|
66
|
+
cc -O2 -I "${REPO_ROOT}/include" "${CONSUMER_SOURCE}" "${ARCHIVE}" \
|
|
67
|
+
"${native_link_args[@]}" -Wl,--build-id=sha1 -o "${CONSUMER}"
|
|
68
|
+
"${CONSUMER}"
|
|
69
|
+
|
|
70
|
+
# This mirrors consumer packaging: retain full DWARF in the private symbol
|
|
71
|
+
# artifact, strip it from the customer executable, and leave only the GNU
|
|
72
|
+
# debug-link locator/checksum in the shipped file.
|
|
73
|
+
objcopy --only-keep-debug "${CONSUMER}" "${debug_file}"
|
|
74
|
+
objcopy --strip-debug "${CONSUMER}"
|
|
75
|
+
objcopy --add-gnu-debuglink="${debug_file}" "${CONSUMER}"
|
|
76
|
+
|
|
77
|
+
if readelf --sections "${CONSUMER}" | \
|
|
78
|
+
grep -E '\.debug_(abbrev|info|line|str)' >/dev/null; then
|
|
79
|
+
echo "FAIL: customer executable still contains DWARF sections" >&2
|
|
80
|
+
exit 1
|
|
81
|
+
fi
|
|
82
|
+
if ! readelf --sections "${CONSUMER}" | grep -F '.gnu_debuglink' >/dev/null; then
|
|
83
|
+
echo "FAIL: customer executable has no .gnu_debuglink" >&2
|
|
84
|
+
exit 1
|
|
85
|
+
fi
|
|
86
|
+
|
|
87
|
+
dwarf_dump="${PROFILE_DIR}/kernel-symbol-smoke.dwarf.txt"
|
|
88
|
+
line_dump="${PROFILE_DIR}/kernel-symbol-smoke.lines.txt"
|
|
89
|
+
readelf --debug-dump=info "${debug_file}" >"${dwarf_dump}"
|
|
90
|
+
readelf --debug-dump=decodedline "${debug_file}" >"${line_dump}"
|
|
91
|
+
if ! grep -Fq 'kernel_get_last_error' "${dwarf_dump}"; then
|
|
92
|
+
echo "FAIL: split DWARF does not describe kernel_get_last_error" >&2
|
|
93
|
+
exit 1
|
|
94
|
+
fi
|
|
95
|
+
if ! grep -Fq 'src/c_abi/error.rs' "${line_dump}"; then
|
|
96
|
+
echo "FAIL: split DWARF does not name src/c_abi/error.rs" >&2
|
|
97
|
+
exit 1
|
|
98
|
+
fi
|
|
99
|
+
|
|
100
|
+
binary_notes="$(readelf --notes "${CONSUMER}")"
|
|
101
|
+
debug_notes="$(readelf --notes "${debug_file}")"
|
|
102
|
+
binary_id="$(sed -n 's/.*Build ID: //p' <<<"${binary_notes}")"
|
|
103
|
+
debug_id="$(sed -n 's/.*Build ID: //p' <<<"${debug_notes}")"
|
|
104
|
+
if [[ -z "${binary_id}" || "${binary_id}" != "${debug_id}" ]]; then
|
|
105
|
+
echo "FAIL: executable and split DWARF build IDs do not match" >&2
|
|
106
|
+
exit 1
|
|
107
|
+
fi
|
|
108
|
+
|
|
109
|
+
echo "ok: Linux split DWARF contains kernel Rust source/function info"
|
|
110
|
+
echo "ok: executable and .debug share build ID ${binary_id}"
|
|
111
|
+
;;
|
|
112
|
+
Darwin)
|
|
113
|
+
for command in dsymutil otool strip xcrun; do
|
|
114
|
+
if ! command -v "${command}" >/dev/null 2>&1; then
|
|
115
|
+
echo "FAIL: required command not found: ${command}" >&2
|
|
116
|
+
exit 1
|
|
117
|
+
fi
|
|
118
|
+
done
|
|
119
|
+
|
|
120
|
+
dsym="${CONSUMER}.dSYM"
|
|
121
|
+
cc -O2 -I "${REPO_ROOT}/include" "${CONSUMER_SOURCE}" "${ARCHIVE}" \
|
|
122
|
+
"${native_link_args[@]}" -o "${CONSUMER}"
|
|
123
|
+
"${CONSUMER}"
|
|
124
|
+
dsymutil "${CONSUMER}" -o "${dsym}"
|
|
125
|
+
strip -S "${CONSUMER}"
|
|
126
|
+
|
|
127
|
+
if otool -l "${CONSUMER}" | grep -F '__DWARF' >/dev/null; then
|
|
128
|
+
echo "FAIL: customer executable still contains a __DWARF segment" >&2
|
|
129
|
+
exit 1
|
|
130
|
+
fi
|
|
131
|
+
|
|
132
|
+
dwarf_dump="${PROFILE_DIR}/kernel-symbol-smoke.dwarf.txt"
|
|
133
|
+
dwarf_file="${dsym}/Contents/Resources/DWARF/$(basename "${CONSUMER}")"
|
|
134
|
+
if [[ ! -f "${dwarf_file}" ]]; then
|
|
135
|
+
echo "FAIL: dsymutil did not produce ${dwarf_file}" >&2
|
|
136
|
+
exit 1
|
|
137
|
+
fi
|
|
138
|
+
xcrun dwarfdump --name kernel_get_last_error "${dsym}" >"${dwarf_dump}"
|
|
139
|
+
if ! grep -Fq 'kernel_get_last_error' "${dwarf_dump}"; then
|
|
140
|
+
echo "FAIL: dSYM does not describe kernel_get_last_error" >&2
|
|
141
|
+
exit 1
|
|
142
|
+
fi
|
|
143
|
+
if ! grep -Eq 'DW_AT_decl_file.*error\.rs' "${dwarf_dump}"; then
|
|
144
|
+
echo "FAIL: kernel_get_last_error has no error.rs source record in the dSYM" >&2
|
|
145
|
+
exit 1
|
|
146
|
+
fi
|
|
147
|
+
|
|
148
|
+
binary_uuid_dump="$(xcrun dwarfdump --uuid "${CONSUMER}")"
|
|
149
|
+
dsym_uuid_dump="$(xcrun dwarfdump --uuid "${dsym}")"
|
|
150
|
+
binary_uuid="$(awk 'NR == 1 { print $2 }' <<<"${binary_uuid_dump}")"
|
|
151
|
+
dsym_uuid="$(awk 'NR == 1 { print $2 }' <<<"${dsym_uuid_dump}")"
|
|
152
|
+
if [[ -z "${binary_uuid}" || "${binary_uuid}" != "${dsym_uuid}" ]]; then
|
|
153
|
+
echo "FAIL: executable and dSYM UUIDs do not match" >&2
|
|
154
|
+
exit 1
|
|
155
|
+
fi
|
|
156
|
+
|
|
157
|
+
echo "ok: macOS dSYM contains kernel Rust source/function info"
|
|
158
|
+
echo "ok: executable and dSYM share UUID ${binary_uuid}"
|
|
159
|
+
;;
|
|
160
|
+
*)
|
|
161
|
+
echo "FAIL: unsupported platform for this check: $(uname -s)" >&2
|
|
162
|
+
exit 1
|
|
163
|
+
;;
|
|
164
|
+
esac
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Copyright (c) 2026 Databricks, Inc.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
name: Release Debuginfo
|
|
16
|
+
|
|
17
|
+
on:
|
|
18
|
+
push:
|
|
19
|
+
branches: [main]
|
|
20
|
+
pull_request:
|
|
21
|
+
types: [opened, synchronize, reopened]
|
|
22
|
+
branches: [main]
|
|
23
|
+
merge_group:
|
|
24
|
+
|
|
25
|
+
concurrency:
|
|
26
|
+
group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.head_ref || github.ref }}
|
|
27
|
+
cancel-in-progress: true
|
|
28
|
+
|
|
29
|
+
permissions:
|
|
30
|
+
contents: read
|
|
31
|
+
id-token: write
|
|
32
|
+
|
|
33
|
+
jobs:
|
|
34
|
+
# Hosted macOS runners cannot check out this private repository through the
|
|
35
|
+
# org IP allow list. Hand the same checked-out source to macOS through the
|
|
36
|
+
# Actions artifact service, which is not allow-list gated.
|
|
37
|
+
macos-source:
|
|
38
|
+
name: Source handoff (macOS)
|
|
39
|
+
runs-on:
|
|
40
|
+
group: databricks-protected-runner-group
|
|
41
|
+
labels: [linux-ubuntu-latest]
|
|
42
|
+
timeout-minutes: 10
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
45
|
+
with:
|
|
46
|
+
path: repo-src
|
|
47
|
+
|
|
48
|
+
- name: Archive source
|
|
49
|
+
shell: bash
|
|
50
|
+
run: |
|
|
51
|
+
set -euo pipefail
|
|
52
|
+
tar czf repo-source.tar.gz -C repo-src --exclude='.git' .
|
|
53
|
+
|
|
54
|
+
- name: Upload source
|
|
55
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
56
|
+
with:
|
|
57
|
+
name: release-debuginfo-source
|
|
58
|
+
path: repo-source.tar.gz
|
|
59
|
+
retention-days: 1
|
|
60
|
+
if-no-files-found: error
|
|
61
|
+
|
|
62
|
+
linux:
|
|
63
|
+
name: Linux split DWARF
|
|
64
|
+
runs-on:
|
|
65
|
+
group: databricks-protected-runner-group
|
|
66
|
+
labels: [linux-ubuntu-latest]
|
|
67
|
+
timeout-minutes: 45
|
|
68
|
+
steps:
|
|
69
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
70
|
+
|
|
71
|
+
- uses: ./.github/actions/setup-jfrog
|
|
72
|
+
with:
|
|
73
|
+
cargo: "true"
|
|
74
|
+
|
|
75
|
+
- uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1.17.0
|
|
76
|
+
with:
|
|
77
|
+
toolchain: stable
|
|
78
|
+
|
|
79
|
+
- name: Verify split DWARF
|
|
80
|
+
shell: bash
|
|
81
|
+
run: bash .github/scripts/check-release-debuginfo.sh
|
|
82
|
+
|
|
83
|
+
macos:
|
|
84
|
+
name: macOS dSYM
|
|
85
|
+
needs: macos-source
|
|
86
|
+
runs-on: macos-15
|
|
87
|
+
timeout-minutes: 45
|
|
88
|
+
steps:
|
|
89
|
+
- name: Download source
|
|
90
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
91
|
+
with:
|
|
92
|
+
name: release-debuginfo-source
|
|
93
|
+
|
|
94
|
+
- name: Unpack source
|
|
95
|
+
shell: bash
|
|
96
|
+
run: |
|
|
97
|
+
set -euo pipefail
|
|
98
|
+
tar xzf repo-source.tar.gz -C "$GITHUB_WORKSPACE"
|
|
99
|
+
rm -f repo-source.tar.gz
|
|
100
|
+
test -f Cargo.toml
|
|
101
|
+
|
|
102
|
+
- uses: ./.github/actions/setup-jfrog
|
|
103
|
+
with:
|
|
104
|
+
cargo: "true"
|
|
105
|
+
|
|
106
|
+
- uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1.17.0
|
|
107
|
+
with:
|
|
108
|
+
toolchain: stable
|
|
109
|
+
|
|
110
|
+
- name: Verify dSYM
|
|
111
|
+
shell: bash
|
|
112
|
+
run: bash .github/scripts/check-release-debuginfo.sh
|
|
113
|
+
|
|
114
|
+
windows:
|
|
115
|
+
name: Windows linker PDB
|
|
116
|
+
runs-on:
|
|
117
|
+
group: databricks-protected-runner-group
|
|
118
|
+
labels: [windows-server-latest]
|
|
119
|
+
timeout-minutes: 45
|
|
120
|
+
steps:
|
|
121
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
122
|
+
|
|
123
|
+
- uses: ./.github/actions/setup-jfrog
|
|
124
|
+
with:
|
|
125
|
+
cargo: "true"
|
|
126
|
+
|
|
127
|
+
- uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1.17.0
|
|
128
|
+
with:
|
|
129
|
+
toolchain: stable
|
|
130
|
+
|
|
131
|
+
- name: Set up MSVC environment
|
|
132
|
+
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1
|
|
133
|
+
with:
|
|
134
|
+
arch: x64
|
|
135
|
+
|
|
136
|
+
- name: Verify linker PDB
|
|
137
|
+
shell: pwsh
|
|
138
|
+
run: ./.github/scripts/check-release-debuginfo.ps1
|
|
@@ -14,6 +14,35 @@ cadences and may not move in lockstep with the crate.
|
|
|
14
14
|
|
|
15
15
|
### Fixed
|
|
16
16
|
|
|
17
|
+
## [v1.1.0] - 2026-09-23
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
- Execution-scoped client query deadlines for Rust and C APIs.
|
|
21
|
+
- FAST-mode session version exchange.
|
|
22
|
+
- C ABI query tags, HTTP connection limits, connection-test deadlines, and
|
|
23
|
+
result-stream cancellation.
|
|
24
|
+
- Release-with-debuginfo build profile and native symbol checks.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
- Client deadlines permit an in-flight status request five seconds to finish.
|
|
28
|
+
- Direct traffic identifies itself as Databricks SQL Kernel.
|
|
29
|
+
- rustls now includes OS trust roots.
|
|
30
|
+
- Updated rustls to remediate OSV findings.
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
- CloudFetch downloads have end-to-end deadlines and terminal link-fetch
|
|
34
|
+
errors.
|
|
35
|
+
- C ABI workers preserve a two-MiB stack floor without shrinking larger
|
|
36
|
+
configured stacks.
|
|
37
|
+
- mTLS rejects non-HTTPS endpoints.
|
|
38
|
+
- PAT telemetry omits OAuth auth-flow metadata.
|
|
39
|
+
|
|
40
|
+
## [v1.0.0] - 2026-08-31
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
- Explicit async statement close finalizes telemetry when a partially consumed
|
|
44
|
+
result stream remains alive.
|
|
45
|
+
|
|
17
46
|
## [v0.3.0] - 2026-08-28
|
|
18
47
|
|
|
19
48
|
### Added
|
|
@@ -617,7 +617,7 @@ checksum = "4583a4551df46e2792f82ceeac45e850d2e2d5debba0b91f102385cda5b11f06"
|
|
|
617
617
|
|
|
618
618
|
[[package]]
|
|
619
619
|
name = "databricks-sql-kernel"
|
|
620
|
-
version = "
|
|
620
|
+
version = "1.1.0"
|
|
621
621
|
dependencies = [
|
|
622
622
|
"aes 0.9.2",
|
|
623
623
|
"arrow-array",
|
|
@@ -1199,6 +1199,7 @@ dependencies = [
|
|
|
1199
1199
|
"hyper",
|
|
1200
1200
|
"hyper-util",
|
|
1201
1201
|
"rustls",
|
|
1202
|
+
"rustls-native-certs",
|
|
1202
1203
|
"tokio",
|
|
1203
1204
|
"tokio-rustls",
|
|
1204
1205
|
"tower-service",
|
|
@@ -2231,6 +2232,7 @@ dependencies = [
|
|
|
2231
2232
|
"pin-project-lite",
|
|
2232
2233
|
"quinn",
|
|
2233
2234
|
"rustls",
|
|
2235
|
+
"rustls-native-certs",
|
|
2234
2236
|
"rustls-pki-types",
|
|
2235
2237
|
"serde",
|
|
2236
2238
|
"serde_json",
|
|
@@ -2334,9 +2336,9 @@ dependencies = [
|
|
|
2334
2336
|
|
|
2335
2337
|
[[package]]
|
|
2336
2338
|
name = "rustls"
|
|
2337
|
-
version = "0.23.
|
|
2339
|
+
version = "0.23.45"
|
|
2338
2340
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2339
|
-
checksum = "
|
|
2341
|
+
checksum = "0d41d731c7d2f962d1ccc364cec258de3c0e93b38c2fb3ba97ac74513048d634"
|
|
2340
2342
|
dependencies = [
|
|
2341
2343
|
"once_cell",
|
|
2342
2344
|
"ring",
|
|
@@ -2346,6 +2348,18 @@ dependencies = [
|
|
|
2346
2348
|
"zeroize",
|
|
2347
2349
|
]
|
|
2348
2350
|
|
|
2351
|
+
[[package]]
|
|
2352
|
+
name = "rustls-native-certs"
|
|
2353
|
+
version = "0.8.4"
|
|
2354
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2355
|
+
checksum = "dab5152771c58876a2146916e53e35057e1a4dfa2b9df0f0305b07f611fdea4d"
|
|
2356
|
+
dependencies = [
|
|
2357
|
+
"openssl-probe",
|
|
2358
|
+
"rustls-pki-types",
|
|
2359
|
+
"schannel",
|
|
2360
|
+
"security-framework",
|
|
2361
|
+
]
|
|
2362
|
+
|
|
2349
2363
|
[[package]]
|
|
2350
2364
|
name = "rustls-pki-types"
|
|
2351
2365
|
version = "1.15.0"
|
|
@@ -2358,9 +2372,9 @@ dependencies = [
|
|
|
2358
2372
|
|
|
2359
2373
|
[[package]]
|
|
2360
2374
|
name = "rustls-webpki"
|
|
2361
|
-
version = "0.103.
|
|
2375
|
+
version = "0.103.15"
|
|
2362
2376
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2363
|
-
checksum = "
|
|
2377
|
+
checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2"
|
|
2364
2378
|
dependencies = [
|
|
2365
2379
|
"ring",
|
|
2366
2380
|
"rustls-pki-types",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
[package]
|
|
16
16
|
name = "databricks-sql-kernel"
|
|
17
|
-
version = "
|
|
17
|
+
version = "1.1.0"
|
|
18
18
|
edition = "2021"
|
|
19
19
|
authors = ["Databricks"]
|
|
20
20
|
license = "Apache-2.0"
|
|
@@ -193,7 +193,17 @@ tokio-rustls = { version = "0.26.4", default-features = false, features = ["ring
|
|
|
193
193
|
[features]
|
|
194
194
|
default = ["tls-native"]
|
|
195
195
|
tls-native = ["reqwest/native-tls"]
|
|
196
|
-
tls
|
|
196
|
+
# `rustls-tls` alone is `reqwest/rustls-tls-webpki-roots` — the bundled Mozilla
|
|
197
|
+
# root set only, which does NOT read the OS system trust store. `tls-native`
|
|
198
|
+
# (native-tls → OpenSSL) DOES read `/etc/ssl/...`, so a `tls-rustls` build behind
|
|
199
|
+
# a private/internal CA installed only in the OS store fails a handshake that the
|
|
200
|
+
# `tls-native` build completes. Enabling `rustls-tls-native-roots` alongside makes
|
|
201
|
+
# reqwest load the OS trust store AND the Mozilla bundled roots into one
|
|
202
|
+
# `RootCertStore` (both `tls_built_in_certs_*` default true → additive, no
|
|
203
|
+
# fallback lost). This gives the aarch64 cross-build — the only Linux arch on
|
|
204
|
+
# `tls-rustls` — system-CA parity with the x86_64/i686 OpenSSL builds. See
|
|
205
|
+
# odbc#323.
|
|
206
|
+
tls-rustls = ["reqwest/rustls-tls", "reqwest/rustls-tls-native-roots"]
|
|
197
207
|
|
|
198
208
|
[lib]
|
|
199
209
|
name = "databricks_sql_kernel"
|
|
@@ -213,3 +223,11 @@ crate-type = ["lib", "cdylib", "staticlib"]
|
|
|
213
223
|
# workspace views (kernel root, pyo3, napi).
|
|
214
224
|
[workspace]
|
|
215
225
|
members = ["."]
|
|
226
|
+
|
|
227
|
+
# Opt-in profile for native consumers that split private crash symbols from the
|
|
228
|
+
# shipped driver. Inheriting `release` is intentional: `debug` is the only
|
|
229
|
+
# override, so optimization, LTO, codegen units, panic behavior, overflow
|
|
230
|
+
# checks, and debug assertions remain identical to an ordinary release build.
|
|
231
|
+
[profile.release-with-debuginfo]
|
|
232
|
+
inherits = "release"
|
|
233
|
+
debug = 2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: databricks-sql-kernel
|
|
3
|
-
Version:
|
|
3
|
+
Version: 1.1.0
|
|
4
4
|
Requires-Dist: pyarrow>=23.0.1,<24 ; python_full_version >= '3.10'
|
|
5
5
|
Requires-Dist: pyarrow>=14,<19 ; python_full_version < '3.10'
|
|
6
6
|
Summary: Python bindings for the Databricks SQL Kernel (PyO3)
|
|
@@ -37,6 +37,11 @@ cargo test
|
|
|
37
37
|
make check # fmt + clippy + tests
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
Native consumers that statically link the kernel and publish separate crash
|
|
41
|
+
symbols can use the opt-in `release-with-debuginfo` profile. See
|
|
42
|
+
[`docs/release-debuginfo.md`](docs/release-debuginfo.md) for build, symbol
|
|
43
|
+
splitting, packaging, and binary-identity guidance.
|
|
44
|
+
|
|
40
45
|
## Configuration
|
|
41
46
|
|
|
42
47
|
See [CONNECTION_PARAMETERS.md](CONNECTION_PARAMETERS.md) for every connection, auth, and session parameter the kernel accepts — its meaning, default value, and the config struct it lives on.
|