You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "aminghadersohi (via GitHub)" <gi...@apache.org> on 2026/08/17 17:20:11 UTC

[PR] fix(deps): add temporary SQLAlchemy 1.4 compatibility lane [superset]

aminghadersohi opened a new pull request, #43263:
URL: https://github.com/apache/superset/pull/43263

   ### SUMMARY
   
   Adds a temporary, tested SQLAlchemy 1.4 compatibility lane for downstreams such as Preset Shell without reverting the SQLAlchemy 2 upgrade from #42803.
   
   The normal OSS lock files and install path remain on SQLAlchemy 2.0.51 with Flask-SQLAlchemy 3.1.1. Downstreams using the bridge **must constrain both** SQLAlchemy 1.4.54 and Flask-SQLAlchemy 2.5.1 together, using `requirements/sqlalchemy14.txt` as the reference pair.
   
   Python package metadata cannot express correlated dependency alternatives ("SQLAlchemy 1.4 + Flask-SQLAlchemy 2.5" or "SQLAlchemy 2 + Flask-SQLAlchemy 3.1"). The widened bounds therefore expose the union needed by a downstream constraints file; arbitrary cross-pair combinations are not supported. Excluding Flask-SQLAlchemy 3.0.x, keeping the generated OSS requirements on the modern pair, and validating the exact legacy pair in CI avoids presenting an accidental third supported lane.
   
   Runtime compatibility remains narrow:
   
   - use the transaction API shared by SQLAlchemy 1.4 and 2.x when rolling back the connection health check;
   - make a SQL compilation assertion insensitive to version-specific projection ordering and redundant parentheses while continuing to verify its permission predicates;
   - retain all other SQLAlchemy 2 migration work and post-#42803 session/SAVEPOINT/MCP isolation fixes.
   
   The commonly tested `bigquery`, `druid`, `duckdb`, `fastmcp`, `gevent`, `gsheets`, `mysql`, `postgres`, `presto`, `prophet`, `trino`, and `thumbnails` extras are available in both lanes. The selected `dremio`, `exasol`, `firebird`, `redshift`, and `risingwave` driver lines are explicitly documented as SQLAlchemy 2-only; their OSS defaults are not silently downgraded. Other extras are not covered by the legacy lane and require downstream validation.
   
   This is intended as a temporary migration bridge. Once Preset Shell and other known downstreams have moved to SQLAlchemy 2, remove the paired constraints, widened lower bounds, compatibility code, documentation, and legacy CI job together. #43260 remains the broader full-rollback alternative; this PR does not close it.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   
   Not applicable; dependency, backend compatibility, and CI changes only.
   
   ### TESTING INSTRUCTIONS
   
   Regenerated dependency artifacts with repository tooling; the generated files were unchanged and continue to pin SQLAlchemy 2.0.51 / Flask-SQLAlchemy 3.1.1:
   
   ```bash
   ./scripts/uv-pip-compile.sh
   ```
   
   Validated dependencies and ran the CI-selected app initialization, ORM/session/engine, migration, SAVEPOINT, MCP isolation, DuckDB, and SQL Lab tests on both exact stacks:
   
   ```text
   SQLAlchemy 2.0.51 + Flask-SQLAlchemy 3.1.1: 403 passed, 4 skipped
   SQLAlchemy 1.4.54 + Flask-SQLAlchemy 2.5.1: 403 passed, 4 skipped
   uv pip check: passed on both stacks
   ```
   
   Ran a full empty-SQLite `superset db upgrade` successfully on both stacks.
   
   ```bash
   PRE_COMMIT_HOME=/tmp/pre-commit-cache pre-commit run
   # passed
   ```
   
   The `sqlalchemy14-compatibility` CI job installs the existing development lock, replaces only the two packages from `requirements/sqlalchemy14.txt`, runs `uv pip check`, and executes the targeted suite. The existing required SA2 unit-test matrix is unchanged; its stable required anchor now also requires the compatibility lane.
   
   ### 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
     - [x] 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: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(deps): add temporary SQLAlchemy 1.4 compatibility lane [superset]

Posted by "aminghadersohi (via GitHub)" <gi...@apache.org>.
aminghadersohi commented on PR #43263:
URL: https://github.com/apache/superset/pull/43263#issuecomment-5318423660

   Closing this in favor of fixing forward on SQLAlchemy 2.0. We are keeping the SQLAlchemy 2 upgrade, updating and qualifying the downstream driver fleet, adding a machine-readable driver inventory/drift gate, and introducing real runtime coverage for materially used connectors rather than retaining the rollback path. The first Shell implementation is preset-io/superset-shell#4845, with follow-up work planned for Athena qualification, DataFusion restoration, customer-usage prioritization, and permanent connector canaries.


