databricks-sql-kernel 1.1.0__tar.gz → 1.2.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.
Files changed (227) hide show
  1. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/CHANGELOG.md +61 -0
  2. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/CONNECTION_PARAMETERS.md +38 -1
  3. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/Cargo.lock +237 -5
  4. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/Cargo.toml +5 -1
  5. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/PKG-INFO +1 -1
  6. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/kernel-telemetry-design.md +1 -1
  7. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/spec-v0.md +1 -1
  8. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/include/databricks_kernel.h +108 -12
  9. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/CHANGELOG.md +18 -0
  10. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/Cargo.lock +285 -32
  11. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/Cargo.toml +1 -1
  12. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/src/executed_async.rs +4 -3
  13. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/src/lib.rs +1 -0
  14. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/src/logging.rs +79 -7
  15. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/src/metadata.rs +3 -3
  16. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/src/result_stream.rs +5 -4
  17. databricks_sql_kernel-1.2.0/pyo3/src/runtime.rs +142 -0
  18. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/src/session.rs +100 -32
  19. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/src/statement.rs +12 -10
  20. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyproject.toml +1 -1
  21. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/jwt_m2m.rs +41 -3
  22. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/m2m.rs +246 -26
  23. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/c_abi/result.rs +193 -0
  24. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/c_abi/session.rs +288 -38
  25. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/c_abi/statement.rs +405 -23
  26. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/client/http.rs +96 -0
  27. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/client/retry.rs +7 -1
  28. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/client/sea.rs +134 -28
  29. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/client/transport.rs +4 -5
  30. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/config.rs +81 -10
  31. databricks_sql_kernel-1.2.0/src/feature_flags/cache.rs +217 -0
  32. databricks_sql_kernel-1.2.0/src/feature_flags/mod.rs +1039 -0
  33. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/lib.rs +11 -3
  34. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/metadata/sql.rs +38 -34
  35. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/metadata/thrift_shape.rs +329 -44
  36. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/metadata/type_mapping.rs +394 -43
  37. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/metadata_v0.rs +522 -73
  38. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/reader/cloudfetch/streaming_provider.rs +322 -26
  39. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/reader/inline/provider.rs +8 -8
  40. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/reader/inline/streaming.rs +215 -39
  41. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/reader/mod.rs +455 -38
  42. databricks_sql_kernel-1.2.0/src/reader/post_processor/geospatial.rs +2254 -0
  43. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/reader/post_processor/json.rs +9 -12
  44. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/reader/post_processor/mod.rs +435 -63
  45. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/reader/test_utils.rs +29 -0
  46. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/result_stream.rs +50 -0
  47. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/session.rs +303 -33
  48. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/statement/executed.rs +27 -0
  49. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/statement/executed_async.rs +246 -8
  50. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/statement/mutable.rs +63 -11
  51. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/telemetry/client.rs +4 -4
  52. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/telemetry/manager.rs +5 -5
  53. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/telemetry/runtime.rs +5 -5
  54. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/types/sea.rs +105 -9
  55. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/c/session_smoke.c +20 -0
  56. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_async_execute_wiremock.rs +232 -0
  57. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_c_abi_canceller_wiremock.rs +830 -6
  58. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_c_abi_result_config_wiremock.rs +49 -4
  59. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_execute_wiremock.rs +1100 -4
  60. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_metadata_e2e.rs +18 -48
  61. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_metadata_wiremock.rs +701 -26
  62. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_session_wiremock.rs +137 -1
  63. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.bot/config.yaml +0 -0
  64. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.bot/context-repos.yaml +0 -0
  65. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.bot/prompts/engineer/system.md +0 -0
  66. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.bot/prompts/engineer/user.md +0 -0
  67. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.bot/prompts/engineer-followup/system.md +0 -0
  68. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.bot/prompts/retrospective_system.md +0 -0
  69. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.bot/prompts/review/system.md +0 -0
  70. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.claude/knowledge/learning-log.md +0 -0
  71. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/CODEOWNERS +0 -0
  72. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/actions/bot-prelude/action.yml +0 -0
  73. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/actions/install-bot-engine/action.yml +0 -0
  74. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/actions/setup-jfrog/action.yml +0 -0
  75. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/dependabot.yml +0 -0
  76. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/scripts/check-napi-loader-drift.sh +0 -0
  77. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/scripts/check-release-debuginfo.ps1 +0 -0
  78. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/scripts/check-release-debuginfo.sh +0 -0
  79. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/cargo-publish.yml +0 -0
  80. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/close-stale.yml +0 -0
  81. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/coverage.yml +0 -0
  82. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/dco-check.yml +0 -0
  83. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/engineer-bot-followup.yml +0 -0
  84. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/engineer-bot-learning.yml +0 -0
  85. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/engineer-bot.yml +0 -0
  86. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/license-check.yml +0 -0
  87. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/napi-checks.yml +0 -0
  88. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/pr-checks.yml +0 -0
  89. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/pyo3-checks.yml +0 -0
  90. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/release-debuginfo.yml +0 -0
  91. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/reviewer-bot-followup.yml +0 -0
  92. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/reviewer-bot.yml +0 -0
  93. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/rust-e2e.yml +0 -0
  94. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/securityScan.yml +0 -0
  95. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/skip-checks-reporter.yml +0 -0
  96. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/trigger-coverage-fanout.yml +0 -0
  97. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.github/workflows/trigger-integration-tests.yml +0 -0
  98. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/.gitignore +0 -0
  99. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/CLAUDE.md +0 -0
  100. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/LICENSE +0 -0
  101. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/Makefile +0 -0
  102. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/NEXT_CHANGELOG.md +0 -0
  103. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/NOTICE.txt +0 -0
  104. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/README.md +0 -0
  105. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/about.toml +0 -0
  106. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/ci/proxy/htpasswd +0 -0
  107. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/ci/proxy/squid-auth.conf +0 -0
  108. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/clippy.toml +0 -0
  109. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/deny.toml +0 -0
  110. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/PECOBLR-2091-retry-logic-design.md +0 -0
  111. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/PECOBLR-4141-azure-service-principal-design.md +0 -0
  112. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/PECOBLR-4146-oauth-token-persistence-design.md +0 -0
  113. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/client-refactor-design.md +0 -0
  114. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/cloudfetch-implementation-plan.md +0 -0
  115. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/cloudfetch-pipeline-redesign.md +0 -0
  116. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/complex-types-json-stringify.md +0 -0
  117. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/connection-metadata-design.md +0 -0
  118. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/fix-duplicate-link-prefetch.md +0 -0
  119. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/inline-arrow-results-design.md +0 -0
  120. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/oauth-sprint-plan.md +0 -0
  121. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/oauth-u2m-m2m-design.md +0 -0
  122. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/odbc-batch-optimization.md +0 -0
  123. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/odbc-metadata-ffi-design.md +0 -0
  124. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/prepared-statement-design.md +0 -0
  125. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/proxy-support-design.md +0 -0
  126. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/result-metadata-propagation.md +0 -0
  127. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/tls-config-design.md +0 -0
  128. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/designs/token-federation-design.md +0 -0
  129. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/migration-plan.md +0 -0
  130. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/pr-4-plan.md +0 -0
  131. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/pr-5-plan.md +0 -0
  132. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/docs/release-debuginfo.md +0 -0
  133. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/include/legacy/databricks_metadata_ffi.h +0 -0
  134. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/license.tpl +0 -0
  135. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/osv-scanner.toml +0 -0
  136. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/NEXT_CHANGELOG.md +0 -0
  137. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/pytest.ini +0 -0
  138. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/release-notes.txt +0 -0
  139. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/src/auth.rs +0 -0
  140. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/src/errors.rs +0 -0
  141. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/src/fetch.rs +0 -0
  142. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/src/macros.rs +0 -0
  143. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/src/params.rs +0 -0
  144. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/tests/conftest.py +0 -0
  145. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/tests/test_async.py +0 -0
  146. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/tests/test_auth.py +0 -0
  147. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/tests/test_execute.py +0 -0
  148. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/tests/test_metadata.py +0 -0
  149. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/tests/test_module.py +0 -0
  150. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/pyo3/tests/test_session.py +0 -0
  151. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/release-notes.txt +0 -0
  152. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/config.rs +0 -0
  153. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/mod.rs +0 -0
  154. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/azure.rs +0 -0
  155. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/cache.rs +0 -0
  156. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/cache_crypto.rs +0 -0
  157. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/callback.rs +0 -0
  158. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/federation.rs +0 -0
  159. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/jwt.rs +0 -0
  160. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/jwt_key.rs +0 -0
  161. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/mod.rs +0 -0
  162. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/oidc.rs +0 -0
  163. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/test_keys.rs +0 -0
  164. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/token.rs +0 -0
  165. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/token_store.rs +0 -0
  166. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/oauth/u2m.rs +0 -0
  167. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/auth/pat.rs +0 -0
  168. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/c_abi/error.rs +0 -0
  169. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/c_abi/metadata.rs +0 -0
  170. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/c_abi/mod.rs +0 -0
  171. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/client/mod.rs +0 -0
  172. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/kernel_error.rs +0 -0
  173. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/klog.rs +0 -0
  174. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/logging.rs +0 -0
  175. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/metadata/mod.rs +0 -0
  176. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/metadata/schemas.rs +0 -0
  177. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/metadata/static_data.rs +0 -0
  178. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/reader/cloudfetch/arrow_parser.rs +0 -0
  179. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/reader/cloudfetch/chunk_downloader.rs +0 -0
  180. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/reader/cloudfetch/link_fetcher.rs +0 -0
  181. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/reader/cloudfetch/mod.rs +0 -0
  182. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/reader/inline/mod.rs +0 -0
  183. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/result/mod.rs +0 -0
  184. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/statement/dml_count.rs +0 -0
  185. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/statement/handle.rs +0 -0
  186. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/statement/mod.rs +0 -0
  187. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/statement/params.rs +0 -0
  188. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/statement/params_codec.rs +0 -0
  189. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/statement/spec.rs +0 -0
  190. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/statement/timeout.rs +0 -0
  191. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/statement/validity.rs +0 -0
  192. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/telemetry/circuit_breaker.rs +0 -0
  193. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/telemetry/databricks.rs +0 -0
  194. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/telemetry/exporter.rs +0 -0
  195. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/telemetry/mod.rs +0 -0
  196. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/telemetry/models.rs +0 -0
  197. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/telemetry/statement.rs +0 -0
  198. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/telemetry/test_support.rs +0 -0
  199. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/types/cloudfetch.rs +0 -0
  200. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/types/mod.rs +0 -0
  201. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/util/mod.rs +0 -0
  202. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/src/util/runtime.rs +0 -0
  203. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/bot_e2e_helper.rs +0 -0
  204. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/c_abi_logging_callback.rs +0 -0
  205. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/c_abi_logging_callback_conflict.rs +0 -0
  206. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/c_abi_logging_callback_panic.rs +0 -0
  207. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/c_abi_logging_callback_reentrancy.rs +0 -0
  208. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/c_abi_mtls_e2e.rs +0 -0
  209. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/common/mod.rs +0 -0
  210. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/klog_bridge.rs +0 -0
  211. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/oauth_u2m_integration.rs +0 -0
  212. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/symbols/staticlib_consumer.c +0 -0
  213. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/tls_rustls_native_roots.rs +0 -0
  214. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/token_federation_wiremock.rs +0 -0
  215. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_async_execute_e2e.rs +0 -0
  216. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_c_abi_metadata_table_types_wiremock.rs +0 -0
  217. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_c_abi_result_stream_canceller_wiremock.rs +0 -0
  218. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_c_abi_session_close_wiremock.rs +0 -0
  219. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_c_abi_session_test_wiremock.rs +0 -0
  220. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_execute_e2e.rs +0 -0
  221. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_logging_wiremock.rs +0 -0
  222. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_metadata_empty_types_e2e.rs +0 -0
  223. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_query_tags_headers_e2e.rs +0 -0
  224. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_session_e2e.rs +0 -0
  225. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_statement_canceller_reexecute.rs +0 -0
  226. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_tls_e2e.rs +0 -0
  227. {databricks_sql_kernel-1.1.0 → databricks_sql_kernel-1.2.0}/tests/v0_transactions_e2e.rs +0 -0
