You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by as...@apache.org on 2026/10/20 14:30:10 UTC

(superset) branch alexandrusoare/fix/folder-access-exclusions updated (23873e1a202 -> dda553a5ab7)

This is an automated email from the ASF dual-hosted git repository.

alexandrusoare pushed a change to branch alexandrusoare/fix/folder-access-exclusions
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 23873e1a202 latest reviews
     add 99ecfe5801c chore(deps): bump sqlalchemy-utils from 0.42.1 to 0.43.0 (#45416)
     add f0cfaff7881 fix(sql): decode async SQLExecutor results from the results backend (#45348)
     add 8e6e91e4dc0 feat(semantic-layers): add the provider execution context contract (#45251)
     add 53f14e7b7b1 fix(semantic-layer): refuse a chart's own filter on a column the semantic view lacks (#45294)
     add 98d5fa50b4c fix(semantic-layer): validate views before creation (#45287)
     add d36febc96ec fix(versioning): don't record save-path defaults as user changes (#45352)
     add 5a1831000a9 fix: add dblink and pg_* state-mutating functions to SQL denylist (#45089)
     add 88e92663b8f fix(semantic-layers): restore mocking compatibility after implementation became a plain property (#45501)
     add 152e1e9de9a fix(dataset): convert timezone-aware values with the dataset timezone (#45344)
     add 25e94d00d37 fix(pivot-table): stop the grand-total corner from silently picking one metric (#44657)
     add d285a1abae8 fix(dashboards): prevent horizontal filter bar from vanishing on cross-filter (#45050) (#45051)
     add 15f55686ea9 fix(dashboard): respect DASHBOARD_AUTO_REFRESH_INTERVALS configuration in refresh dropdown (#45039)
     add 1e18d01d76d feat(mcp): add caller-scoped PNG chart previews (#44558)
     add 9c287d989a8 feat(build): migrate to Typescript 6 (#44726)
     add 7b23ddea9f6 chore(build): migrate from external `copy-webpack-plugin` to Webpack-native `output.copy` (#44965)
     add 0a17a75f9a8 chore(deps): bump the storybook group across 2 directories with 4 updates (#45513)
     add d5bccecf581 chore(deps): bump chromaui/action from 18.11.0 to 18.12.1 (#45512)
     new dda553a5ab7 Merge branch 'master' of https://github.com/apache/superset into alexandrusoare/fix/folder-access-exclusions

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/chromatic.yml                    |    2 +-
 UPDATING.md                                        |   82 +-
 .../extensions/contribution-types.md               |   26 +-
 docs/developer_docs/extensions/development.md      |   37 +
 .../extensions/semantic-execution-context.md       |  102 ++
 docs/developer_docs/semantic-layer-cache-clear.md  |   17 +-
 .../creating-your-first-dashboard.mdx              |    9 +-
 .../using-superset/semantic-layer-connections.mdx  |    6 +
 docs/package.json                                  |    4 +-
 docs/static/resources/openapi.json                 |    1 +
 docs/yarn.lock                                     |   26 +-
 pyproject.toml                                     |    2 +-
 requirements/base.txt                              |    2 +-
 requirements/development.in                        |    2 +-
 requirements/development.txt                       |    2 +-
 superset-core/pyproject.toml                       |    2 +-
 .../src/superset_core/semantic_layers/context.py   |   62 +
 .../src/superset_core/semantic_layers/layer.py     |   33 +-
 .../src/superset_core/semantic_layers/view.py      |    2 +-
 .../semantic_layers/test_execution_context.py      |   71 +
 .../templates/frontend/package.json.j2             |    1 -
 superset-frontend/.storybook/main.mjs              |   10 +-
 superset-frontend/package-lock.json                |  411 ++----
 superset-frontend/package.json                     |   11 +-
 .../packages/superset-core/package.json            |    2 +-
 .../packages/superset-core/tsconfig.json           |   18 +-
 .../src/operators/utils/extractExtraMetrics.ts     |    4 +-
 .../components/RadioButtonControl.tsx              |    9 +-
 .../src/utils/getTemporalColumns.ts                |    4 +-
 .../src/utils/metricColumnFilter.ts                |    4 +-
 .../superset-ui-chart-controls/tsconfig.json       |   18 +-
 .../DropdownContainer/DropdownContainer.test.tsx   |   28 +
 .../src/components/DropdownContainer/types.ts      |    4 +-
 .../src/components/SafeMarkdown/SafeMarkdown.tsx   |    2 +-
 .../packages/superset-ui-core/tsconfig.json        |   18 +-
 .../packages/superset-ui-switchboard/tsconfig.json |   18 +-
 .../plugin-chart-ag-grid-table/tsconfig.json       |   18 +-
 .../plugins/plugin-chart-calendar/tsconfig.json    |   18 +-
 .../plugin-chart-cartodiagram/tsconfig.json        |   18 +-
 .../plugin-chart-cartodiagram/types/external.d.ts  |    2 +
 .../plugins/plugin-chart-chord/tsconfig.json       |   18 +-
 .../plugins/plugin-chart-country-map/tsconfig.json |   18 +-
 .../test/Rose/buildQuery.test.ts                   |   12 +-
 .../plugins/plugin-chart-echarts/tsconfig.json     |   18 +-
 .../plugins/plugin-chart-handlebars/tsconfig.json  |   18 +-
 .../plugins/plugin-chart-horizon/tsconfig.json     |   18 +-
 .../plugin-chart-paired-t-test/tsconfig.json       |   18 +-
 .../tsconfig.json                                  |   18 +-
 .../plugins/plugin-chart-partition/tsconfig.json   |   18 +-
 .../src/PivotTableChart.tsx                        |    2 +
 .../src/plugin/buildQuery.ts                       |   27 +-
 .../src/plugin/controlPanel.tsx                    |   54 +-
 .../src/plugin/resultAggregation.ts                |  121 ++
 .../src/plugin/transformProps.ts                   |   35 +-
 .../src/react-pivottable/TableRenderers.tsx        |    9 +-
 .../src/react-pivottable/utilities.ts              |  739 +++++++++-
 .../plugins/plugin-chart-pivot-table/src/types.ts  |    1 +
 .../test/PivotTableChart.test.tsx                  |   22 +
 .../test/plugin/buildQuery.test.ts                 |   21 +
 .../test/plugin/transformProps.test.ts             |   80 ++
 .../test/react-pivottable/tableRenders.test.tsx    |   68 +-
 .../test/react-pivottable/utilities.test.ts        |  890 +++++++++++-
 .../plugins/plugin-chart-pivot-table/tsconfig.json |   18 +-
 .../src/MapLibre.tsx                               |    2 +-
 .../plugin-chart-point-cluster-map/tsconfig.json   |   16 +-
 .../types/external.d.ts                            |    2 +
 .../plugins/plugin-chart-table/tsconfig.json       |   18 +-
 .../plugins/plugin-chart-word-cloud/tsconfig.json  |   18 +-
 .../plugins/plugin-chart-world-map/tsconfig.json   |   18 +-
 .../plugins/preset-chart-deckgl/tsconfig.json      |   16 +-
 .../preset-chart-deckgl/types/external.d.ts        |    2 +
 .../components/AnchorLink/AnchorLink.test.tsx      |    2 +-
 .../PropertiesModal/sections/AccessSection.tsx     |    2 +-
 .../RefreshFrequencySelect.test.tsx                |   99 +-
 .../RefreshFrequency/RefreshFrequencySelect.tsx    |   43 +-
 .../components/gridComponents/Header/Header.tsx    |    2 +-
 .../DownloadMenuItems/DownloadMenuItems.test.tsx   |    4 +-
 .../FilterControls.overflow.test.tsx               |  269 ++++
 .../FilterBar/FilterControls/FilterControls.tsx    |    4 +-
 .../FilterBar/FilterControls/FilterValue.test.tsx  |   20 +
 .../FilterBar/FilterControls/FilterValue.tsx       |   12 +-
 .../src/explore/actions/saveModalActions.test.ts   |  212 +++
 .../src/explore/actions/saveModalActions.ts        |   14 +
 .../ExploreChartPanel/ExploreChartPanel.test.tsx   |   28 +-
 .../explore/components/ExploreChartPanel/index.tsx |    6 +
 .../components/LegacyAggregationAlert.test.tsx     |  302 ++++
 .../explore/components/LegacyAggregationAlert.tsx  |  115 ++
 .../ConditionalFormattingControl.test.tsx          |  112 +-
 .../ConditionalFormattingControl.tsx               |   12 +-
 .../DatasourceControl/DatasourceControl.test.tsx   |    2 +-
 .../controls/FixedOrMetricControl/index.tsx        |    2 +-
 superset-frontend/src/explore/constants.ts         |   10 +
 .../exploreUtils/legacyAggregationTag.test.ts      |  137 ++
 .../explore/exploreUtils/legacyAggregationTag.ts   |   93 ++
 superset-frontend/src/features/tags/tags.ts        |    2 +-
 superset-frontend/tsconfig.json                    |   18 +-
 superset-frontend/webpack.config.js                |   36 +-
 superset/app.py                                    |   28 +-
 superset/charts/client_processing.py               |  134 +-
 superset/charts/data/api.py                        |   15 +-
 superset/charts/data/dashboard_filter_context.py   |   22 +
 superset/commands/semantic_layer/create.py         |   44 +-
 superset/commands/semantic_layer/utils.py          |    2 +-
 superset/common/form_data_query_context.py         |   30 +
 superset/common/query_context_factory.py           |   20 +-
 superset/common/query_context_processor.py         |    9 +
 superset/config.py                                 |   16 +
 superset/datasource/api.py                         |   47 +-
 superset/errors.py                                 |    1 +
 superset/key_value/types.py                        |    3 +
 superset/mcp_service/README.md                     |   41 +
 superset/mcp_service/chart/chart_helpers.py        |    7 +
 superset/mcp_service/chart/schemas.py              |   42 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |  141 +-
 superset/mcp_service/constants.py                  |    1 +
 superset/mcp_service/mcp_config.py                 |    3 +
 superset/mcp_service/middleware.py                 |   27 +
 ...141b8ada7731_tag_pivot_tables_with_restored_.py |  334 +++++
 superset/result_set.py                             |    5 +
 superset/semantic_layers/api.py                    |    8 +-
 superset/semantic_layers/cache_host.py             |   19 +-
 superset/semantic_layers/execution.py              |  286 ++++
 superset/semantic_layers/mapper.py                 |   43 +-
 superset/semantic_layers/models.py                 |   63 +-
 superset/sql/execution/celery_task.py              |   79 +-
 superset/sql/execution/executor.py                 |  228 ++-
 superset/sql/execution/serialization.py            |  130 ++
 superset/sql/parse.py                              |   16 +
 superset/translations/messages.pot                 |   87 +-
 superset/utils/core.py                             |   11 +-
 superset/utils/date_parser.py                      |    7 +-
 superset/utils/webdriver.py                        |    4 +-
 superset/versioning/diff.py                        |   68 +-
 .../src/superset_e2e_semantic_stub/__init__.py     |   24 +-
 .../charts/commands/importers/v1/import_test.py    |   46 +
 tests/unit_tests/charts/test_client_processing.py  |  316 +++++
 .../commands/semantic_layer/create_test.py         |  148 +-
 .../commands/semantic_layer/update_test.py         |   12 +-
 tests/unit_tests/commands/sql_lab/test_estimate.py |   27 +
 .../common/test_query_context_factory.py           |   35 +
 .../common/test_query_context_processor.py         |    7 +-
 tests/unit_tests/dashboards/datasets_test.py       |   23 +-
 tests/unit_tests/datasource/test_compatible_api.py |   17 +-
 tests/unit_tests/initialization_test.py            |    9 +-
 .../mcp_service/chart/test_chart_helpers.py        |   25 +
 .../chart/test_native_chart_regressions.py         |   24 +
 .../mcp_service/chart/test_new_chart_types.py      |   26 +-
 .../mcp_service/chart/tool/test_get_chart_data.py  |    5 +-
 .../chart/tool/test_get_chart_preview.py           |  413 ++++++
 .../test_compatibility_selection_validation.py     |    9 +-
 .../semantic_layer/tool/test_list_metrics.py       |   21 +-
 tests/unit_tests/mcp_service/test_middleware.py    |    5 +-
 ...t_tag_pivot_tables_with_restored_aggregation.py |  461 ++++++
 tests/unit_tests/semantic_layers/api_test.py       |  123 +-
 .../unit_tests/semantic_layers/cache_host_test.py  |    6 +
 tests/unit_tests/semantic_layers/conftest.py       |  107 ++
 .../semantic_layers/e2e_stub_extension_test.py     |   29 +-
 .../semantic_layers/execution_context_test.py      | 1140 +++++++++++++++
 .../semantic_layers/grain_validation_test.py       |    6 +-
 .../semantic_layers/integer_precision_test.py      |   14 +-
 .../semantic_layers/metadata_contract_test.py      |   92 +-
 .../semantic_layers/metric_filter_test.py          |  136 +-
 tests/unit_tests/semantic_layers/models_test.py    |  212 ++-
 .../semantic_layers/query_errors_test.py           |  122 +-
 .../semantic_layers/simple_cache_clear_test.py     |   96 +-
 tests/unit_tests/sql/execution/conftest.py         |    5 +-
 .../unit_tests/sql/execution/test_async_results.py | 1498 ++++++++++++++++++++
 tests/unit_tests/sql/execution/test_celery_task.py |  129 +-
 tests/unit_tests/sql/parse_tests.py                |   15 +
 tests/unit_tests/utils/test_core.py                |   20 +
 .../versioning/test_diff_save_defaults.py          |  264 ++++
 171 files changed, 11673 insertions(+), 1016 deletions(-)
 create mode 100644 docs/developer_docs/extensions/semantic-execution-context.md
 create mode 100644 superset-core/src/superset_core/semantic_layers/context.py
 create mode 100644 superset-core/tests/semantic_layers/test_execution_context.py
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/plugin/resultAggregation.ts
 create mode 100644 superset-frontend/src/explore/components/LegacyAggregationAlert.test.tsx
 create mode 100644 superset-frontend/src/explore/components/LegacyAggregationAlert.tsx
 create mode 100644 superset-frontend/src/explore/exploreUtils/legacyAggregationTag.test.ts
 create mode 100644 superset-frontend/src/explore/exploreUtils/legacyAggregationTag.ts
 create mode 100644 superset/migrations/versions/2026-09-25_00-00_141b8ada7731_tag_pivot_tables_with_restored_.py
 create mode 100644 superset/semantic_layers/execution.py
 create mode 100644 superset/sql/execution/serialization.py
 create mode 100644 tests/unit_tests/migrations/test_tag_pivot_tables_with_restored_aggregation.py
 create mode 100644 tests/unit_tests/semantic_layers/execution_context_test.py
 create mode 100644 tests/unit_tests/sql/execution/test_async_results.py
 create mode 100644 tests/unit_tests/versioning/test_diff_save_defaults.py


(superset) 01/01: Merge branch 'master' of https://github.com/apache/superset into alexandrusoare/fix/folder-access-exclusions

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

alexandrusoare pushed a commit to branch alexandrusoare/fix/folder-access-exclusions
in repository https://gitbox.apache.org/repos/asf/superset.git

commit dda553a5ab74ac000781f8c1877e013d6e81c31d
Merge: 23873e1a202 d5bccecf581
Author: alexandrusoare <al...@gmail.com>
AuthorDate: Tue Oct 20 17:29:30 2026 +0300

    Merge branch 'master' of https://github.com/apache/superset into alexandrusoare/fix/folder-access-exclusions

 .github/workflows/chromatic.yml                    |    2 +-
 UPDATING.md                                        |   82 +-
 .../extensions/contribution-types.md               |   26 +-
 docs/developer_docs/extensions/development.md      |   37 +
 .../extensions/semantic-execution-context.md       |  102 ++
 docs/developer_docs/semantic-layer-cache-clear.md  |   17 +-
 .../creating-your-first-dashboard.mdx              |    9 +-
 .../using-superset/semantic-layer-connections.mdx  |    6 +
 docs/package.json                                  |    4 +-
 docs/static/resources/openapi.json                 |    1 +
 docs/yarn.lock                                     |   26 +-
 pyproject.toml                                     |    2 +-
 requirements/base.txt                              |    2 +-
 requirements/development.in                        |    2 +-
 requirements/development.txt                       |    2 +-
 superset-core/pyproject.toml                       |    2 +-
 .../src/superset_core/semantic_layers/context.py   |   62 +
 .../src/superset_core/semantic_layers/layer.py     |   33 +-
 .../src/superset_core/semantic_layers/view.py      |    2 +-
 .../semantic_layers/test_execution_context.py      |   71 +
 .../templates/frontend/package.json.j2             |    1 -
 superset-frontend/.storybook/main.mjs              |   10 +-
 superset-frontend/package-lock.json                |  411 ++----
 superset-frontend/package.json                     |   11 +-
 .../packages/superset-core/package.json            |    2 +-
 .../packages/superset-core/tsconfig.json           |   18 +-
 .../src/operators/utils/extractExtraMetrics.ts     |    4 +-
 .../components/RadioButtonControl.tsx              |    9 +-
 .../src/utils/getTemporalColumns.ts                |    4 +-
 .../src/utils/metricColumnFilter.ts                |    4 +-
 .../superset-ui-chart-controls/tsconfig.json       |   18 +-
 .../DropdownContainer/DropdownContainer.test.tsx   |   28 +
 .../src/components/DropdownContainer/types.ts      |    4 +-
 .../src/components/SafeMarkdown/SafeMarkdown.tsx   |    2 +-
 .../packages/superset-ui-core/tsconfig.json        |   18 +-
 .../packages/superset-ui-switchboard/tsconfig.json |   18 +-
 .../plugin-chart-ag-grid-table/tsconfig.json       |   18 +-
 .../plugins/plugin-chart-calendar/tsconfig.json    |   18 +-
 .../plugin-chart-cartodiagram/tsconfig.json        |   18 +-
 .../plugin-chart-cartodiagram/types/external.d.ts  |    2 +
 .../plugins/plugin-chart-chord/tsconfig.json       |   18 +-
 .../plugins/plugin-chart-country-map/tsconfig.json |   18 +-
 .../test/Rose/buildQuery.test.ts                   |   12 +-
 .../plugins/plugin-chart-echarts/tsconfig.json     |   18 +-
 .../plugins/plugin-chart-handlebars/tsconfig.json  |   18 +-
 .../plugins/plugin-chart-horizon/tsconfig.json     |   18 +-
 .../plugin-chart-paired-t-test/tsconfig.json       |   18 +-
 .../tsconfig.json                                  |   18 +-
 .../plugins/plugin-chart-partition/tsconfig.json   |   18 +-
 .../src/PivotTableChart.tsx                        |    2 +
 .../src/plugin/buildQuery.ts                       |   27 +-
 .../src/plugin/controlPanel.tsx                    |   54 +-
 .../src/plugin/resultAggregation.ts                |  121 ++
 .../src/plugin/transformProps.ts                   |   35 +-
 .../src/react-pivottable/TableRenderers.tsx        |    9 +-
 .../src/react-pivottable/utilities.ts              |  739 +++++++++-
 .../plugins/plugin-chart-pivot-table/src/types.ts  |    1 +
 .../test/PivotTableChart.test.tsx                  |   22 +
 .../test/plugin/buildQuery.test.ts                 |   21 +
 .../test/plugin/transformProps.test.ts             |   80 ++
 .../test/react-pivottable/tableRenders.test.tsx    |   68 +-
 .../test/react-pivottable/utilities.test.ts        |  890 +++++++++++-
 .../plugins/plugin-chart-pivot-table/tsconfig.json |   18 +-
 .../src/MapLibre.tsx                               |    2 +-
 .../plugin-chart-point-cluster-map/tsconfig.json   |   16 +-
 .../types/external.d.ts                            |    2 +
 .../plugins/plugin-chart-table/tsconfig.json       |   18 +-
 .../plugins/plugin-chart-word-cloud/tsconfig.json  |   18 +-
 .../plugins/plugin-chart-world-map/tsconfig.json   |   18 +-
 .../plugins/preset-chart-deckgl/tsconfig.json      |   16 +-
 .../preset-chart-deckgl/types/external.d.ts        |    2 +
 .../components/AnchorLink/AnchorLink.test.tsx      |    2 +-
 .../PropertiesModal/sections/AccessSection.tsx     |    2 +-
 .../RefreshFrequencySelect.test.tsx                |   99 +-
 .../RefreshFrequency/RefreshFrequencySelect.tsx    |   43 +-
 .../components/gridComponents/Header/Header.tsx    |    2 +-
 .../DownloadMenuItems/DownloadMenuItems.test.tsx   |    4 +-
 .../FilterControls.overflow.test.tsx               |  269 ++++
 .../FilterBar/FilterControls/FilterControls.tsx    |    4 +-
 .../FilterBar/FilterControls/FilterValue.test.tsx  |   20 +
 .../FilterBar/FilterControls/FilterValue.tsx       |   12 +-
 .../src/explore/actions/saveModalActions.test.ts   |  212 +++
 .../src/explore/actions/saveModalActions.ts        |   14 +
 .../ExploreChartPanel/ExploreChartPanel.test.tsx   |   28 +-
 .../explore/components/ExploreChartPanel/index.tsx |    6 +
 .../components/LegacyAggregationAlert.test.tsx     |  302 ++++
 .../explore/components/LegacyAggregationAlert.tsx  |  115 ++
 .../ConditionalFormattingControl.test.tsx          |  112 +-
 .../ConditionalFormattingControl.tsx               |   12 +-
 .../DatasourceControl/DatasourceControl.test.tsx   |    2 +-
 .../controls/FixedOrMetricControl/index.tsx        |    2 +-
 superset-frontend/src/explore/constants.ts         |   10 +
 .../exploreUtils/legacyAggregationTag.test.ts      |  137 ++
 .../explore/exploreUtils/legacyAggregationTag.ts   |   93 ++
 superset-frontend/src/features/tags/tags.ts        |    2 +-
 superset-frontend/tsconfig.json                    |   18 +-
 superset-frontend/webpack.config.js                |   36 +-
 superset/app.py                                    |   28 +-
 superset/charts/client_processing.py               |  134 +-
 superset/charts/data/api.py                        |   15 +-
 superset/charts/data/dashboard_filter_context.py   |   22 +
 superset/commands/semantic_layer/create.py         |   44 +-
 superset/commands/semantic_layer/utils.py          |    2 +-
 superset/common/form_data_query_context.py         |   30 +
 superset/common/query_context_factory.py           |   20 +-
 superset/common/query_context_processor.py         |    9 +
 superset/config.py                                 |   16 +
 superset/datasource/api.py                         |   47 +-
 superset/errors.py                                 |    1 +
 superset/key_value/types.py                        |    3 +
 superset/mcp_service/README.md                     |   41 +
 superset/mcp_service/chart/chart_helpers.py        |    7 +
 superset/mcp_service/chart/schemas.py              |   42 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |  141 +-
 superset/mcp_service/constants.py                  |    1 +
 superset/mcp_service/mcp_config.py                 |    3 +
 superset/mcp_service/middleware.py                 |   27 +
 ...141b8ada7731_tag_pivot_tables_with_restored_.py |  334 +++++
 superset/result_set.py                             |    5 +
 superset/semantic_layers/api.py                    |    8 +-
 superset/semantic_layers/cache_host.py             |   19 +-
 superset/semantic_layers/execution.py              |  286 ++++
 superset/semantic_layers/mapper.py                 |   43 +-
 superset/semantic_layers/models.py                 |   63 +-
 superset/sql/execution/celery_task.py              |   79 +-
 superset/sql/execution/executor.py                 |  228 ++-
 superset/sql/execution/serialization.py            |  130 ++
 superset/sql/parse.py                              |   16 +
 superset/translations/messages.pot                 |   87 +-
 superset/utils/core.py                             |   11 +-
 superset/utils/date_parser.py                      |    7 +-
 superset/utils/webdriver.py                        |    4 +-
 superset/versioning/diff.py                        |   68 +-
 .../src/superset_e2e_semantic_stub/__init__.py     |   24 +-
 .../charts/commands/importers/v1/import_test.py    |   46 +
 tests/unit_tests/charts/test_client_processing.py  |  316 +++++
 .../commands/semantic_layer/create_test.py         |  148 +-
 .../commands/semantic_layer/update_test.py         |   12 +-
 tests/unit_tests/commands/sql_lab/test_estimate.py |   27 +
 .../common/test_query_context_factory.py           |   35 +
 .../common/test_query_context_processor.py         |    7 +-
 tests/unit_tests/dashboards/datasets_test.py       |   23 +-
 tests/unit_tests/datasource/test_compatible_api.py |   17 +-
 tests/unit_tests/initialization_test.py            |    9 +-
 .../mcp_service/chart/test_chart_helpers.py        |   25 +
 .../chart/test_native_chart_regressions.py         |   24 +
 .../mcp_service/chart/test_new_chart_types.py      |   26 +-
 .../mcp_service/chart/tool/test_get_chart_data.py  |    5 +-
 .../chart/tool/test_get_chart_preview.py           |  413 ++++++
 .../test_compatibility_selection_validation.py     |    9 +-
 .../semantic_layer/tool/test_list_metrics.py       |   21 +-
 tests/unit_tests/mcp_service/test_middleware.py    |    5 +-
 ...t_tag_pivot_tables_with_restored_aggregation.py |  461 ++++++
 tests/unit_tests/semantic_layers/api_test.py       |  123 +-
 .../unit_tests/semantic_layers/cache_host_test.py  |    6 +
 tests/unit_tests/semantic_layers/conftest.py       |  107 ++
 .../semantic_layers/e2e_stub_extension_test.py     |   29 +-
 .../semantic_layers/execution_context_test.py      | 1140 +++++++++++++++
 .../semantic_layers/grain_validation_test.py       |    6 +-
 .../semantic_layers/integer_precision_test.py      |   14 +-
 .../semantic_layers/metadata_contract_test.py      |   92 +-
 .../semantic_layers/metric_filter_test.py          |  136 +-
 tests/unit_tests/semantic_layers/models_test.py    |  212 ++-
 .../semantic_layers/query_errors_test.py           |  122 +-
 .../semantic_layers/simple_cache_clear_test.py     |   96 +-
 tests/unit_tests/sql/execution/conftest.py         |    5 +-
 .../unit_tests/sql/execution/test_async_results.py | 1498 ++++++++++++++++++++
 tests/unit_tests/sql/execution/test_celery_task.py |  129 +-
 tests/unit_tests/sql/parse_tests.py                |   15 +
 tests/unit_tests/utils/test_core.py                |   20 +
 .../versioning/test_diff_save_defaults.py          |  264 ++++
 171 files changed, 11673 insertions(+), 1016 deletions(-)