-- 
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: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(deps): add temporary SQLAlchemy 1.4 compatibility lane [superset]

Posted by "codeant-ai-for-open-source[bot] (via GitHub)" <gi...@apache.org>.
codeant-ai-for-open-source[bot] commented on code in PR #43263:
URL: https://github.com/apache/superset/pull/43263#discussion_r3797518356


##########
tests/unit_tests/databases/filters_test.py:
##########
@@ -117,7 +117,9 @@ def test_database_filter(mocker: MockerFixture) -> None:
         engine,
         compile_kwargs={"literal_binds": True},
     )
-    assert (
-        str(compiled_query)
-        == "SELECT dbs.id, dbs.verbose_name, dbs.database_name, dbs.sqlalchemy_uri, dbs.password, dbs.cache_timeout, dbs.select_as_create_table_as, dbs.expose_in_sqllab, dbs.configuration_method, dbs.allow_run_async, dbs.allow_file_upload, dbs.allow_ctas, dbs.allow_cvas, dbs.allow_dml, dbs.force_ctas_schema, dbs.extra, dbs.encrypted_extra, dbs.impersonate_user, dbs.server_cert, dbs.is_managed_externally, dbs.external_url, dbs.created_on, dbs.changed_on, dbs.created_by_fk, dbs.changed_by_fk, dbs.uuid, ssh_tunnels_1.id AS id_1, ssh_tunnels_1.database_id, ssh_tunnels_1.server_address, ssh_tunnels_1.server_port, ssh_tunnels_1.username, ssh_tunnels_1.password AS password_1, ssh_tunnels_1.private_key, ssh_tunnels_1.private_key_password, ssh_tunnels_1.server_host_key, ssh_tunnels_1.created_on AS created_on_1, ssh_tunnels_1.changed_on AS changed_on_1, ssh_tunnels_1.created_by_fk AS created_by_fk_1, ssh_tunnels_1.changed_by_fk AS changed_by_fk_1, ssh_tunnels_1.extra_json, ssh_tunnels_1.uuid 
 AS uuid_1 \nFROM dbs LEFT OUTER JOIN ssh_tunnels AS ssh_tunnels_1 ON dbs.id = ssh_tunnels_1.database_id \nWHERE ('[' || dbs.database_name || '].(id:' || CAST(dbs.id AS VARCHAR) || ')') IN ('[my_db].(id:42)', '[my_other_db].(id:43)') OR dbs.database_name IN ('my_db', 'my_other_db', 'third_db')"  # noqa: E501
-    )
+    sql = str(compiled_query)
+    # SQLAlchemy 1.4 and 2.x produce the same filter but differ in inherited
+    # column order and optional grouping parentheses when compiling it.
+    assert "FROM dbs LEFT OUTER JOIN ssh_tunnels" in sql
+    assert "'[my_db].(id:42)', '[my_other_db].(id:43)'" in sql
+    assert "dbs.database_name IN ('my_db', 'my_other_db', 'third_db')" in sql

