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]

Reply via email to