You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by jo...@apache.org on 2022/08/05 17:06:12 UTC

[superset] branch john-bodley--trino-presto updated (10ece47c0f -> b5f4b52341)

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

johnbodley pushed a change to branch john-bodley--trino-presto
in repository https://gitbox.apache.org/repos/asf/superset.git


 discard 10ece47c0f Update presto_tests.py
    omit b0d00b0e4d Update presto.py
    omit c7f04ee390 Update presto.py
    omit 7dc5950fab fix: Ensure Presto database engine spec correctly handles Trino
     add bbaa4cc65d use existing row when id is found (#20661)
     add 883241070f fix: make max-requests and max-requests-jitter adjustable (#20733)
     add 776d211dae docs: add Platzi.com to users list (#20705)
     add 5990ea639e fix: getting default value in run-server.sh (#20736)
     add 510c1c4817 fix: set reference to columns properly for sqllab -> explore (#20747)
     add 92f3621c75 fix: Error when saving datasource from Explore (#20749)
     add 1101922178 fix change dataset (#20751)
     add 90600d1883 Fixing broken node build (#20727)
     add e60083b45b chore: upgrade SQLAlchemy to 1.4 (#19890)
     add 115ab700df fix(sql lab): MultiSelector component render twice (#20706)
     add e2d3ea831a fix(db): use paginated_update for area chart migration (#20761)
     add 8c0ac9017f fix: Presto _show_columns return type (#20757)
     add e1fd90697c fix(csv): Do not coerce persisted data integer columns to float (#20760)
     add 84d4302628 fix(explore): Fix chart standalone URL for report/thumbnail generation (#20673)
     add 1d9d505a6e fix: datasourcedao datasource not found error (#20725)
     add a64cdec8c2 fix(db): set slices.query_context to MEDIUMTEXT for mysql (#20779)
     add bb5b8e4c4f chore: add coverage command in package.json (#20769)
     add 5ed85f59a1 Fix missing metadata. (#20684)
     add 9c7bcfcead fix: core coverage and add a coverage step in workflow (#20784)
     add 81bd4968d0 fix: set allow `filter_select` for Query objects in Explore (#20754)
     add 2a4c7cfb2a chore: add user agent to Databricks requests (#20660)
     add d925b0c883 fix(heatmap): add detail descriptions for heatmap 'normalize across' (#20566)
     add d90b973235 fix(plugin-chart-echarts): layout broken when resizing (#20783)
     add 2c5201fa4b fix: Databricks views showing up as tables (#20674)
     add 1debacaaca feat(dashboard): Make FilterBar width resizable (#20778)
     add 5a04a28518 refactor: Blossom metric fields for dataset API column selection (#20732)
     add 84b852c457 fix: properly set `owners` to Sqlatable.owners_data inside payload (#20794)
     add 3311128c5e fix: Reverts #20749 and #20645 (#20796)
     add 922b4b8d1d fix: unexpected commit causes pytest failure (#20780)
     add af1bddffad fix(explore): Adhoc columns don't display correctly (#20802)
     add 34278c2d56 fix: Redirects old Explore URLs to the new one (#20812)
     add 279ab954b1 fix: chart empty state & result panel when multiple queries are executed display incorrectly (#20816)
     add fe9eb58ede chore: bumps the handlebars plugin package version to match the family. (#20813)
     add 51869f32ac Temporal X Axis values are not properly displayed if the time column has a custom label defined (#20819)
     add 39545352d2 chore: update Pillow to 9.1.1 (#20775)
     add f011abae2b feat: the samples endpoint supports filters and pagination (#20683)
     add 6e0ddcf848 fix: [explore][mixed time series chart] when user change size of view query window, query B part will disappear (#20750)
     add 7495cdbfe0 feat: Create Chart onClick Functionality (#20809)
     add 2c010974e8 fix: Timeseries visualization with Chart Source = Query (#20795)
     add 2263a76f4d remove eleement reference (#20830)
     add 4ffa3c22d1 feat: Add Türkiye Map to Country Map (#20801)
     add 3fb5c79d77 fix: invalid dataset schema (#20826)
     add 557cf4b739 fix(dashboard): add toast if JSON metadata is invalid (#20823)
     add 9bf7ed58cd fix(plugin-chart-echarts): bar chart overflow (#20805)
     add 644148b37d chore: add SAMPLES_ROW_LIMIT in frontend conf (#20841)
     add 0945d4a2f4 feat: Pass dashboard context to explore through local storage (#20743)
     add 7a1aa79c52 fix: Ensure consistent rollback logic (#20811)
     add 8bfc9b76a6 fix: Use cache_manager.cache rather than cache_manager.data_cache for caching table metadata (#20726)
     add e3c6380258 chore: Change Button background color from primary.dark1 to primary.base (#20846)
     add c4564a91dc chore: add databricks logo (#20849)
     add 672266ca58 fix: add complex type to pydruid (#20834)
     add 3f943ffadb fix: adding extraConfig to worker deployment #20828 (#20829)
     add 3de641c3ae change buttons to be only save and overwrite (#20851)
     add 6b0c3032b2 chore: Update color scheme when deleted or changed (#20589)
     add 5d107b86ab fix: explore warnings cleanup (#20864)
     add 5c2c2e8040 feat(explore): UX changes in fast viz switcher (#20848)
     add 55a89dfac9 feat: a simple LRUCache in frontend (#20842)
     add 46deb79f50 fix: Fix chart title truncating when Chrome is zoomed out (#20847)
     add ce1974176f docs: fix alt image issue (#20856)
     add 76f573a4ea chore: Ignore Applitools by default when running Cypress tests (#20789)
     add cb9ae38361 fix: switch form_data between different datasource (#20867)
     add a69f016bca chore: Feature flag for embedding charts (#20804)
     add e1094e2198 fix: Add migration to add created_by_fk as explicit owner for charts and datasets (#20617)
     add 6e6d4e3169 test: suppress unnecessary fab and sqla logs (#20870)
     add 2f3e11db66 feat: blankstate metrics columns (#20755)
     add 1b577d15c1 chore: updated resources with newer blogs and events (#20858)
     add 4d192e6e4d feat(report): capture dashboard reports in specific states (#20552)
     add d327437462 refactor: Improve performance regression introduced in #20473 (#20810)
     add cd578d2865 add having_druid back into the schema (#20879)
     add 35184b2994 fix: create property for schema_perm for `Query` (#20871)
     add 77db0651d8 feat(sql lab): display presto and trino tracking url (#20799)
     add 99085d583d fix(viz): Header scrolling for Time Table in dashboard (#20874)
     add 234c44626d TableChart: (#20833)
     add 07ce33d142 Reports: (#20753)
     add c77ea1bb6a chore(deps): bump terser from 5.9.0 to 5.14.2 in /docs (#20786)
     add ab415fddd9 chore: adding Bazaar Technologies to Superset Users (#20669)
     add 8b354b4b69 fix: Published Dashboard without charts don't show up for non admin users (#20638)
     add 383313b105 fix(sql lab): Syntax errors should return with 422 status (#20491)
     add 718bc3062e fix: invalid metric should raise an exception (#20882)
     add fe91974163 chore: Remove unecessary code from async and sync select components (#20690)
     add d50784dd80 feat(dashboard): Add thumbnails to dashboard edit draggable chart list (#20528)
     add 3f124d9d67 fix(plugin-chart-pivot-table): Invalid Formats Date Fields (#20909)
     add 50d2e5a15d fix: Address performance regression introduced in #11785 (#20893)
     add 8d0d778d1a chore(mypy): enable warn_unused_ignores (#20884)
     add 90460f1333 Unskip Cypress test. (#20915)
     add e7acb1a79d chore(explore): update Explore icons and icon colors (#20612)
     add e739ff5076 feat: allow more HTML tags in report description (#20908)
     add 5ae0e83b8a fix(sqllab): hide tracking url when fetching (#20905)
     add de84186200 chore(deps): bump tox from 3.24.1 to 3.25.1 in /requirements (#20822)
     add adf1f5cccf chore(deps): bump terser from 4.6.3 to 4.8.1 in /superset-frontend (#20787)
     add 06d05394c2 chore: Add Applitools logo to the docs homepage (#20917)
     add 4d29d16b64 fix: make a new entrypoint for deprecated postgres dialect (#20895)
     add 0d8889dc9c fix: Save dataset + chart when Chart source is Query (#20880)
     add 1a8c28db3d Fixes issue where type query datasource had incorrect time controls when datasource type was 'query' (#20923)
     add 67e3dc7c7b hide modal after overwrite (#20924)
     add bc435e08d0 fix: overwrite update override columns on PUT /dataset (#20862)
     add 90e2d82a38 fix(dashboard): Incorrect scopes of cross filters (#20927)
     add 6ec164e6a9 feat: Use SPA navigation from datasets list to Explore (#20890)
     add 8e0f16fade feat(helm): support different replicaCount (#20883)
     add 3a11856ecb Update Makefile (#20922)
     add 8a04536f9d feat(SqlLab): Change Save Dataset Button to Split Save Query Button IV (#20852)
     add 460b213057 feat: Creating dataset/add route (#20869)
     add 34ad80c642 add cypress codeowners to e2e tests (#20921)
     add bfd2a3d79f fix: database permissions on update and delete (avoid orphaned perms) (#20081)
     add 9291ad5d4c fix: Change dataset name affect data access role set to this dataset (#20574)
     add dd353ca86a feat: Add resize drag handle to Dataset SQL fields (#20670)
     add 6ce027d2f8 fix(import): error with disable_data_preview field (#20932)
     add fe581a3640 fix: adjust timeseries grid right offset to match the rest (#20933)
     add e2206a7151 Annotations: (#20720)
     add 9362e27ce2 fix(chart): Time Series set showMaxLabel as null for time xAxis (#20627)
     add 7beda3bbdb chore: change Sort-by and Sort-Descending controls for Bar Chart v2 (#20868)
     add ac585821d8 fix(sqllab): tracking url and error alert padding (#20937)
     add c06d5eb70c fix(sqllab): Fix tab state (#20947)
     add 7e836e9b04 test: autouse app_context in unit tests (#20911)
     add fb5f8cacaf skip row if created_at_fk is null (#20939)
     add bce32af19b chore: unpin snowflake (#20948)
     add 96a63bcbfe fix: Use SPA Dataset link in Chart and Dashboard (#20941)
     add aa53c10312 Big Number Viz: (#20946)
     add 655646d35b feat(embedded-SDK): enable CSV download (#20416)
     add e4fc5564ce fix: Explore scrolled down when navigating from dashboard (#20962)
     add c33af83823 chore: always get dashboard_id on dashboard API get endpoint (#20894)
     add 7e501cd816 fix: BigQuery get_parameters_from_uri (#20966)
     add eb5369f2a6 fix: No back button in save dataset modal (#20964)
     add 6e5036d87f fix:  add timegrains to data payload (#20938)
     add fa416fa130 fix: remove extra line for link (#20959)
     add 755f654cc6 chore: make dependabot upgrade package.json + add more package.json files (#20920)
     add d42cf4e4c9 fix: Columns not passing properly from SQL Lab to Explore (#20975)
     add e3508232ab fix: series limit solution for source is query (#20977)
     add 226712d831 feat: add 'dashboard.nav.right' extension to registry (#20835)
     add 774756dac9 chore(deps): bump cookie-parser (#20982)
     add eec6e577e6 [requirements] Bumping trino-python-client (#20976)
     add be4fbaf951 fix: for series limit comparison on explore with chart = Query (#20989)
     add 499a28f599 chore(deps): bump debug in /superset-websocket/utils/client-ws-app (#20980)
     add 9350bbafee fix(explore): Replace url search params only if current page is Explore (#20972)
     add f89ba0c7c1 beginning the reducer (#20945)
     add 2537d585ea fix: Ensure Presto database engine spec correctly handles Trino
     add ad14e8adce Update presto.py
     add 2287a92c24 Update presto.py
     add b5f4b52341 Update presto_tests.py

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (10ece47c0f)
            \
             N -- N -- N   refs/heads/john-bodley--trino-presto (b5f4b52341)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/CODEOWNERS                                 |   3 +
 .github/dependabot.yml                             |  21 ++
 .github/workflows/bashlib.sh                       |  11 +-
 .github/workflows/superset-frontend.yml            |   5 +
 .pylintrc                                          |   4 +-
 Makefile                                           |   4 +-
 README.md                                          |  20 +-
 RELEASING/README.md                                |   1 +
 RESOURCES/INTHEWILD.md                             |   2 +
 UPDATING.md                                        |   1 +
 docker/docker-frontend.sh                          |   5 +-
 docker/run-server.sh                               |   2 +
 docs/README.md                                     |   2 +-
 docs/docs/contributing/testing-locally.mdx         |  14 +
 docs/docs/databases/databricks.mdx                 |   5 +-
 .../installing-superset-from-scratch.mdx           |   2 +-
 docs/docs/installation/running-on-kubernetes.mdx   |   2 +-
 docs/docs/installation/sql-templating.mdx          |   2 +-
 docs/src/pages/index.tsx                           |  16 +-
 docs/src/resources/data.js                         |   5 +
 docs/static/img/applitools.png                     | Bin 0 -> 3658 bytes
 docs/static/img/databases/databricks.png           | Bin 0 -> 20293 bytes
 docs/yarn.lock                                     | 195 ++++-------
 helm/superset/Chart.yaml                           |   2 +-
 helm/superset/templates/deployment-worker.yaml     |  18 +-
 helm/superset/templates/deployment.yaml            |   2 +-
 helm/superset/values.schema.json                   |  12 +-
 helm/superset/values.yaml                          |   4 +-
 requirements/base.txt                              |   4 +-
 requirements/development.txt                       |   2 +-
 requirements/docker.txt                            |   2 -
 requirements/integration.txt                       |  14 +-
 requirements/testing.txt                           |   2 +-
 setup.cfg                                          |   2 +-
 setup.py                                           |  13 +-
 superset-embedded-sdk/src/index.ts                 |   3 +-
 superset-frontend/cypress-base/cypress.json        |   2 +-
 .../cypress/integration/explore/control.test.ts    |   2 +-
 .../cypress/integration/explore/link.test.ts       |   2 +-
 .../explore/visualizations/line.test.ts            |  11 +-
 superset-frontend/package-lock.json                | 284 +++++++++--------
 superset-frontend/package.json                     |   2 +
 .../src/components/labelUtils.tsx                  |   6 +-
 .../superset-ui-chart-controls/src/types.ts        |   5 +-
 .../src/chart/components/SuperChart.tsx            |  12 +-
 .../src/chart/models/ChartMetadata.ts              |   5 +
 .../src/color/ColorSchemeRegistry.ts               |  13 +-
 .../superset-ui-core/src/query/types/Column.ts     |   2 +-
 .../superset-ui-core/src/query/types/Dashboard.ts  |   4 +
 .../superset-ui-core/src/query/types/Datasource.ts |   3 -
 .../src/ui-overrides/ExtensionsRegistry.ts         |   1 +
 .../superset-ui-core/src/utils/featureFlags.ts     |   1 +
 .../packages/superset-ui-core/src/utils/index.ts   |   1 +
 .../superset-ui-core/src/utils/lruCache.ts         |  74 +++++
 .../test/color/ColorSchemeRegistry.test.ts         |  16 +
 .../test/query/DatasourceKey.test.ts               |  12 +-
 .../test/query/types/Datasource.test.ts}           |  40 +--
 .../superset-ui-core/test/utils/lruCache.test.ts   |  60 ++++
 .../plugin-chart-pivot-table/PivotTableStories.tsx |  74 +++++
 .../plugins/plugin-chart-pivot-table/testData.ts   | 126 ++++++++
 .../src/countries.ts                               |   2 +
 .../src/countries/turkey.geojson                   |  87 +++++
 .../src/{controlPanel.ts => controlPanel.tsx}      |  22 +-
 .../src/utils/explore.js                           |   2 +-
 .../src/vendor/superset/exploreUtils.js            |   2 +-
 .../BigNumberWithTrendline/transformProps.ts       |   6 +-
 .../src/MixedTimeseries/index.ts                   |   1 +
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |  29 ++
 .../src/Timeseries/transformProps.ts               |  18 +-
 .../plugin-chart-echarts/src/Timeseries/types.ts   |   7 +
 .../plugin-chart-echarts/src/components/Echart.tsx |  22 +-
 .../plugins/plugin-chart-echarts/src/constants.ts  |   2 +-
 .../plugin-chart-echarts/src/utils/series.ts       |   3 -
 .../plugins/plugin-chart-handlebars/package.json   |   2 +-
 .../plugins/plugin-chart-handlebars/src/consts.ts  |   5 +-
 .../plugins/plugin-chart-handlebars/src/i18n.ts    |  65 ----
 .../src/plugin/controlPanel.tsx                    |   5 +-
 .../src/react-pivottable/utilities.js              |  12 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |  58 +++-
 .../plugin-chart-table/src/controlPanel.tsx        |   4 -
 .../spec/fixtures/mockNativeFilters.ts             |   1 +
 .../spec/fixtures/mockSliceEntities.js             |  22 +-
 superset-frontend/spec/helpers/reducerIndex.ts     |   2 +-
 superset-frontend/spec/helpers/setup.ts            |   2 +
 superset-frontend/spec/helpers/testing-library.tsx |  24 +-
 superset-frontend/src/SqlLab/actions/sqlLab.js     |  45 +--
 .../src/SqlLab/actions/sqlLab.test.js              |  41 ++-
 .../src/SqlLab/components/ResultSet/index.tsx      | 108 ++++---
 .../components/RunQueryActionButton/index.tsx      |  12 +-
 .../SaveDatasetActionButton.test.tsx               |  62 ++++
 .../components/SaveDatasetActionButton/index.tsx   |  83 +++++
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     | 113 +++++--
 .../SqlLab/components/SaveDatasetModal/index.tsx   |  20 +-
 .../SqlLab/components/SaveQuery/SaveQuery.test.jsx | 199 +++++++++---
 .../src/SqlLab/components/SaveQuery/index.tsx      |  75 +++--
 .../ShareSqlLabQuery/ShareSqlLabQuery.test.jsx     |   2 +-
 .../SqlLab/components/ShareSqlLabQuery/index.tsx   |   4 +-
 .../src/SqlLab/components/SqlEditor/index.jsx      |  16 +-
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   |   2 +-
 .../TabbedSqlEditors/TabbedSqlEditors.test.jsx     |   6 +-
 .../SqlLab/components/TabbedSqlEditors/index.jsx   |   6 +-
 .../src/SqlLab/components/TableElement/index.tsx   |   4 +-
 superset-frontend/src/SqlLab/fixtures.ts           |  42 ++-
 .../src/SqlLab/reducers/getInitialState.js         |   6 +-
 superset-frontend/src/SqlLab/reducers/sqlLab.js    |  14 +-
 .../src/SqlLab/reducers/sqlLab.test.js             |   8 +-
 superset-frontend/src/SqlLab/types.ts              |   6 +-
 .../src/SqlLab/utils/newQueryTabName.test.ts       |   4 +-
 .../src/SqlLab/utils/newQueryTabName.ts            |   4 +-
 superset-frontend/src/assets/images/databricks.png | Bin 0 -> 20293 bytes
 superset-frontend/src/components/Button/index.tsx  |  56 +---
 superset-frontend/src/components/Chart/Chart.jsx   |   1 -
 .../src/components/Chart/chartAction.js            |   5 +-
 .../src/components/Chart/chartReducer.ts           |   4 +-
 .../src/components/DatabaseSelector/index.tsx      |   1 -
 .../src/components/Datasource/CollectionTable.tsx  |  18 +-
 .../src/components/Datasource/DatasourceEditor.jsx |  18 +-
 .../src/components/DropdownButton/index.tsx        |   3 +-
 .../src/components/DynamicEditableTitle/index.tsx  |   2 +-
 .../src/components/EditableTitle/index.tsx         |  23 +-
 .../components/GenericLink/GenericLink.test.tsx    |  59 ++++
 .../GenericLink/GenericLink.tsx}                   |  56 ++--
 .../src/components/ListView/Filters/Select.tsx     |  42 ++-
 .../src/components/PageHeaderWithActions/index.tsx |   2 +-
 .../src/components/Select/AsyncSelect.test.tsx     | 150 ++++++---
 .../src/components/Select/AsyncSelect.tsx          |  73 ++---
 .../src/components/Select/Select.stories.tsx       |  28 +-
 .../src/components/Select/Select.test.tsx          |  27 +-
 superset-frontend/src/components/Select/Select.tsx | 280 +---------------
 .../src/components/TableSelector/index.tsx         |   1 -
 superset-frontend/src/constants.ts                 |   6 +-
 .../src/dashboard/actions/dashboardState.js        |   3 +-
 .../datasources.ts}                                |  40 ++-
 superset-frontend/src/dashboard/actions/hydrate.js |  34 ++
 .../src/dashboard/actions/sliceEntities.js         |   7 +-
 .../src/dashboard/components/AddSliceCard.jsx      | 148 ---------
 .../components/AddSliceCard/AddSliceCard.test.tsx  |  62 ++++
 .../components/AddSliceCard/AddSliceCard.tsx       | 288 +++++++++++++++++
 .../components/AddSliceCard/index.ts}              |   8 +-
 .../CrossFilterScopingModal.tsx                    |  14 +-
 .../src/dashboard/components/Dashboard.test.jsx    |   3 +-
 .../DashboardBuilder/DashboardBuilder.test.jsx     | 196 ------------
 .../DashboardBuilder/DashboardBuilder.test.tsx     | 280 ++++++++++++++++
 .../DashboardBuilder/DashboardBuilder.tsx          |  80 ++++-
 .../DashboardBuilder/DashboardContainer.tsx        |  96 +++++-
 .../useStoredFilterBarWidth.test.ts                |  85 +++++
 .../DashboardBuilder/useStoredFilterBarWidth.ts    |  51 +++
 .../dashboard/components/FiltersBadge/selectors.ts |  14 +-
 .../dashboard/components/Header/Header.test.tsx    |  16 +
 .../src/dashboard/components/Header/index.jsx      |  14 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |   4 +-
 .../dashboard/components/PropertiesModal/index.tsx |  29 +-
 .../src/dashboard/components/SliceAdder.jsx        |   3 +-
 .../components/SliceHeader/SliceHeader.test.tsx    |  61 ++--
 .../src/dashboard/components/SliceHeader/index.tsx |  17 +-
 .../SliceHeaderControls.test.tsx                   | 142 +++++----
 .../components/SliceHeaderControls/index.tsx       |  28 +-
 .../FilterBar/ActionButtons/ActionButtons.test.tsx |  26 ++
 .../FilterBar/ActionButtons/index.tsx              |  10 +-
 .../components/nativeFilters/FilterBar/index.tsx   |  13 +-
 .../FiltersConfigModal/FiltersConfigForm/utils.ts  |   4 +-
 .../dashboard/components/nativeFilters/utils.ts    |   3 +-
 superset-frontend/src/dashboard/constants.ts       |   5 +-
 .../src/dashboard/containers/Chart.jsx             |   6 +-
 .../src/dashboard/containers/Dashboard.ts          |   4 +-
 .../src/dashboard/containers/DashboardPage.tsx     | 100 +++++-
 .../reducers/datasources.ts}                       |  20 +-
 superset-frontend/src/dashboard/reducers/types.ts  |   1 +
 superset-frontend/src/dashboard/types.ts           |  15 +-
 .../dashboard/util/activeAllDashboardFilters.ts    |  87 +----
 .../src/dashboard/util/activeDashboardFilters.js   |   4 +-
 .../util/charts/getFormDataWithExtraFilters.ts     |  22 +-
 .../util/getFormDataWithExtraFilters.test.ts       |  10 +-
 superset-frontend/src/explore/ExplorePage.tsx      |  55 +++-
 .../src/explore/actions/datasourcesActions.test.ts |  85 +++++
 .../actions/datasourcesActions.ts}                 |  51 ++-
 .../src/explore/actions/exploreActions.ts          |  13 -
 .../src/explore/actions/hydrateExplore.test.ts     |   3 +
 .../src/explore/actions/hydrateExplore.ts          |  48 ++-
 .../src/explore/components/ControlHeader.tsx       |  54 +++-
 .../explore/components/ControlPanelsContainer.tsx  | 105 +++++-
 .../DataTablesPane/components/useResultsPane.tsx   |  40 ++-
 .../test/ResultsPaneOnDashboard.test.tsx           |  15 +-
 .../DataTablesPane/test/SamplesPane.test.tsx       |  12 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |   5 +
 .../src/explore/components/ExploreChartPanel.jsx   |   9 +-
 .../ExploreViewContainer.test.tsx                  |  35 +-
 .../components/ExploreViewContainer/index.jsx      |  31 +-
 .../src/explore/components/SaveModal.test.jsx      |  34 +-
 .../src/explore/components/SaveModal.tsx           | 311 +++++++++++-------
 .../controls/AnnotationLayerControl/index.jsx      |   9 +-
 .../controls/ControlPopover/ControlPopover.tsx     |   2 +-
 .../controls/DatasourceControl/index.jsx           |   6 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |  83 ++++-
 .../ColumnSelectPopoverTrigger.tsx                 |  42 ++-
 .../DndColumnSelect.test.tsx                       |  26 +-
 .../MetricControl/AdhocMetricEditPopover/index.jsx |  24 +-
 .../MetricControl/AdhocMetricPopoverTrigger.tsx    |  55 +++-
 .../explore/components/controls/SelectControl.jsx  |   2 -
 .../components/controls/TextAreaControl.jsx        |  25 +-
 .../src/explore/components/controls/ViewQuery.tsx  |   4 +-
 .../explore/components/controls/ViewQueryModal.tsx |  13 +-
 .../controls/VizTypeControl/FastVizSwitcher.tsx    |  34 +-
 .../VizTypeControl/VizTypeControl.test.tsx         |   6 +-
 .../controls/VizTypeControl/VizTypeGallery.tsx     |   2 +-
 .../useExploreAdditionalActionsMenu/index.jsx      |  37 ++-
 .../src/explore/controlPanels/sections.tsx         |   2 -
 .../getFormDataFromDashboardContext.test.ts        | 212 ++++++++++++
 .../getFormDataWithDashboardContext.ts             | 191 +++++++++++
 .../explore/controlUtils/getSectionsToRender.ts    |  10 +-
 .../controlUtils/standardizedFormData.test.ts      | 261 ++++++++-------
 .../explore/controlUtils/standardizedFormData.ts   |  38 ++-
 superset-frontend/src/explore/controls.jsx         |   1 -
 .../reducers/datasourcesReducer.ts}                |  29 +-
 .../src/filters/components/GroupBy/types.ts        |   3 +-
 .../src/filters/components/TimeColumn/types.ts     |   3 +-
 .../src/filters/components/TimeGrain/types.ts      |   3 +-
 .../src/hooks/apiResources/dashboards.ts           |   5 +-
 superset-frontend/src/reports/actions/reports.js   |   5 +-
 .../types/DashboardContextForExplore.ts}           |  48 +--
 superset-frontend/src/utils/datasourceUtils.js     |   4 +-
 superset-frontend/src/utils/localStorageHelpers.ts |   7 +
 superset-frontend/src/utils/urlUtils.test.ts       |  54 ++++
 superset-frontend/src/utils/urlUtils.ts            |  39 ++-
 superset-frontend/src/views/App.tsx                |   2 +
 .../src/views/CRUD/chart/ChartList.tsx             |   3 +-
 .../views/CRUD/data/dataset/DatasetList.test.jsx   |   2 +-
 .../src/views/CRUD/data/dataset/DatasetList.tsx    |   7 +-
 .../dataset/DatasetPage/DatasetPanel/index.tsx}    |   9 +-
 .../data/dataset/DatasetPage/Footer/index.tsx}     |   9 +-
 .../data/dataset/DatasetPage/Header/index.tsx}     |   9 +-
 .../data/dataset/DatasetPage/LeftPanel/index.tsx}  |   9 +-
 .../data/dataset/DatasetPage/RightPanel/index.tsx} |   9 +-
 .../views/CRUD/data/dataset/DatasetPage/index.tsx  |  82 +++++
 .../CRUD/data/dataset/DatasetPage/types.tsx}       |  49 ++-
 .../utils.ts => views/ScrollToTop.tsx}             |  17 +-
 superset-frontend/src/views/components/Menu.tsx    |   2 +-
 superset-frontend/src/views/menu.tsx               |   2 +-
 superset-frontend/src/views/routes.tsx             |  16 +
 superset-frontend/src/views/store.ts               |  33 +-
 .../src/visualizations/TimeTable/TimeTable.jsx     |   3 +-
 .../utils/client-ws-app/package-lock.json          |  47 ++-
 .../utils/client-ws-app/package.json               |   4 +-
 superset/annotation_layers/annotations/dao.py      |   3 +-
 superset/annotation_layers/dao.py                  |   3 +-
 superset/charts/dao.py                             |   3 +-
 superset/charts/schemas.py                         |   6 +
 superset/commands/importers/v1/assets.py           |   1 -
 superset/commands/importers/v1/examples.py         |   1 -
 superset/common/query_context_processor.py         |  20 +-
 superset/config.py                                 |  10 +-
 superset/connectors/sqla/models.py                 |  47 +--
 superset/connectors/sqla/views.py                  |   2 +-
 superset/constants.py                              |   2 +
 superset/dashboards/api.py                         |  24 +-
 .../dashboards/commands/importers/v1/__init__.py   |   1 -
 superset/dashboards/dao.py                         |   5 +-
 superset/dashboards/filters.py                     |   2 +-
 superset/dashboards/permalink/commands/create.py   |   6 +-
 superset/dashboards/schemas.py                     |   3 +-
 superset/databases/commands/create.py              |   1 -
 superset/databases/commands/update.py              |  22 +-
 superset/databases/schemas.py                      |   1 +
 superset/datasets/api.py                           |  84 +----
 superset/datasets/commands/samples.py              |  80 -----
 superset/datasets/commands/update.py               |   3 +-
 superset/datasets/dao.py                           |  86 +++--
 superset/datasets/schemas.py                       |   6 +-
 superset/datasource/dao.py                         |   8 +
 superset/db_engine_specs/base.py                   |  26 +-
 superset/db_engine_specs/bigquery.py               |   4 +-
 superset/db_engine_specs/databricks.py             |  33 +-
 superset/db_engine_specs/drill.py                  |  19 +-
 superset/db_engine_specs/druid.py                  |  19 +-
 superset/db_engine_specs/gsheets.py                |   8 +-
 superset/db_engine_specs/hive.py                   |  25 +-
 superset/db_engine_specs/mysql.py                  |   6 +-
 superset/db_engine_specs/presto.py                 |  40 ++-
 superset/db_engine_specs/snowflake.py              |   6 +-
 superset/db_engine_specs/trino.py                  |  32 +-
 superset/exceptions.py                             |   8 +
 superset/explore/api.py                            |  84 +----
 superset/explore/commands/samples.py               |  93 ------
 superset/initialization/__init__.py                |   3 +-
 .../migrations/shared/migrate_viz/__init__.py      |  18 +-
 .../shared/migrate_viz/base.py}                    | 133 ++++----
 .../migrations/shared/migrate_viz/processors.py    |  55 ++++
 superset/migrations/shared/utils.py                |  11 +-
 ...4fbb_add_type_to_native_filter_configuration.py |   2 +-
 ...-39_cbe71abde154_fix_report_schedule_and_log.py |   2 +-
 ...5-48_409c7b420ab0_add_created_by_fk_as_owner.py | 135 ++++++++
 ..._13-00_c747c78868b6_migrating_legacy_treemap.py |  72 +----
 ...-07_14-00_06e1e70058c7_migrating_legacy_area.py |  71 +----
 ...61a56_rename_report_schedule_extra_to_extra_.py |  42 ++-
 ...-16_a39867932713_query_context_to_mediumtext.py |  40 +--
 superset/models/core.py                            |  27 +-
 superset/models/dashboard.py                       |   6 +-
 superset/models/helpers.py                         | 240 ++++++++++++--
 superset/models/sql_lab.py                         |  57 +++-
 superset/models/sql_types/presto_sql_types.py      |   2 +-
 superset/queries/saved_queries/dao.py              |   3 +-
 superset/reports/api.py                            |   5 +-
 superset/reports/commands/alert.py                 |   2 +-
 superset/reports/commands/base.py                  |  10 +-
 superset/reports/commands/bulk_delete.py           |   2 +-
 superset/reports/commands/create.py                |  33 +-
 superset/reports/commands/delete.py                |   2 +-
 superset/reports/commands/exceptions.py            |  15 +-
 superset/reports/commands/execute.py               | 108 +++----
 superset/reports/commands/log_prune.py             |   2 +-
 superset/reports/commands/update.py                |   2 +-
 superset/reports/dao.py                            |  12 +-
 superset/reports/filters.py                        |   2 +-
 superset/reports/logs/api.py                       |   2 +-
 superset/{models/reports.py => reports/models.py}  |  21 +-
 superset/reports/notifications/__init__.py         |   2 +-
 superset/reports/notifications/base.py             |   2 +-
 superset/reports/notifications/email.py            |  40 ++-
 superset/reports/notifications/slack.py            |   2 +-
 superset/reports/schemas.py                        |   3 +-
 .../test_app.py => superset/reports/types.py       |  18 +-
 superset/security/manager.py                       | 259 +++++++++++++--
 superset/sql_lab.py                                |   9 +-
 superset/sql_parse.py                              |   2 +-
 superset/sqllab/command.py                         |  25 +-
 superset/sqllab/exceptions.py                      |   2 +-
 superset/templates/email/role_extended.txt         |   2 +-
 superset/templates/email/role_granted.txt          |   2 +-
 superset/utils/core.py                             |  14 +-
 superset/utils/database.py                         |  10 +-
 superset/utils/dates.py                            |   1 +
 superset/utils/encrypt.py                          |   6 +-
 superset/utils/mock_data.py                        |   2 -
 superset/utils/webdriver.py                        |   1 -
 superset/views/base.py                             |   3 +-
 superset/views/core.py                             |  54 +++-
 superset/views/datasource/schemas.py               |  32 +-
 superset/views/datasource/utils.py                 | 115 +++++++
 superset/views/datasource/views.py                 |  54 +++-
 superset/views/redirects.py                        |  39 ++-
 superset/views/sql_lab.py                          |   4 +-
 tests/common/query_context_generator.py            |   2 +-
 tests/integration_tests/base_tests.py              |   2 +-
 tests/integration_tests/charts/api_tests.py        |   2 +-
 tests/integration_tests/config_tests.py            | 173 ----------
 tests/integration_tests/conftest.py                | 153 ++++++++-
 tests/integration_tests/core_tests.py              |  19 +-
 tests/integration_tests/dashboards/api_tests.py    |   4 +-
 tests/integration_tests/databases/api_tests.py     |   2 +-
 tests/integration_tests/datasets/api_tests.py      | 355 +++++++++++++++------
 tests/integration_tests/datasource_tests.py        | 196 +++++++++++-
 .../db_engine_specs/presto_tests.py                |  33 +-
 tests/integration_tests/fixtures/datasource.py     |   2 +-
 .../fixtures/deck_geojson_form_data.json           |   2 +-
 .../fixtures/deck_path_form_data.json              |   2 +-
 .../integration_tests/fixtures/tabbed_dashboard.py | 102 ++++--
 .../06e1e70058c7_migrate_legacy_area__tests.py}    |  18 +-
 ...747c78868b6_migrating_legacy_treemap__tests.py} |  14 +-
 tests/integration_tests/model_tests.py             |   5 +-
 tests/integration_tests/reports/api_tests.py       |  85 +----
 .../commands/create_dashboard_report_tests.py      |  91 ++++++
 .../commands/execute_dashboard_report_tests.py     |  68 ++++
 tests/integration_tests/reports/commands_tests.py  | 167 ++--------
 tests/integration_tests/reports/scheduler_tests.py |   3 +-
 tests/integration_tests/reports/utils.py           | 115 ++++++-
 tests/integration_tests/security_tests.py          | 186 +++++++++++
 .../integration_tests/sql_lab}/__init__.py         |   0
 tests/integration_tests/sql_lab/conftest.py        |  71 +++++
 .../sql_lab/test_execute_sql_statements.py         |  56 ++++
 tests/integration_tests/sqla_models_tests.py       |   3 +-
 tests/integration_tests/sqllab_tests.py            |  28 +-
 tests/integration_tests/superset_test_config.py    |   7 +
 tests/integration_tests/test_app.py                |   5 +-
 tests/integration_tests/viz_tests.py               |  16 +-
 tests/unit_tests/advanced_data_type/types_tests.py |  55 ++--
 .../charts/commands/importers/v1/import_test.py    |   4 +-
 tests/unit_tests/columns/test_models.py            |   2 +-
 tests/unit_tests/commands/export_test.py           |   2 +-
 tests/unit_tests/config_test.py                    | 330 +++++++++++++++++++
 tests/unit_tests/conftest.py                       |   8 +-
 tests/unit_tests/core_tests.py                     |  12 +
 tests/unit_tests/dao/queries_test.py               |   2 +-
 .../commands/importers/v1/import_test.py           |   6 +-
 .../dashboards/commands/importers/v1/utils_test.py |   2 +-
 .../databases/commands/importers/v1/import_test.py |   6 +-
 tests/unit_tests/databases/utils_test.py           |   4 +-
 tests/unit_tests/dataframe_test.py                 |   4 +-
 tests/unit_tests/datasets/commands/export_test.py  |   2 +-
 .../datasets/commands/importers/v1/import_test.py  | 137 +++++++-
 tests/unit_tests/datasets/test_models.py           |  19 +-
 tests/unit_tests/datasource/dao_tests.py           |  22 +-
 tests/unit_tests/db_engine_specs/test_athena.py    |   8 +-
 tests/unit_tests/db_engine_specs/test_base.py      |  11 +-
 tests/unit_tests/db_engine_specs/test_bigquery.py  |  21 +-
 tests/unit_tests/db_engine_specs/test_drill.py     |  25 +-
 tests/unit_tests/db_engine_specs/test_gsheets.py   |   4 -
 tests/unit_tests/db_engine_specs/test_kusto.py     |  15 +-
 tests/unit_tests/db_engine_specs/test_mssql.py     |  25 +-
 tests/unit_tests/db_engine_specs/test_presto.py    |   2 -
 tests/unit_tests/db_engine_specs/test_snowflake.py |   9 +-
 tests/unit_tests/db_engine_specs/test_sqlite.py    |  17 +-
 tests/unit_tests/db_engine_specs/test_teradata.py  |   2 -
 tests/unit_tests/explore/utils_test.py             |  41 +--
 tests/unit_tests/jinja_context_test.py             |   2 +-
 tests/unit_tests/notifications/email_tests.py      |  46 +++
 tests/unit_tests/result_set_test.py                |   2 +-
 tests/unit_tests/sql_lab_test.py                   |   2 -
 tests/unit_tests/sql_parse_tests.py                |   2 +-
 tests/unit_tests/tables/test_models.py             |   2 +-
 tests/unit_tests/tasks/test_cron_util.py           |  11 +-
 tests/unit_tests/test_jinja_context.py             |  39 ++-
 tests/unit_tests/utils/cache_test.py               |   2 +-
 tests/unit_tests/utils/urls_tests.py               |   4 +-
 413 files changed, 9177 insertions(+), 4252 deletions(-)
 create mode 100644 docs/static/img/applitools.png
 create mode 100644 docs/static/img/databases/databricks.png
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/lruCache.ts
 copy superset-frontend/{plugins/plugin-chart-handlebars/src/consts.ts => packages/superset-ui-core/test/query/types/Datasource.test.ts} (59%)
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/lruCache.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-pivot-table/PivotTableStories.tsx
 create mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-pivot-table/testData.ts
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/turkey.geojson
 rename superset-frontend/plugins/legacy-plugin-chart-heatmap/src/{controlPanel.ts => controlPanel.tsx} (92%)
 delete mode 100644 superset-frontend/plugins/plugin-chart-handlebars/src/i18n.ts
 create mode 100644 superset-frontend/src/SqlLab/components/SaveDatasetActionButton/SaveDatasetActionButton.test.tsx
 create mode 100644 superset-frontend/src/SqlLab/components/SaveDatasetActionButton/index.tsx
 create mode 100644 superset-frontend/src/assets/images/databricks.png
 create mode 100644 superset-frontend/src/components/GenericLink/GenericLink.test.tsx
 copy superset-frontend/src/{dashboard/constants.ts => components/GenericLink/GenericLink.tsx} (53%)
 copy superset-frontend/src/dashboard/{util/fetchDatasourceMetadata.ts => actions/datasources.ts} (57%)
 delete mode 100644 superset-frontend/src/dashboard/components/AddSliceCard.jsx
 create mode 100644 superset-frontend/src/dashboard/components/AddSliceCard/AddSliceCard.test.tsx
 create mode 100644 superset-frontend/src/dashboard/components/AddSliceCard/AddSliceCard.tsx
 copy superset-frontend/src/{explore/components/DataTablesPane/utils.ts => dashboard/components/AddSliceCard/index.ts} (84%)
 delete mode 100644 superset-frontend/src/dashboard/components/DashboardBuilder/DashboardBuilder.test.jsx
 create mode 100644 superset-frontend/src/dashboard/components/DashboardBuilder/DashboardBuilder.test.tsx
 create mode 100644 superset-frontend/src/dashboard/components/DashboardBuilder/useStoredFilterBarWidth.test.ts
 create mode 100644 superset-frontend/src/dashboard/components/DashboardBuilder/useStoredFilterBarWidth.ts
 copy superset-frontend/src/{datasource/reducer.ts => dashboard/reducers/datasources.ts} (66%)
 create mode 100644 superset-frontend/src/explore/actions/datasourcesActions.test.ts
 rename superset-frontend/src/{datasource/actions.ts => explore/actions/datasourcesActions.ts} (52%)
 create mode 100644 superset-frontend/src/explore/controlUtils/getFormDataFromDashboardContext.test.ts
 create mode 100644 superset-frontend/src/explore/controlUtils/getFormDataWithDashboardContext.ts
 rename superset-frontend/src/{datasource/reducer.ts => explore/reducers/datasourcesReducer.ts} (68%)
 copy superset-frontend/{plugins/plugin-chart-handlebars/src/consts.ts => src/types/DashboardContextForExplore.ts} (56%)
 create mode 100644 superset-frontend/src/utils/urlUtils.test.ts
 copy superset-frontend/src/{explore/components/DataTablesPane/utils.ts => views/CRUD/data/dataset/DatasetPage/DatasetPanel/index.tsx} (84%)
 copy superset-frontend/src/{explore/components/DataTablesPane/utils.ts => views/CRUD/data/dataset/DatasetPage/Footer/index.tsx} (84%)
 copy superset-frontend/src/{explore/components/DataTablesPane/utils.ts => views/CRUD/data/dataset/DatasetPage/Header/index.tsx} (84%)
 copy superset-frontend/src/{explore/components/DataTablesPane/utils.ts => views/CRUD/data/dataset/DatasetPage/LeftPanel/index.tsx} (84%)
 copy superset-frontend/src/{explore/components/DataTablesPane/utils.ts => views/CRUD/data/dataset/DatasetPage/RightPanel/index.tsx} (84%)
 create mode 100644 superset-frontend/src/views/CRUD/data/dataset/DatasetPage/index.tsx
 rename superset-frontend/src/{dashboard/util/fetchDatasourceMetadata.ts => views/CRUD/data/dataset/DatasetPage/types.tsx} (54%)
 rename superset-frontend/src/{explore/components/DataTablesPane/utils.ts => views/ScrollToTop.tsx} (77%)
 delete mode 100644 superset/datasets/commands/samples.py
 delete mode 100644 superset/explore/commands/samples.py
 copy tests/integration_tests/test_app.py => superset/migrations/shared/migrate_viz/__init__.py (65%)
 rename superset/{utils/migrate_viz.py => migrations/shared/migrate_viz/base.py} (50%)
 create mode 100644 superset/migrations/shared/migrate_viz/processors.py
 create mode 100644 superset/migrations/versions/2022-07-05_15-48_409c7b420ab0_add_created_by_fk_as_owner.py
 copy tests/unit_tests/utils/urls_tests.py => superset/migrations/versions/2022-07-11_11-26_ffa79af61a56_rename_report_schedule_extra_to_extra_.py (51%)
 copy tests/unit_tests/databases/utils_test.py => superset/migrations/versions/2022-07-19_15-16_a39867932713_query_context_to_mediumtext.py (50%)
 rename superset/{models/reports.py => reports/models.py} (92%)
 copy tests/integration_tests/test_app.py => superset/reports/types.py (65%)
 create mode 100644 superset/views/datasource/utils.py
 delete mode 100644 tests/integration_tests/config_tests.py
 rename tests/{unit_tests/utils/viz_migration/area_migration_test.py => integration_tests/migrations/06e1e70058c7_migrate_legacy_area__tests.py} (86%)
 rename tests/{unit_tests/utils/viz_migration/treemap_migration_test.py => integration_tests/migrations/c747c78868b6_migrating_legacy_treemap__tests.py} (87%)
 create mode 100644 tests/integration_tests/reports/commands/create_dashboard_report_tests.py
 create mode 100644 tests/integration_tests/reports/commands/execute_dashboard_report_tests.py
 copy {superset/advanced_data_type => tests/integration_tests/sql_lab}/__init__.py (100%)
 create mode 100644 tests/integration_tests/sql_lab/conftest.py
 create mode 100644 tests/integration_tests/sql_lab/test_execute_sql_statements.py
 create mode 100644 tests/unit_tests/config_test.py
 create mode 100644 tests/unit_tests/notifications/email_tests.py