Review Comment:
   **Suggestion:** The assertions only verify that each predicate appears somewhere in the SQL, not that the permission predicates are combined with the required `OR` grouping. A regression changing the authorization expression to `AND`, or otherwise altering its boolean grouping, would still pass all three assertions while returning an incorrect set of accessible databases. Assert the complete predicate structure or execute the query against representative rows. [incomplete implementation]
   
   <details>
   <summary><b>Severity Level:</b> Major ⚠️</summary>
   
   ```mdx
   - ⚠️ Database listing authorization regressions remain undetected.
   - ⚠️ Report APIs apply `DatabaseFilter` to database relations.
   - ⚠️ Saved-query database selectors use the same filter.
   ```
   </details>
   
   [![Fix in Cursor](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/fix-in-cursor-flat.svg)](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=e03038c4c73b4f858d79a73ace4373ec&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset) [![Fix in VSCode Claude](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/fix-in-vscode-claude-flat.svg)](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt_id=e03038c4c73b4f858d79a73ace4373ec&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
   <details>
   <summary><b>Prompt for AI Agent 🤖 </b></summary>
   
   ```mdx
   This is a comment left during a code review.
   
   **Path:** tests/unit_tests/databases/filters_test.py
   **Line:** 123:125
   **Comment:**
   	*Incomplete Implementation: The assertions only verify that each predicate appears somewhere in the SQL, not that the permission predicates are combined with the required `OR` grouping. A regression changing the authorization expression to `AND`, or otherwise altering its boolean grouping, would still pass all three assertions while returning an incorrect set of accessible databases. Assert the complete predicate structure or execute the query against representative rows.
   
   Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
   Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
   ```
   </details>
   <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F43263&comment_hash=81c40846aa1ae059d7cda817457c58edf1f52170dd1d3dff3db2b67c01099634&reaction=like'>👍</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F43263&comment_hash=81c40846aa1ae059d7cda817457c58edf1f52170dd1d3dff3db2b67c01099634&reaction=dislike'>👎</a>



##########
superset/utils/core.py:
##########
@@ -829,7 +830,8 @@ def ping_connection(connection: Connection, branch: bool) -> None:
                 # here also causes the whole connection pool to be invalidated
                 # so that all stale connections are discarded.
                 connection.scalar(select(1))
-                connection.rollback()  # pylint: disable=consider-using-transaction
+                if transaction := connection.get_transaction():
+                    transaction.rollback()

Review Comment:
   **Suggestion:** In the invalidated-connection path, the failed `SELECT 1` has already started a transaction under SQLAlchemy 2.x. Retrying `connection.scalar(select(1))` before rolling back leaves the invalidated connection in an active transaction, so SQLAlchemy can raise `PendingRollbackError` instead of reconnecting. Roll back the existing transaction before the retry, then roll back any transaction created by the retry. [state/lifecycle]
   
   <details>
   <summary><b>Severity Level:</b> Major ⚠️</summary>
   
   ```mdx
   - ❌ Stale pooled connections can fail health-check recovery.
   - ⚠️ Requests requiring `db.engine` may receive connection errors.
   - ⚠️ Transient database disconnects may become application-level failures.
   ```
   </details>
   
   [![Fix in Cursor](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/fix-in-cursor-flat.svg)](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=f6d867b0d796487c8340360db7f9f2fd&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset) [![Fix in VSCode Claude](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/fix-in-vscode-claude-flat.svg)](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt_id=f6d867b0d796487c8340360db7f9f2fd&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
   <details>
   <summary><b>Prompt for AI Agent 🤖 </b></summary>
   
   ```mdx
   This is a comment left during a code review.
   
   **Path:** superset/utils/core.py
   **Line:** 833:834
   **Comment:**
   	*State Lifecycle: In the invalidated-connection path, the failed `SELECT 1` has already started a transaction under SQLAlchemy 2.x. Retrying `connection.scalar(select(1))` before rolling back leaves the invalidated connection in an active transaction, so SQLAlchemy can raise `PendingRollbackError` instead of reconnecting. Roll back the existing transaction before the retry, then roll back any transaction created by the retry.
   
   Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
   Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
   ```
   </details>
   <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F43263&comment_hash=13b037ea3f5318f668e2b2c27f83254518b4ef550d857c9d2a5c5a746cc6f025&reaction=like'>👍</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F43263&comment_hash=13b037ea3f5318f668e2b2c27f83254518b4ef550d857c9d2a5c5a746cc6f025&reaction=dislike'>👎</a>



-- 
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: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(deps): add temporary SQLAlchemy 1.4 compatibility lane [superset]

Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #43263:
URL: https://github.com/apache/superset/pull/43263#issuecomment-5318172652

   <div>
   <h3>Code Review Agent Run #edce83</h3>
   
   <div>
   <details>
   <summary>
   <b>Actionable Suggestions -  0</b>
   </summary>
   
   </details>
   </div>
   
   
   
   
   
   
   
   
   
   
   
   <div>
   <details>
   <summary>
   <b>Review Details</b>
   </summary>
   
   <ul>
   <li>
   <div id="file_reviewed">
   Files reviewed - <b>6</b> · Commit Range: <code>6c79b15..6c79b15</code>
   <ul>
   <li>pyproject.toml</li><li>requirements/sqlalchemy14.txt</li><li>superset-core/pyproject.toml</li><li>superset/utils/core.py</li><li>tests/unit_tests/databases/filters_test.py</li><li>tests/unit_tests/utils/test_core.py</li>
   </ul>
   </div>
   </li>
   
   <li>
   <div id="file_skipped">
   Files skipped - <b>2</b>
   <ul>
         <li>.github/workflows/superset-python-unittest.yml - <i>Reason:  Filter setting</i>  </li><li>requirements/README.md - <i>Reason:  Filter setting</i>  </li>
   </ul>
   </div>
   </li>
   
   
   <li>
   <div id="tools">
   Tools
   <ul>
         <li><b>MyPy</b> (Static Code Analysis) - ✔︎ Successful</li><li><b>Astral Ruff</b> (Static Code Analysis) - ✔︎ Successful</li><li><b>Whispers</b> (Secret Scanner) - ✔︎ Successful</li><li><b>Detect-secrets</b> (Secret Scanner) - ✔︎ Successful</li>
   </ul>
   </div>
   </li>
   
   </ul>
   </details>
   </div>
   
   <hr>
   
   
   <details>
   <summary>
   <b>Bito Usage Guide</b>
   </summary>
         
   **Commands**
         
   Type the following command in the pull request comment and save the comment.
         
   - `/review` - Manually triggers a full AI review.
   
   - `/pause` - Pauses automatic reviews on this pull request.
   - `/resume` - Resumes automatic reviews.
   - `/resolve` - Marks all Bito-posted review comments as resolved.
   - `/abort` - Cancels all in-progress reviews.
   
         
   Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
         
   **Configuration**
   
   This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
         
   **Documentation & Help**
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
   </details>
   
   
   
   
   <span><i>AI Code Review powered by</i> <sub><sub><a href="https://bito.ai/" target="_blank"><img src="https://bito.ai/wp-content/uploads/2023/10/Logo-Bito-Black-cropped.svg" alt="Bito Logo" width="50" height="20" /></a></sub></sub></span>
   
   
   </div>


-- 
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: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(deps): add temporary SQLAlchemy 1.4 compatibility lane [superset]

Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #43263:
URL: https://github.com/apache/superset/pull/43263#issuecomment-5318264362

   ## [Codecov](https://app.codecov.io/gh/apache/superset/pull/43263?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   :x: Patch coverage is `25.00000%` with `3 lines` in your changes missing coverage. Please review.
   :white_check_mark: Project coverage is 65.85%. Comparing base ([`1991e3f`](https://app.codecov.io/gh/apache/superset/commit/1991e3f0d2bdff6a67a2d18172874a46258cea2f?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`6c79b15`](https://app.codecov.io/gh/apache/superset/commit/6c79b158bc619624bf44149c798fd874d26de025?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   
   | [Files with missing lines](https://app.codecov.io/gh/apache/superset/pull/43263?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
   |---|---|---|
   | [superset/utils/core.py](https://app.codecov.io/gh/apache/superset/pull/43263?src=pr&el=tree&filepath=superset%2Futils%2Fcore.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VwZXJzZXQvdXRpbHMvY29yZS5weQ==) | 25.00% | [2 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/superset/pull/43263?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@            Coverage Diff             @@
   ##           master   #43263      +/-   ##
   ==========================================
   - Coverage   66.65%   65.85%   -0.80%     
   ==========================================
     Files        2874     2874              
     Lines      163781   163783       +2     
     Branches    37798    37800       +2     
   ==========================================
   - Hits       109165   107862    -1303     
   - Misses      52477    53785    +1308     
   + Partials     2139     2136       -3     
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/superset/pull/43263/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
   |---|---|---|
   | [hive](https://app.codecov.io/gh/apache/superset/pull/43263/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `38.13% <25.00%> (-0.01%)` | :arrow_down: |
   | [mysql](https://app.codecov.io/gh/apache/superset/pull/43263/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [postgres](https://app.codecov.io/gh/apache/superset/pull/43263/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [presto](https://app.codecov.io/gh/apache/superset/pull/43263/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `40.08% <25.00%> (-0.01%)` | :arrow_down: |
   | [python](https://app.codecov.io/gh/apache/superset/pull/43263/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `57.64% <25.00%> (-1.61%)` | :arrow_down: |
   | [sqlite](https://app.codecov.io/gh/apache/superset/pull/43263/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `57.50% <25.00%> (-0.01%)` | :arrow_down: |
   | [unit](https://app.codecov.io/gh/apache/superset/pull/43263/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.
   </details>
   
   [:umbrella: View full report in Codecov by Harness](https://app.codecov.io/gh/apache/superset/pull/43263?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).   
   :loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
   - :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>


-- 
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: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(deps): add temporary SQLAlchemy 1.4 compatibility lane [superset]

Posted by "aminghadersohi (via GitHub)" <gi...@apache.org>.
aminghadersohi closed pull request #43263: fix(deps): add temporary SQLAlchemy 1.4 compatibility lane
URL: https://github.com/apache/superset/pull/43263


-- 
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: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org