You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by jl...@apache.org on 2026/08/20 19:53:09 UTC

(superset) branch fix-sqllab-virtual-dataset-schema-mismatch updated (d86607a8756 -> fe676c7d480)

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

sadpandajoe pushed a change to branch fix-sqllab-virtual-dataset-schema-mismatch
in repository https://gitbox.apache.org/repos/asf/superset.git


    from d86607a8756 test(sql): cover new schema/catalog quoting and SHOW helpers
     add 5ce52e531dc fix(clickhouse): add PT1S time grain (#43217)
     add 097c99b19cb fix: remove a labeler glob that matches no files (#43270)
     add fde0ba26d1b fix(mcp): validate virtual dataset metadata and surface errors (#43129)
     add 15699150960 feat(multi-value): array-typed column filters with two-tier operators (ClickHouse MVP) (#41279)
     add c07f3ebf2d4 chore(deps-dev): bump @swc/plugin-emotion from 14.15.0 to 14.19.0 in /superset-frontend (#43328)
     add 334e280489a chore(deps): bump dompurify from 3.4.12 to 3.4.13 in /superset-frontend (#43326)
     add 1339bcd9dae chore(deps): bump swagger-ui-react from 5.32.12 to 5.32.13 in /docs (#43325)
     add eafbff9f8d3 chore(deps-dev): bump globals from 17.9.0 to 17.10.0 in /docs (#43324)
     add 53a8a0e1403 chore(deps): bump the docusaurus-openapi group in /docs with 2 updates (#43323)
     add 01ce8358a6e chore(deps-dev): bump globals from 17.9.0 to 17.10.0 in /superset-websocket (#43321)
     add 8222db33405 fix(dataset): preserve legacy default dashboard URLs (#43190)
     add 6d77efad29c fix(chart): stop contextmenu propagation in BigNumberViz (#43267)
     add 8c500ccee1f fix(users): show password validation errors (#43191)
     add c10054f521e fix(plugin-chart-chord): declare react as a peerDependency (#43304)
     add b8fca2145d9 chore(deps): bump astral-sh/setup-uv from 9.0.0 to 10.0.0 (#43322)
     add faf7c34c0a9 fix(explore): legacy boolean filters and limit available operators based on calculated column type (#43341)
     add 5a96c3f538f chore(ci): disable Git commit info capture in Playwright E2E tests to avoid timeout (#43213)
     add c2d653b4b80 fix: set maxHeight of List components to height when in AutoSizer (#43056)
     add f9cedf84e20 fix: drop post-processing options the operation no longer accepts (#42927)
     add 5d4358a1493 chore(deps): bump google-auth-library from 11.0.1 to 11.0.2 in /superset-frontend (#43364)
     add 80bba12d0fc chore(deps-dev): bump globals from 17.10.0 to 17.11.0 in /docs (#43363)
     add b288db91f95 chore(deps): bump github/codeql-action/init from 4.37.6 to 4.37.7 (#43362)
     add 8b67fb4d308 chore(deps-dev): bump globals from 17.10.0 to 17.11.0 in /superset-websocket (#43360)
     add fdd3945dded chore(deps): bump github/codeql-action/analyze from 4.37.6 to 4.37.7 (#43361)
     add e7dccd44a7c fix(reports): prevent blank/partial report PDFs from virtualized charts (#43348)
     add 2ff79bd4950 fix(github): point the issue templates at labels that exist (#43357)
     add c0884c0f0cc fix(explore): keep x-axis label when overriding Time Column with time comparison (#42875)
     add 1ef12580a7a fix(chart): ignore chart actions for a chart no longer in state (#43228)
     add 1ca5e61f544 chore: Unset future flag in engines and sessions. (#43273)
     add 83c6ea4e03d fix(explore): show the empty state when Samples returns no result payload (#43115)
     add 148ffaff501 fix(plugin-chart-echarts): omit stacked value labels on zero-height segments (#42756)
     add b5fe00b407d test(frontend): shrink flaky/misplaced recently-archived e2e coverage to Jest unit tests (#43264)
     add fe676c7d480 Merge branch 'master' into fix-sqllab-virtual-dataset-schema-mismatch

No new revisions were added by this update.

Summary of changes:
 .github/ISSUE_TEMPLATE/bug-report.yml              |   2 +-
 .github/ISSUE_TEMPLATE/cosmetic.md                 |   2 +-
 .github/labeler.yml                                |   2 +-
 .github/workflows/bump-python-package.yml          |   2 +-
 .github/workflows/codeql-analysis.yml              |   4 +-
 docs/package.json                                  |   8 +-
 docs/yarn.lock                                     |  46 ++--
 scripts/benchmark_migration.py                     |   2 +-
 superset-frontend/package-lock.json                |  31 +--
 superset-frontend/package.json                     |   4 +-
 .../packages/superset-core/src/common/index.ts     |   1 +
 .../components/ColumnTypeLabel/ColumnTypeLabel.tsx |   5 +
 .../test/components/ColumnTypeLabel.test.tsx       |  17 ++
 superset-frontend/playwright.config.ts             |   4 +
 .../tests/recently-archived/delete-modal.spec.ts   |  58 -----
 .../recently-archived/recently-archived.spec.ts    |  57 +----
 .../plugins/plugin-chart-chord/package.json        |   6 +-
 .../src/BigNumber/BigNumberViz.test.tsx            |  34 +++
 .../src/BigNumber/BigNumberViz.tsx                 |   1 +
 .../src/Gantt/transformProps.ts                    |   1 +
 .../src/Timeseries/transformers.ts                 |   8 +
 .../test/Timeseries/transformers.test.ts           |  70 +++++-
 .../src/components/Chart/chartReducer.ts           |   5 +
 .../src/components/Chart/chartReducers.test.ts     |  16 ++
 .../DatasourceEditor/DatasourceEditor.tsx          |   4 +-
 .../tests/DatasourceEditor.test.tsx                |  11 +
 .../src/dashboard/components/SliceAdder.tsx        |   2 +-
 .../DataTablesPane/components/SamplesPane.tsx      |  15 +-
 .../DataTablesPane/test/SamplesPane.test.tsx       |  46 ++++
 .../components/DatasourcePanel/DatasourceItems.tsx |   2 +-
 .../controls/ColumnConfigControl/constants.tsx     |   7 +
 .../FilterControl/AdhocFilter/AdhocFilter.test.ts  |  68 +++++
 .../controls/FilterControl/AdhocFilter/index.ts    |  19 ++
 .../FilterControl/AdhocFilterEditPopover/index.tsx |  18 +-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 138 +++++++++++
 .../index.tsx                                      | 126 ++++++++--
 .../controls/FilterControl/utils/translateToSQL.ts |  11 +
 superset-frontend/src/explore/constants.ts         |  53 +++-
 .../exploreUtils/getSimpleSQLExpression.test.ts    |  11 +
 .../src/explore/exploreUtils/index.ts              |  13 +-
 .../src/features/users/UserListModal.tsx           |  41 +--
 superset-frontend/src/features/users/utils.test.ts |  99 ++++++++
 superset-frontend/src/features/users/utils.ts      |  41 ++-
 .../src/pages/ArchivedList/ArchivedList.test.tsx   |  65 +++++
 .../src/pages/ChartList/ChartList.test.tsx         |  34 +++
 .../DatasetList/DatasetList.listview.test.tsx      |  28 +++
 .../DatasetList/DatasetList.subdirectory.test.tsx  |  37 ++-
 superset-frontend/src/pages/DatasetList/index.tsx  |   9 +-
 superset-websocket/package-lock.json               |   8 +-
 superset-websocket/package.json                    |   2 +-
 superset/cli/test_db.py                            |   3 -
 superset/commands/streaming_export/base.py         |   2 +-
 superset/common/query_context_factory.py           |  21 +-
 superset/common/query_object.py                    |  83 ++++++-
 superset/connectors/sqla/models.py                 |   8 +-
 superset/datasource/api.py                         |   5 +
 superset/db_engine_specs/README.md                 |   8 +-
 superset/db_engine_specs/base.py                   | 112 ++++++++-
 superset/db_engine_specs/clickhouse.py             |  67 ++++-
 superset/db_engine_specs/gsheets.py                |   1 -
 superset/mcp_service/dataset/schemas.py            |  17 +-
 .../dataset/tool/create_virtual_dataset.py         |  22 +-
 superset/migrations/shared/catalogs.py             |   4 +-
 ..._08-54_c3a8f8611885_materializing_permission.py |   2 +-
 ...d8bc074f7aad_add_new_field_is_restricted_to_.py |   2 +-
 ...06-27_08-43_27ae655e4247_make_creator_owners.py |   2 +-
 ...-09-07_23-50_33d996bcc382_update_slice_model.py |   4 +-
 ...2_11-31_eca4694defa7_sqllab_setting_defaults.py |   2 +-
 ...4_12-31_db0c65b146bd_update_slice_model_json.py |   2 +-
 ...7c195a_rewriting_url_from_shortner_with_new_.py |   2 +-
 ...-08_08-19_67a6ac9b727b_update_spatial_params.py |   2 +-
 ...2-17_11-06_21e88bc06c02_annotation_migration.py |   4 +-
 .../2018-02-13_08-07_e866bd2d4976_smaller_grid.py  |   4 +-
 ...-04-03_08-19_130915240929_is_sqllab_viz_flow.py |   2 +-
 ...9_bf706ae5eb46_cal_heatmap_metric_to_metrics.py |   2 +-
 ...018-06-04_11-12_c5756bec8b47_time_grain_sqla.py |   4 +-
 ...6-07_09-52_afb7730f6a9c_remove_empty_filters.py |   2 +-
 ...13_10-20_4451805bbaa1_remove_double_percents.py |   4 +-
 .../2018-06-13_14-54_bddc498dd179_adhoc_filters.py |   4 +-
 ...4_14-31_80a67c5192fa_single_pie_chart_metric.py |   4 +-
 ...1c4c6_migrate_num_period_compare_and_period_.py |   4 +-
 .../2018-07-19_23-41_c617da68de7d_form_nullable.py |   2 +-
 ...07-20_15-31_7f2635b51f5d_update_base_columns.py |   2 +-
 ...07-20_15-57_e9df189e5c7e_update_base_metrics.py |   2 +-
 ..._bebcf3fed1fe_convert_dashboard_v1_positions.py |   2 +-
 .../versions/2018-08-01_11-47_7fcdcde0761c_.py     |   2 +-
 ...08545_migrate_time_range_for_default_filters.py |   2 +-
 ...2018-12-11_22-03_fb13d49b72f9_better_filters.py |   4 +-
 ...e1b21cd94a4_change_owner_to_m2m_relation_on_.py |   2 +-
 .../2019-03-21_10-22_d94d33dbe938_form_strip.py    |   2 +-
 ...a3f04bc82_add_parent_ids_in_dashboard_layout.py |   4 +-
 .../2019-06-28_13-17_ab8c66efdd01_resample.py      |   4 +-
 ...ng_unique_constraint_on_dashboard_slices_tbl.py |   2 +-
 ...5afa9079866a_serialize_schema_permissions_py.py |   2 +-
 ...e_form_strip_leading_and_trailing_whitespace.py |   2 +-
 .../2019-10-10_13-52_1495eb914ad3_time_range.py    |   4 +-
 ...127d0d1d_reconvert_legacy_filters_into_adhoc.py |   2 +-
 ..._14-13_3325d4caccc8_dashboard_scoped_filters.py |   2 +-
 ...10-42_f9a30386bd74_cleanup_time_grainularity.py |   2 +-
 ...29_09-24_620241d1153f_update_time_grain_sqla.py |   2 +-
 ...978245563a02_migrate_iframe_to_dash_markdown.py |   2 +-
 ...654_fix_data_access_permissions_for_virtual_.py |   2 +-
 ...b56500de1855_add_uuid_column_to_import_mixin.py |   4 +-
 ...208f_collapse_alerting_models_into_a_single_.py |   4 +-
 ...6e99fb176a0_add_import_mixing_to_saved_query.py |   4 +-
 ...e38177dbf641_security_converge_saved_queries.py |   4 +-
 ...15-25_40f16acf1ba7_security_converge_reports.py |   4 +-
 ...8ee129739cf9_security_converge_css_templates.py |   4 +-
 ..._14-13_ccb74baaa89b_security_converge_charts.py |   4 +-
 ...5-05_45731db65d9c_security_converge_datasets.py |   4 +-
 ...45_1f6dca87d1a2_security_converge_dashboards.py |   4 +-
 ...2_c25cb2c78727_security_converge_annotations.py |   4 +-
 ...-49_42b4c9e01447_security_converge_databases.py |   4 +-
 ...14_13-40_4b84f97828aa_security_converge_logs.py |   4 +-
 ...12-15_e37912a26567_security_converge_queries.py |   4 +-
 ...60bf0649a77_migrate_x_dateunit_in_time_range.py |   2 +-
 ...2fdb_add_granularity_to_charts_where_missing.py |   2 +-
 ...-10_12-32_41ce8799acc3_rename_pie_label_type.py |   4 +-
 ...1412ec1e5a7b_legacy_force_directed_to_echart.py |   4 +-
 ...8_09-13_c501b7c653a3_add_missing_uuid_column.py |   2 +-
 ...989bbe479899_rename_filter_configuration_in_.py |   4 +-
 ...ea61c5e7_remove_dataset_health_check_message.py |   2 +-
 ...88938_country_map_use_lowercase_country_name.py |   4 +-
 ...3a3a8ff221_migrate_filter_sets_to_new_format.py |   4 +-
 ...ed7ec95_migrate_native_filters_to_new_schema.py |   4 +-
 ...3605f370a_fix_schemas_allowed_for_csv_upload.py |   2 +-
 ...15da_migrate_pivot_table_v2_heatmaps_to_new_.py |   2 +-
 ..._17-16_f6196627326f_update_chart_permissions.py |   4 +-
 ...13dd52_change_fetch_values_predicate_to_text.py |   2 +-
 ...4fbb_add_type_to_native_filter_configuration.py |   4 +-
 ...453f4e2e_migrate_timeseries_limit_metric_to_.py |   2 +-
 ...12_11-15_32646df09c64_update_time_grain_sqla.py |   2 +-
 ...e5f1dacd_rename_to_schemas_allowed_for_file_.py |   4 +-
 ...aa3ff_add_force_screenshot_to_alerts_reports.py |   2 +-
 ...5b9441_rename_big_viz_total_form_data_fields.py |   4 +-
 ...d1d2_move_pivot_table_v2_legacy_order_by_to_.py |   4 +-
 ...d8e252_fix_query_and_saved_query_null_schema.py |   2 +-
 ...b0ca7944_change_adhoc_filter_b_from_none_to_.py |   4 +-
 ...14-38_a9422eeaae74_new_dataset_models_take_2.py |   2 +-
 ...d0249074e4_deprecate_time_range_endpoints_v2.py |   2 +-
 ...07e4fdbaba_rm_time_range_endpoints_from_qc_3.py |   2 +-
 ...-39_cbe71abde154_fix_report_schedule_and_log.py |   2 +-
 ...8_16-07_e786798587de_delete_none_permissions.py |   2 +-
 ..._16-17_f3afaf1f11f0_add_unique_name_desc_rls.py |   2 +-
 ...59_7fb8bca906d2_permalink_rename_filterstate.py |   4 +-
 ...5-48_409c7b420ab0_add_created_by_fk_as_owner.py |   2 +-
 ..._13-00_c747c78868b6_migrating_legacy_treemap.py |   4 +-
 ...-07_14-00_06e1e70058c7_migrating_legacy_area.py |   4 +-
 ...665d_fix_table_chart_conditional_formatting_.py |   2 +-
 ...1_4ce1d9b25135_remove_filter_bar_orientation.py |   2 +-
 ...4-46_c0a3ea245b61_remove_show_native_filters.py |   2 +-
 ...ac08bb5b83_invert_horizontal_bar_chart_order.py |   4 +-
 ...7_13-24_b5ea9d343307_bar_chart_stack_options.py |   4 +-
 ...03-27_12-30_7e67aecbf3f1_chart_ds_constraint.py |   2 +-
 ...2a5681ddfd_convert_key_value_entries_to_json.py |   4 +-
 ...-41_4ea966691069_cross_filter_global_scoping.py |   4 +-
 ...02_9ba2ce3086e5_migrate_pivot_table_v1_to_v2.py |   4 +-
 ...-08_10-22_4c5da39be729_migrate_treemap_chart.py |   4 +-
 ...e58e1e58e5c_migrate_dual_line_to_mixed_chart.py |   4 +-
 ...delete_obsolete_druid_nosql_slice_parameters.py |   2 +-
 ...6f8b1280_cleanup_erroneous_parent_filter_ids.py |   2 +-
 ...9_17-54_ee179a490af9_deckgl_path_width_units.py |   2 +-
 ...23_0769ef90fddd_fix_schema_perm_for_datasets.py |   2 +-
 ...086c2676_add_normalize_columns_to_sqla_model.py |   2 +-
 ...317970b4400c_added_time_secondary_column_to_.py |   2 +-
 ...ff00fe8_add_percent_calculation_type_funnel_.py |   4 +-
 ...18_14-41_a32e0c4d8646_migrate_sunburst_chart.py |   4 +-
 ...d09c9_migrate_filter_boxes_to_native_filters.py |   2 +-
 ...d83218_migrate_can_view_and_drill_permission.py |   4 +-
 ...47_be1b217cd8cd_big_number_kpi_single_metric.py |   4 +-
 ...8_15-43_5ad7321c2169_mig_new_csv_upload_perm.py |   4 +-
 ...14-04_d60591c5515f_mig_new_excel_upload_perm.py |   4 +-
 ...36_4a33124c18ad_mig_new_columnar_upload_perm.py |   4 +-
 ...9123a_update_charts_with_old_time_comparison.py |   4 +-
 ...09-34_d482d51c15ca_remove_legacy_plugins_5_0.py |   4 +-
 ...-34_74ad1125881c_converge_upload_permissions.py |   4 +-
 ...fdba9f_merge_x_axis_sort_series_with_x_axis_.py |   4 +-
 ...2_convert_metric_currencies_from_str_to_json.py |   2 +-
 ...8d8526_fix_form_data_string_in_query_context.py |   2 +-
 ...00-00_ce6bd21901ab_migrate_deckgl_and_mapbox.py |   4 +-
 ...a1b2c3d4e5f6_add_granular_export_permissions.py |   4 +-
 ...-00_b4a3f2e1d0c9_fix_security_view_menu_case.py |   2 +-
 ...23_a7d3f1b9c2e4_cleanup_stale_can_import_pvm.py |   4 +-
 ...rip_metricsqlexpressions_from_ag_grid_params.py |   2 +-
 ...941d5352_restore_pivot_table_percent_display.py |   2 +-
 ...0-00_c4a1b8e2d739_databend_secure_to_sslmode.py |   2 +-
 superset/models/core.py                            |   2 -
 superset/models/helpers.py                         | 210 +++++++++++++++-
 superset/tags/models.py                            |   2 +-
 superset/utils/core.py                             |  22 +-
 superset/utils/pandas_postprocessing/utils.py      |   6 +-
 superset/utils/screenshot_utils.py                 |  68 ++++-
 superset/utils/webdriver.py                        |  48 +++-
 tests/integration_tests/dao/conftest.py            |   3 +-
 tests/integration_tests/datasource/api_tests.py    |  15 ++
 tests/integration_tests/fixtures/datasource.py     |   4 +-
 .../composite_pk_association_tables__tests.py      |   2 +-
 .../migrations/composite_pk_round_trip__tests.py   |   4 +-
 tests/integration_tests/model_tests.py             |   8 +-
 tests/integration_tests/sqla_models_tests.py       | 149 +++++++++++
 tests/unit_tests/charts/test_filters.py            |   2 +-
 .../common/test_query_context_factory.py           |   6 +-
 .../common/test_time_column_offset_repro.py        | 204 +++++++++++++++
 tests/unit_tests/conftest.py                       |   4 +-
 tests/unit_tests/connectors/sqla/models_test.py    |  10 +-
 .../unit_tests/databases/error_provenance_test.py  |   2 +-
 tests/unit_tests/databases/filters_test.py         |   6 +-
 tests/unit_tests/db_engine_specs/test_base.py      |  18 ++
 .../unit_tests/db_engine_specs/test_clickhouse.py  | 151 +++++++++++-
 tests/unit_tests/db_engine_specs/test_gsheets.py   |   2 -
 tests/unit_tests/db_engine_specs/test_sqlite.py    |   4 +-
 .../distributed_lock/distributed_lock_tests.py     |   2 +-
 tests/unit_tests/extensions/test_sqlalchemy.py     |  12 +-
 .../mcp_service/dataset/tool/test_dataset_tools.py |  64 ++++-
 .../composite_pk_association_tables_test.py        |   2 +-
 .../test_add_deleted_at_to_dashboards.py           |   2 +-
 .../migrations/test_add_deleted_at_to_slices.py    |   2 +-
 .../migrations/test_add_deleted_at_to_tables.py    |   2 +-
 .../migrations/test_databend_secure_to_sslmode.py  |  16 +-
 .../test_enforce_oauth2_token_uniqueness.py        |   2 +-
 .../test_restore_pivot_table_percent_display.py    |   8 +-
 ...rip_metricsqlexpressions_from_ag_grid_params.py |   8 +-
 tests/unit_tests/models/core_test.py               |  16 +-
 tests/unit_tests/models/helpers_test.py            |   3 -
 .../models/owner_association_tables_test.py        |   2 +-
 tests/unit_tests/models/test_multivalue_filter.py  | 274 +++++++++++++++++++++
 tests/unit_tests/models/test_multivalue_length.py  | 130 ++++++++++
 .../unit_tests/pandas_postprocessing/test_utils.py |  24 +-
 tests/unit_tests/queries/query_object_test.py      | 141 +++++++++++
 .../security/exclude_users_filter_test.py          |  10 +-
 tests/unit_tests/utils/filters_test.py             |  10 +-
 .../utils/pandas_sqlalchemy_compat_test.py         |   2 +-
 tests/unit_tests/utils/webdriver_test.py           | 182 ++++++++++++++
 tests/unit_tests/versioning/test_listener.py       |   4 +-
 tests/unit_tests/views/test_soft_delete_filter.py  |   2 +-
 235 files changed, 3318 insertions(+), 569 deletions(-)
 delete mode 100644 superset-frontend/playwright/tests/recently-archived/delete-modal.spec.ts
 create mode 100644 superset-frontend/src/features/users/utils.test.ts
 create mode 100755 tests/unit_tests/common/test_time_column_offset_repro.py
 create mode 100644 tests/unit_tests/models/test_multivalue_filter.py
 create mode 100644 tests/unit_tests/models/test_multivalue_length.py