aminghadersohi opened a new pull request, #43260:
URL: https://github.com/apache/superset/pull/43260
### SUMMARY
Reverts #42803 (`8014f782d3c702487c6afaa40e2389210a915f91`), restoring the
dependency set and compatible behavior from immediately before the SQLAlchemy
2.0 / Flask-SQLAlchemy 3.1.1 upgrade:
- SQLAlchemy 1.4.54
- Flask-SQLAlchemy 2.5.1
- SQLAlchemy 1.4-compatible database dialect bounds
- the pre-upgrade ORM, session-scoping, migration, URL-rendering, and
result-row behavior
- SQLAlchemy 2.0 deprecation warnings used to catch incompatible code before
a future upgrade
This is a semantic revert of the exact squash commit, rebased onto current
`master`. It preserves the 88 commits merged after #42803 rather than resetting
affected files wholesale.
`requirements/base.txt`, `requirements/development.txt`, and
`requirements/translations.txt` were regenerated with the repository's
`./scripts/uv-pip-compile.sh` Docker/Python 3.11 workflow.
The revert applied without textual conflicts. Post-#42803 changes with
plausible SQLAlchemy coupling were reviewed and retained:
- #42912 / #42920 (`4684851336`), nested SAVEPOINT handling: supported by
SQLAlchemy 1.4 and covered by tests.
- #42629 (`d0658bacc8`), MCP per-call session isolation: explicitly supports
Flask-SQLAlchemy 2.5.1 and is covered by tests.
- #43209 (`2773bc94eb`), `sqlalchemy-bigquery` 1.17.2: resolves against
SQLAlchemy 1.4.54.
- #43101 (`3fb58900b9`), DuckDB cursor workaround removal: real-cursor test
passes with SQLAlchemy 1.4.54, duckdb-engine 0.17.0, and duckdb 1.5.5.
No post-#42803 commit required an additional compatibility change.
### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Not applicable; backend dependency rollback only.
### TESTING INSTRUCTIONS
Dependency artifacts:
```bash
./scripts/uv-pip-compile.sh
```
Targeted PR compatibility tests:
```bash
pytest -q \
tests/unit_tests/extensions/test_sqlalchemy.py \
tests/unit_tests/commands/dataset/test_duplicate.py \
tests/unit_tests/commands/importers/v1/examples_test.py \
tests/unit_tests/databases/filters_test.py \
tests/unit_tests/db_engine_specs/test_snowflake.py \
tests/unit_tests/db_engine_specs/test_trino.py \
tests/unit_tests/sql_lab_test.py
# 175 passed
```
Post-merge session/SAVEPOINT compatibility:
```bash
pytest -q \
tests/unit_tests/charts/commands/importers/v1/import_test.py \
tests/unit_tests/mcp_service/test_session_scope.py \
tests/unit_tests/mcp_service/test_auth_user_resolution.py
# 52 passed, 4 skipped
```
DuckDB compatibility:
```bash
pytest -q tests/unit_tests/db_engine_specs/test_duckdb.py
# 9 passed
```
Pre-commit checks:
```bash
pre-commit run --from-ref origin/master --to-ref HEAD
# passed
```
### ADDITIONAL INFORMATION
- [ ] Has associated issue:
- [ ] 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]