@@ -14,6 +14,67 @@ cadences and may not move in lockstep with the crate.
14
14
 
15
15
  ### Fixed
16
16
 
17
+ ## [v1.2.0] - 2026-10-19
18
+
19
+ ### Added
20
+ - Thrift-native metadata routing with compatible public-schema casts and
21
+ one-based `getColumns` ordinals.
22
+ - Native Arrow `GEOMETRY` / `GEOGRAPHY` results as tagged `struct<srid,wkb>`
23
+ values, including nested values and empty-result schemas. The kernel uses
24
+ the structured logical manifest to reconcile attachments without copying
25
+ child buffers.
26
+ - Typed client-side `GEOMETRY` / `GEOGRAPHY` result representation selection.
27
+ The kernel normalizes both standard-warehouse WKT / EWKT and Reyden's native
28
+ SRID+WKB struct to the requested representation. No representation setting
29
+ is sent to SEA.
30
+ - The default-enabled `kernel_session_config_set_enable_geospatial_support()`
31
+ C ABI setting selects native SRID+WKB Arrow results when enabled and
32
+ WKT / EWKT strings when disabled.
33
+ - Authenticated connector-service feature flags with a bounded, process-wide
34
+ workspace cache and kernel-internal typed readers for all six SAFE types.
35
+ - Result schemas carry the Thrift-compatible `Spark:DataType:SqlName` and
36
+ optional `Spark:DataType:JsonType` field metadata from the SEA manifest.
37
+ - Caller-driven asynchronous statement submission, status polling, result
38
+ materialization, query IDs, row counts, cancellation, and close over the C ABI.
39
+ - Nonblocking result-batch fetching through Rust `try_next_batch()` and the C ABI.
40
+ - `Statement::submit_with_timeout()` enforces one client deadline across
41
+ submission and asynchronous status polling, with cancellation on expiry.
42
+
43
+ ### Changed
44
+ - Native SRID+WKB is now the default geospatial result representation.
45
+ - Route function metadata through the Thrift-native metadata path when
46
+ supported by the server.
47
+ - Authenticated SEA requests use `Accept-Encoding: identity` by default to
48
+ avoid gzipping inline LZ4-compressed Arrow results. Response compression can
49
+ be re-enabled through `HttpConfig` or the C ABI.
50
+ - Feature flags are fetched after kernel authentication and before session
51
+ creation; sessions read process-cache values instead of retaining snapshots.
52
+ - Kernel telemetry enablement follows the connector-service feature flag when
53
+ the client leaves it unspecified; explicit client settings take precedence.
54
+ - **Breaking (Rust API):** `TelemetryConfig::enabled` changes from `bool` to
55
+ `Option<bool>`. `None` defers to the workspace feature flag; use
56
+ `with_enabled` / `set_enabled` or wrap explicit values in `Some(...)`.
57
+ - A backward-compatible C telemetry-config v2 setter uses nullable config and
58
+ `has_enabled` to preserve unspecified client enablement.
59
+ - Synchronous `execute()` waits for a terminal server state without the implicit
60
+ 600-second client timeout; explicit execution deadlines remain supported.
61
+ - Inline Arrow result decoding avoids redundant response and attachment copies.
62
+
63
+ ### Updated
64
+ - Updated `quinn-proto` to 0.11.18 to address security scan findings.
65
+
66
+ ### Fixed
67
+ - `list_tables` matches `table_types` case-sensitively, matching Thrift
68
+ `GetTables`: `["table"]` no longer matches `TABLE` rows.
69
+ - Primary-key metadata resolves missing catalog and schema independently from
70
+ the current session and preserves explicit empty names.
71
+ - Foreign-key metadata preserves server-provided update and delete rules as
72
+ nullable `Int16` values.
73
+ - Empty ARRAY result schemas use the Thrift-compatible `element` child name,
74
+ including nested arrays.
75
+ - M2M and Azure service-principal token exchanges retry transient failures;
76
+ exhausted transient failures retain their status-based error codes.
77
+
17
78
  ## [v1.1.0] - 2026-09-23
