aminghadersohi opened a new pull request, #44286: URL: https://github.com/apache/superset/pull/44286
### SUMMARY The `databricks` extra pins `databricks-sqlalchemy==1.0.5`, which unconditionally requires `sqlalchemy>=1.3.24,<2.0.0` and therefore cannot resolve with Superset's SQLAlchemy 2 requirement. Select `databricks-sqlalchemy>=2.0.1,<3`: 2.0.1 is the first stable 2.x release and requires SQLAlchemy>=2.0.21. Keep the connector range unchanged. Add an optional real-dialect regression that first checks its published SQLAlchemy requirement, then constructs the canonical `databricks://` engine, verifies HTTP path/catalog/schema/native parameter arguments, and compiles a bound query without sockets. Document the requirement in engine metadata, its regenerated documentation field, and UPDATING.md. No requirements lock change: this extra is not in the development install. Independent slice of [SC-120252](https://app.shortcut.com/preset/story/120252), tracked by [SC-121011](https://app.shortcut.com/preset/story/121011). This is not #44278's legacy ODBC/saved-URI migration and does not change Shell's connector overrides or production-image contract. ### TESTING INSTRUCTIONS - Resolver negative: `uv pip install --dry-run 'databricks-sqlalchemy==1.0.5' 'sqlalchemy==2.0.52'` fails at the unconditional `<2` constraint. - Python 3.11 / SQLAlchemy2.0.52 / greenlet3.5.5 / dialect2.0.1 / connector4.5.0 / pyarrow25.0.1: `pytest -q tests/unit_tests/db_engine_specs/test_databricks.py` — **65 passed**. Independently reviewed and rerun; final pinned-greenlet rerun also65. - Old1.0.5 metadata control fails the intended SQLAlchemy-version assertion before dialect import. The test order avoids an incidental namespace-overlay import failure masquerading as SQLAlchemy evidence. - Staged pre-commit: all applicable hooks pass, including mypy/Ruff/pylint/metadata validation. Relevant generated docs field verified; unrelated generator drift excluded. The new regression skips when this optional dialect distribution is absent (including the default CI install). These are explicit local exact-floor/connectionless tests, not live Databricks, authentication/TLS, reflection, or exact production-image qualification. Existing latest/range installs are not proof that every future release works. ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF Not applicable. ### ADDITIONAL INFORMATION - [x] Has associated issue: [SC-121011](https://app.shortcut.com/preset/story/121011) - [ ] Required feature flags: - [ ] Changes UI - [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351)) - [ ] Migration is atomic, supports rollback & is backwards-compatible - [ ] Confirm DB migration upgrade and downgrade tested - [ ] Runtime estimates and downtime expectations provided - [ ] Introduces new feature or API - [ ] Removes existing feature or API -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