18
79
 
19
80
  ### Added
@@ -15,6 +15,7 @@ by the struct it lives on. `ConnectionConfig` and `AuthConfig` are
15
15
  | [`ProxyConfig`](#proxyconfig--httphttps-proxy-optional) | HTTP/HTTPS proxy |
16
16
  | [`TlsConfig`](#tlsconfig--tls--ssl-optional) | cert validation, custom CA, mTLS |
17
17
  | [`ResultConfig`](#resultconfig--result-handling-optional) | CloudFetch tuning, type rendering |
18
+ | [`geospatial_result_representation`](#geospatial_result_representation--geospatial-result-encoding-optional) | GEOMETRY / GEOGRAPHY result encoding |
18
19
  | [`LoggingConfig`](#loggingconfig--logging-optional) | log filter / file |
19
20
  | [`transport`](#transport--wire-protocol-optional) | wire protocol |
20
21
  | [`session_conf`](#session_conf--server-side-session-configuration-optional) | server-side SQL / Spark config |
@@ -173,9 +174,45 @@ Setting only one of `client_cert_pem` / `client_key_pem` is rejected at
173
174
  | `cloudfetch_link_prefetch_window` | Number of presigned URLs to prefetch ahead of the consumer. | `10` |
174
175
  | `cloudfetch_max_chunks_in_memory` | Max decompressed CloudFetch chunks held in memory at once (bounds download parallelism and peak RSS). | `16` |
175
176
  | `inline_max_chunks_in_memory` | Prefetch window for the inline-Arrow path (used when CloudFetch is disabled). `1` disables prefetching. | `4` |
176
- | `complex_types_as_json` | Render complex columns (`ARRAY` / `MAP` / `STRUCT` / `VARIANT` / `GEOMETRY` / `GEOGRAPHY`) as compact JSON strings instead of native Arrow nested types. | `false` |
177
+ | `complex_types_as_json` | Render complex columns (`ARRAY` / `MAP` / `STRUCT` / `VARIANT`) as compact JSON strings instead of native Arrow nested types. Top-level geo columns use `geospatial_result_representation`; nested geo leaves are normalized before the enclosing value is rendered as JSON. | `false` |
177
178
  | `intervals_as_string` | Render `INTERVAL` / `DURATION` columns as canonical Databricks text (e.g. `"Y-M"`, `"D HH:MM:SS.nnnnnnnnn"`) instead of native Arrow interval types. | `false` |
178
179
 
180
+ ## `geospatial_result_representation` — geospatial result encoding (optional)
181
+
182
+ Set with `SessionBuilder::geospatial_result_representation(...)`. Both modes
183
+ keep the outer result format as Arrow; this setting only selects the physical
184
+ Arrow representation of `GEOMETRY` and `GEOGRAPHY` values.
185
+
186
+ | Value | Arrow representation |
187
+ |-------|----------------------|
188
+ | `GeospatialResultRepresentation::String` | Arrow `Utf8` containing WKT / EWKT. |
189
+ | `GeospatialResultRepresentation::Binary` | Arrow `struct<srid: int32 not null, wkb: binary not null>` containing the SRID and little-endian OGC WKB. The WKB itself is not EWKB. This is the default. |
190
+
191
+ Reyden returns every geo value as that native struct; standard DBSQL warehouses
192
+ return WKT / EWKT as Arrow `Utf8` or `LargeUtf8`. The structured manifest
193
+ reports the logical `GEOMETRY(...)` or `GEOGRAPHY(...)` type and is the source
194
+ of truth for either attachment. The kernel normalizes both paths: binary mode
195
+ attaches the canonical tags to a Reyden struct or parses standard-warehouse
196
+ text into the same tagged SRID+WKB struct, while string mode preserves existing
197
+ text or renders a native struct as EWKT. Nested values in arrays, maps, and
198
+ structs, per-row SRIDs, and null outer values are preserved.
199
+
200
+ This is entirely client-side and is never forwarded to SEA. Set it through
201
+ the typed kernel or binding API. An `EnableGeoSpatialSupport` entry placed
202
+ directly in `session_conf` is not interpreted by the kernel and is forwarded
203
+ unchanged; SEA/Reyden does not define that server configuration.
204
+
205
+ Bindings expose the same default-enabled boolean as Python
206
+ `enable_geospatial_support`, Node.js `enableGeoSpatialSupport`, and C
207
+ `kernel_session_config_set_enable_geospatial_support`. Enabled returns the
208
+ native SRID+WKB Arrow representation; disabled returns WKT / EWKT strings.
209
+
210
+ The structured manifest type text is authoritative for identifying geo leaves;
211
+ the attachment supplies the physical values. The same post-processing step
212
+ produces the requested client-facing schema for non-empty and empty results.
213
+ Manifest field metadata preserves the logical type and SRID text under
214
+ `databricks.type_name` and `databricks.type_text`.
215
+
179
216
  ## `LoggingConfig` — logging (optional)
180
217
 
181
218
  | Field | Description | Default |
@@ -63,6 +63,15 @@ dependencies = [
63
63
  "libc",
64
64
  ]
65
65
 
66
+ [[package]]
67
+ name = "approx"
68
+ version = "0.5.1"
69
+ source = "registry+https://github.com/rust-lang/crates.io-index"
70
+ checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
71
+ dependencies = [
72
+ "num-traits",
73
+ ]
74
+
66
75
  [[package]]
67
76
  name = "arrow-array"
68
77
  version = "59.1.0"
@@ -238,11 +247,22 @@ dependencies = [
238
247
  "tokio",
239
248
  ]
240
249
 
250
+ [[package]]
251
+ name = "async-lock"
252
+ version = "3.4.2"
253
+ source = "registry+https://github.com/rust-lang/crates.io-index"
254
+ checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311"
255
+ dependencies = [
256
+ "event-listener",
257
+ "event-listener-strategy",
258
+ "pin-project-lite",
259
+ ]
260
+
241
261
  [[package]]
242
262
  name = "async-trait"
243
- version = "0.1.91"
263
+ version = "0.1.92"
244
264
  source = "registry+https://github.com/rust-lang/crates.io-index"
245
- checksum = "ae36dc4177970ef04fde5178d3e2429882def40e57a451f919c098f72baa6cec"
265
+ checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667"
246
266
  dependencies = [
247
267
  "proc-macro2",
248
268
  "quote",
@@ -346,6 +366,12 @@ version = "3.20.3"
346
366
  source = "registry+https://github.com/rust-lang/crates.io-index"
347
367
  checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
348
368
 
369
+ [[package]]
370
+ name = "byteorder"
371
+ version = "1.5.0"
372
+ source = "registry+https://github.com/rust-lang/crates.io-index"
373
+ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
374
+
349
375
  [[package]]
350
376
  name = "bytes"
351
377
  version = "1.12.1"
@@ -543,6 +569,24 @@ dependencies = [
543
569
  "cfg-if",
544
570
  ]
545
571
 
572
+ [[package]]
573
+ name = "crossbeam-channel"
574
+ version = "0.5.17"
575
+ source = "registry+https://github.com/rust-lang/crates.io-index"
576
+ checksum = "98b0cc327b5bc766e7fda9c9260cc0fa81b43a8e240440422dff70788e3f9ef1"
577
+ dependencies = [
578
+ "crossbeam-utils",
579
+ ]
580
+
581
+ [[package]]
582
+ name = "crossbeam-epoch"
583
+ version = "0.9.21"
584
+ source = "registry+https://github.com/rust-lang/crates.io-index"
585
+ checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d"
586
+ dependencies = [
587
+ "crossbeam-utils",
588
+ ]
589
+
546
590
  [[package]]
547
591
  name = "crossbeam-utils"
548
592
  version = "0.8.22"
@@ -617,7 +661,7 @@ checksum = "4583a4551df46e2792f82ceeac45e850d2e2d5debba0b91f102385cda5b11f06"
617
661
 
618
662
  [[package]]
619
663
  name = "databricks-sql-kernel"
620
- version = "1.1.0"
664
+ version = "1.2.0"
621
665
  dependencies = [
622
666
  "aes 0.9.2",
623
667
  "arrow-array",
@@ -634,11 +678,13 @@ dependencies = [
634
678
  "dashmap",
635
679
  "dirs",
636
680
  "futures",
681
+ "geo-traits",
637
682
  "hex",
638
683
  "hmac 0.13.0",
639
684
  "jsonwebtoken",
640
685
  "log",
641
686
  "lz4_flex",
687
+ "moka",
642
688
  "oauth2",
643
689
  "open",
644
690
  "p256",
@@ -660,6 +706,8 @@ dependencies = [
660
706
  "tracing",
661
707
  "tracing-subscriber",
662
708
  "wiremock",
709
+ "wkb",
710
+ "wkt",
663
711
  "zeroize",
664
712
  ]
665
713
 
@@ -818,6 +866,26 @@ dependencies = [
818
866
  "windows-sys 0.61.2",
819
867
  ]
820
868
 
869
+ [[package]]
870
+ name = "event-listener"
871
+ version = "5.4.2"
872
+ source = "registry+https://github.com/rust-lang/crates.io-index"
873
+ checksum = "5a23add41df1562121a9393cb065eab5146a1242410f23a644851e90cfd669d2"
874
+ dependencies = [
875
+ "parking",
876
+ "pin-project-lite",
877
+ ]
878
+
879
+ [[package]]
880
+ name = "event-listener-strategy"
881
+ version = "0.5.4"
882
+ source = "registry+https://github.com/rust-lang/crates.io-index"
883
+ checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93"
884
+ dependencies = [
885
+ "event-listener",
886
+ "pin-project-lite",
887
+ ]
888
+
821
889
  [[package]]
822
890
  name = "fastrand"
823
891
  version = "2.4.1"
@@ -989,6 +1057,27 @@ dependencies = [
989
1057
  "zeroize",
990
1058
  ]
991
1059
 
1060
+ [[package]]
1061
+ name = "geo-traits"
1062
+ version = "0.3.0"
1063
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1064
+ checksum = "2e7c353d12a704ccfab1ba8bfb1a7fe6cb18b665bf89d37f4f7890edcd260206"
1065
+ dependencies = [
1066
+ "geo-types",
1067
+ ]
1068
+
1069
+ [[package]]
1070
+ name = "geo-types"
1071
+ version = "0.7.20"
1072
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1073
+ checksum = "777d18aa0f12f8b285331cd867133ee14422b3f023f6d388034c47d43e28786a"
1074
+ dependencies = [
1075
+ "approx",
1076
+ "num-traits",
1077
+ "serde",
1078
+ "thiserror 2.0.19",
1079
+ ]
1080
+
992
1081
  [[package]]
993
1082
  name = "getrandom"
994
1083
  version = "0.2.17"
@@ -1630,6 +1719,26 @@ dependencies = [
1630
1719
  "windows-sys 0.61.2",
1631
1720
  ]
1632
1721
 
1722
+ [[package]]
1723
+ name = "moka"
1724
+ version = "0.12.16"
1725
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1726
+ checksum = "4293f18e7567a1caf3c584855554377025c65e0aa445344d04171f5ad63d19b9"
1727
+ dependencies = [
1728
+ "async-lock",
1729
+ "crossbeam-channel",
1730
+ "crossbeam-epoch",
1731
+ "crossbeam-utils",
1732
+ "equivalent",
1733
+ "event-listener",
1734
+ "futures-util",
1735
+ "parking_lot",
1736
+ "portable-atomic",
1737
+ "smallvec",
1738
+ "tagptr",
1739
+ "uuid",
1740
+ ]
1741
+
1633
1742
  [[package]]
1634
1743
  name = "native-tls"
1635
1744
  version = "0.2.18"
@@ -1746,6 +1855,28 @@ dependencies = [
1746
1855
  "libc",
1747
1856
  ]
1748
1857
 
1858
+ [[package]]
1859
+ name = "num_enum"
1860
+ version = "0.7.6"
1861
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1862
+ checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26"
1863
+ dependencies = [
1864
+ "num_enum_derive",
1865
+ "rustversion",
1866
+ ]
1867
+
1868
+ [[package]]
1869
+ name = "num_enum_derive"
1870
+ version = "0.7.6"
1871
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1872
+ checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8"
1873
+ dependencies = [
1874
+ "proc-macro-crate",
1875
+ "proc-macro2",
1876
+ "quote",
1877
+ "syn 2.0.118",
1878
+ ]
1879
+
1749
1880
  [[package]]
1750
1881
  name = "oauth2"
1751
1882
  version = "5.0.0"
@@ -1852,6 +1983,12 @@ dependencies = [
1852
1983
  "sha2 0.10.9",
1853
1984
  ]
1854
1985
 
1986
+ [[package]]
1987
+ name = "parking"
1988
+ version = "2.2.1"
1989
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1990
+ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
1991
+
1855
1992
  [[package]]
1856
1993
  name = "parking_lot"
1857
1994
  version = "0.12.5"
@@ -1970,6 +2107,12 @@ version = "0.3.33"
1970
2107
  source = "registry+https://github.com/rust-lang/crates.io-index"
1971
2108
  checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e"
1972
2109
 
2110
+ [[package]]
2111
+ name = "portable-atomic"
2112
+ version = "1.15.0"
2113
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2114
+ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
2115
+
1973
2116
  [[package]]
1974
2117
  name = "potential_utf"
1975
2118
  version = "0.1.5"
@@ -2003,6 +2146,15 @@ dependencies = [
2003
2146
  "elliptic-curve",
2004
2147
  ]
2005
2148
 
2149
+ [[package]]
2150
+ name = "proc-macro-crate"
2151
+ version = "3.5.0"
2152
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2153
+ checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f"
2154
+ dependencies = [
2155
+ "toml_edit",
2156
+ ]
2157
+
2006
2158
  [[package]]
2007
2159
  name = "proc-macro2"
2008
2160
  version = "1.0.106"
@@ -2034,9 +2186,9 @@ dependencies = [
2034
2186
 
2035
2187
  [[package]]
2036
2188
  name = "quinn-proto"
2037
- version = "0.11.16"
2189
+ version = "0.11.18"
2038
2190
  source = "registry+https://github.com/rust-lang/crates.io-index"
2039
- checksum = "2f4bfc015262b9df63c8845072ce59068853ff5872180c2ce2f13038b970e560"
2191
+ checksum = "a9746dbde176634f4f2f1faf2404e30a31b2bc1e9cafb5329c95d8177a18c9fc"
2040
2192
  dependencies = [
2041
2193
  "bytes",
2042
2194
  "getrandom 0.4.3",
@@ -2704,6 +2856,12 @@ dependencies = [
2704
2856
  "syn 2.0.118",
2705
2857
  ]
2706
2858
 
2859
+ [[package]]
2860
+ name = "tagptr"
2861
+ version = "0.2.0"
2862
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2863
+ checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
2864
+
2707
2865
  [[package]]
2708
2866
  name = "tempfile"
2709
2867
  version = "3.27.0"
@@ -2892,6 +3050,36 @@ dependencies = [
2892
3050
  "tokio",
2893
3051
  ]
2894
3052
 
3053
+ [[package]]
3054
+ name = "toml_datetime"
3055
+ version = "1.1.1+spec-1.1.0"
3056
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3057
+ checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7"
3058
+ dependencies = [
3059
+ "serde_core",
3060
+ ]
3061
+
3062
+ [[package]]
3063
+ name = "toml_edit"
3064
+ version = "0.25.15+spec-1.1.0"
3065
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3066
+ checksum = "1340ea94a5856333492c9064b02c778b191dd2c853778d9609debdcdfea3a614"
3067
+ dependencies = [
3068
+ "indexmap",
3069
+ "toml_datetime",
3070
+ "toml_parser",
3071
+ "winnow",
3072
+ ]
3073
+
3074
+ [[package]]
3075
+ name = "toml_parser"
3076
+ version = "1.1.3+spec-1.1.0"
3077
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3078
+ checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56"
3079
+ dependencies = [
3080
+ "winnow",
3081
+ ]
3082
+
2895
3083
  [[package]]
2896
3084
  name = "tower"
2897
3085
  version = "0.5.3"
@@ -3053,6 +3241,17 @@ version = "1.0.4"
3053
3241
  source = "registry+https://github.com/rust-lang/crates.io-index"
3054
3242
  checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
3055
3243
 
3244
+ [[package]]
3245
+ name = "uuid"
3246
+ version = "1.26.1"
3247
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3248
+ checksum = "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce"
3249
+ dependencies = [
3250
+ "getrandom 0.4.3",
3251
+ "js-sys",
3252
+ "wasm-bindgen",
3253
+ ]
3254
+
3056
3255
  [[package]]
3057
3256
  name = "valuable"
3058
3257
  version = "0.1.1"
@@ -3333,6 +3532,15 @@ version = "0.52.6"
3333
3532
  source = "registry+https://github.com/rust-lang/crates.io-index"
3334
3533
  checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
3335
3534
 
3535
+ [[package]]
3536
+ name = "winnow"
3537
+ version = "1.0.4"
3538
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3539
+ checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81"
3540
+ dependencies = [
3541
+ "memchr",
3542
+ ]
3543
+
3336
3544
  [[package]]
3337
3545
  name = "wiremock"
3338
3546
  version = "0.6.5"
@@ -3362,6 +3570,30 @@ version = "0.57.1"
3362
3570
  source = "registry+https://github.com/rust-lang/crates.io-index"
3363
3571
  checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
3364
3572
 
3573
+ [[package]]
3574
+ name = "wkb"
3575
+ version = "0.9.2"
3576
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3577
+ checksum = "a120b336c7ad17749026d50427c23d838ecb50cd64aaea6254b5030152f890a9"
3578
+ dependencies = [
3579
+ "byteorder",
3580
+ "geo-traits",
3581
+ "num_enum",
3582
+ "thiserror 1.0.69",
3583
+ ]
3584
+
3585
+ [[package]]
3586
+ name = "wkt"
3587
+ version = "0.14.0"
3588
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3589
+ checksum = "efb2b923ccc882312e559ffaa832a055ba9d1ac0cc8e86b3e25453247e4b81d7"
3590
+ dependencies = [
3591
+ "geo-traits",
3592
+ "log",
3593
+ "num-traits",
3594
+ "thiserror 1.0.69",
3595
+ ]
3596
+
3365
3597
  [[package]]
3366
3598
  name = "writeable"
3367
3599
  version = "0.6.3"
@@ -14,7 +14,7 @@
14
14
 
15
15
  [package]
16
16
  name = "databricks-sql-kernel"
17
- version = "1.1.0"
17
+ version = "1.2.0"
18
18
  edition = "2021"
19
19
  authors = ["Databricks"]
20
20
  license = "Apache-2.0"
@@ -68,6 +68,9 @@ serde = { version = "1", features = ["derive"] }
68
68
  serde_json = "1"
69
69
  base64 = "0.22"
70
70
  hex = "0.4" # Hex encoding (binary param literals, token cache key)
71
+ wkb = "0.9.2" # OGC WKB parser for geospatial result rendering
72
+ geo-traits = "0.3" # Generic geometry traversal for WKB-to-EWKT rendering
73
+ wkt = { version = "0.14", default-features = false } # OGC WKT parser for legacy SEA results
71
74
 
72
75
  # Date/time handling
73
76
  chrono = { version = "0.4", features = ["serde"] }
@@ -80,6 +83,7 @@ rand = "0.10"
80
83
 
81
84
  # Concurrent data structures
82
85
  dashmap = "6"
86
+ moka = { version = "0.12.16", features = ["future"] }
83
87
 
84
88
  # Async utilities
85
89
  futures = "0.3"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: databricks-sql-kernel
3
- Version: 1.1.0
3
+ Version: 1.2.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)
@@ -339,7 +339,7 @@ should follow ADBC unless product owners choose a kernel-specific endpoint:
339
339
  - Endpoint format currently used by ADBC:
340
340
  `/api/2.0/connector-service/feature-flags/ADBC/{driver_version}`.
341
341
  - Existing server-side flag:
342
- `databricks.partnerplatform.clientConfigsFeatureFlags.enableTelemetryForAdbc`.
342
+ `databricks.partnerplatform.clientConfigsFeatureFlags.enableTelemetryForKernel`.
343
343
 
344
344
  If the kernel needs separate rollout from ADBC, introduce a kernel-specific flag
345
345
  only after the backend/dashboard owner confirms the split. Do not fall back to
@@ -644,7 +644,7 @@ impl Statement {
644
644
  /// Read-only access (for logging or assertion).
645
645
  pub fn spec_ref(&self) -> &StatementSpec;
646
646
 
647
- /// Wait-for-result execution with the existing 600s polling ceiling.
647
+ /// Wait-for-result execution without an overall client polling deadline.
648
648
  pub async fn execute(&mut self) -> Result<ExecutedStatement>;
649
649
 
650
650
  /// Execute with a client deadline through terminal-state mapping.