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

rusackas pushed a change to branch scarf-pixel
in repository https://gitbox.apache.org/repos/asf/superset.git


 discard fd0dfbe098 fixing RTL tests
 discard 4ae3e951eb linting
 discard b8503d8612 hide the darn image
 discard ffeed6a081 fixing linting, adding docstrings
 discard da37b911d8 more linting?! <shakes fist>
 discard ecaba39fcc line too long... seems like the linter could just fix this 
:/
 discard d4b2abea18 linting
 discard 91d9de8b88 fixing talisman config
 discard 62c928df69 more linting
 discard 9f97034eba touchups
 discard 2cae91b8e1 fiddling with pixel/package path
 discard 7899796f4d more bump action
 discard a3dff6664e Passing version/sha/build to pixel
 discard 784f5bea1f bumping react types to allow referrer policy
 discard a12f2057d0 Adding pixel component and FF
 discard ddfd78ac9a faux query variables
 discard 7e47738163 Adding scarf pixel
     add e56e0de458 fix: revert fix(sqllab): Force trino client async execution 
(#24859) (#25541)
     add 003001f19f fix(sqllab): Allow opening of SQL Lab in new browser tab  
(#25582)
     add a520124a78 fix(sqllab): Mistitled for new tab after rename (#25523)
     add 59fc5a6184 docs: BugHerd Tasks 88, 89, 90, 91 (#25567)
     add bfcca8cbab chore(helm): spelling: initialize (#25455)
     add 4a01b6006c build(deps-dev): bump @types/node from 20.8.4 to 20.8.5 in 
/superset-websocket (#25632)
     add b370c66308 fix(sqllab): template validation error within comments 
(#25626)
     add 9074f72959 fix(tags): Polish + Better messaging for skipped tags with 
bad permissions (#25578)
     add 5054b9fade build(ci): Provide diff for pre-commit failures (#25638)
     add e8783033f8 chore: adding resource links to readme (#25629)
     add 56f74e5215 docs: invert logo color for dark theme in README (#25537)
     add 99f79f5143 fix: avoid 500 errors with SQLLAB_BACKEND_PERSISTENCE 
(#25553)
     add 8c6bd4ef04 chore: bump pip-tools (#25645)
     add a0a0d8043f fix(import): Make sure query context is overwritten for 
overwriting imports (#25493)
     add 18a1c8d7d8 build(deps-dev): bump @types/node from 20.8.5 to 20.8.6 in 
/superset-websocket (#25653)
     add e58a3aba54 fix: permalink save/overwrites in explore (#25112)
     add 51c56dd2a0 fix(header navlinks): link navlinks to path prefix (#25495)
     add 1991d240bf build(deps-dev): bump @babel/traverse from 7.16.0 to 7.23.2 
in /superset-websocket (#25661)
     add cb963585ad chore: sync lock files (#25667)
     add f473d13d0d fix: improve upload ZIP file validation (#25658)
     add 150e5c90f7 docs: make project-specific security page more prominent 
(#25654)
     add deef3b04eb feat(sqllab): ResultTable extension (#25423)
     add 16cc089b19 fix: warning of nth-child (#23638)
     add 32e37d8cda chore: Cleanup hostNamesConfig.js (#25543)
     add a27a809f07 fix(tags): +n tags for listview (#25603)
     add 8b32b2abd3 build(deps-dev): bump @types/jsonwebtoken from 9.0.3 to 
9.0.4 in /superset-websocket (#25688)
     add dc06fb8b11 chore: Adds 3.0.1 data to CHANGELOG.md (#25691)
     add be82657940 fix(dremio): Fixes issue with Dremio SQL generation for 
Charts with Series Limit (#25657)
     add 26498fc099 chore: add latest-official docker tag (#25322)
     add e7cdfeeb2c feat: Add week time grain for Elasticsearch datasets 
(#25683)
     add 4e94fc4cff fix(sqllab): reinstate "Force trino client async execution" 
(#25680)
     add 1d37f3a15b build(deps-dev): bump @types/node from 20.8.6 to 20.8.7 in 
/superset-websocket (#25700)
     add bac5a85541 docs(README): remove typo (#25710)
     add e29e2684d0 build(deps-dev): bump @types/uuid from 9.0.4 to 9.0.6 in 
/superset-websocket (#25701)
     add 07796b7528 build(deps-dev): bump @types/cookie from 0.5.1 to 0.5.3 in 
/superset-websocket (#25689)
     add da42bf2dbb fix: remove unnecessary redirect (#25679)
     add dfff3c1cba feat: Funnel/tooltip-customization (#25666)
     add 39ad3226c7 feat: add database and schema names to dataset option 
(#25569)
     add 505678b37b chore: Change the format for sha512 sum for releases 
(#25577)
     add def7cd1b89 chore: helm chart: bump appVersion to 3.0.1 (#25709)
     add ee23690196 feat: add France's regions to country map visualization 
(#25676)
     add 75a7431379 fix(chore): dashboard requests to database equal the number 
of slices it has (#24709)
     add 8fb0c8da56 fix: bump to FAB 4.3.9 remove CSP exception (#25712)
     add 9972ac6908 refactor: use DATE_TRUNC for Elasticsearch time grain 
(#25717)
     add 4ac8f826f2 fix(driver): bumping DuckDB to 0.9.2 (#25718)
     add ed87470bcc fix(metadb): handle durations (#25727)
     add 4aef771072 chore: updated base DAO find_by_id to return generic type 
(#25726)
     add cbbf2bed6e build(deps-dev): bump eslint from 8.51.0 to 8.52.0 in 
/superset-websocket (#25735)
     add e4173d90c8 fix(horizontal filter label): show full tooltip with 
ellipsis (#25732)
     add 861ee8b3c6 chore(websocket): [WIP] Making JWT algos configurable 
(#25521)
     add 419d122816 chore: bump pymssql version (#25737)
     add 27a06f57e1 style(readme): reformatted  (#25721)
     add e2fe967788 fix: Revert "fix(Charts): Set max row limit + removed the 
option to use an empty row limit value" (#25753)
     add cee8532733 fix(README): mismatched picture tags (#25739)
     add c7f8d11a7e fix: dataset update uniqueness (#25756)
     add 2a2bc82a8b fix(sqllab): slow pop datasource query (#25741)
     add bda43ac0f6 chore: Add config options for Playwright wait_until and 
default timeout (#25765)
     add ed14f36c55 fix: allow for backward compatible errors (#25640)
     add 5659c87ed2 fix: DB-specific quoting in Jinja macro (#25779)
     add 74dbada473 feat(Export as PDF - rasterized): Adding rasterized pdf 
functionality to dashboard (#25696)
     add 0f01d9b08f feat(helm): Add option to deploy extra containers to init 
job (#25783)
     add 5e6d05b3fd fix(helm): Fix init extra containers (#25803)
     add ae703b48fc fix: Revert "fix: Apply normalization to all dttm columns 
(#25147)" (#25801)
     add 7804d1451e chore(security): Make get_database_perm/get_dataset_perm 
return optional (#24046)
     add 8737a8a546 fix: Resolve issue #24195 (#25804)
     add d2f511abba feat: support server-side sessions (#25795)
     add 1eba7121aa fix(SQL field in edit dataset modal): display full sql 
query (#25768)
     add 2177a50c7a build(deps): bump browserify-sign from 4.2.1 to 4.2.2 in 
/superset-frontend (#25778)
     add 1e37f0b417 chore(celery): Cleanup config and async query 
specifications (#25314)
     add 3f28eebb20 fix(sqllab): infinite fetching status after results are 
landed (#25814)
     add e1eb985aa8 docs: Add Cyberhaven to Users list (#25530)
     add f265b2c1ae build(deps-dev): bump @types/node from 20.8.7 to 20.8.10 in 
/superset-websocket (#25816)
     add a249e418b3 chore(issues): config.yaml added with feature request link 
to open a discussion (#25823)
     add a3686459a9 chore: Update sip.md to have a better call to action 
(#25822)
     add 6ace22da87 chore(websocket): Adding support for redis username in 
websocket server (#25826)
     add aaf7d6b7e4 chore: Removes border of the color picker control (#25812)
     add b58cc24bd4 chore(docker-compose): more host network specifiers (#25817)
     add 5690946b1a feat: support databend for superset (#23308)
     add 508721bd97 docs: Update location of `async_query_manager.py` (#25531)
     add c3f3ec56d6 fix: databend png pic (#25851)
     add ff8bc3c426 chore: Updates Databend image extension reference in 
README.md (#25852)
     add 8061d5cce9 fix: Fires onChange when clearing all values of single 
select (#25853)
     add d619078d25 feat: Improves the Waterfall chart (#25557)
     add 24a2213445 feat(sqllab): Format sql (#25344)
     add ae619b169c fix: the temporal x-axis results in a none time_range. 
(#25429)
     add 60e1526f6a fix: remove `update_charts_owners` (#25843)
     add 80cf710dbe fix: add validation on tag name to have name + onDelete 
refresh list view (#25831)
     add 916f7bcbba fix(table chart): Show Cell Bars correctly #25625 (#25707)
     add fb35bac070 feat(sqllab): Dynamic query limit dropdown (#25855)
     add 30cd422331 fix(tagging): change key from name to id for 
tagToSelectOption (#25856)
     add 7536dd12cd fix(charts): Time grain is None when dataset uses Jinja 
(#25842)
     add 887be5dd32 build(deps-dev): bump eslint from 8.52.0 to 8.53.0 in 
/superset-websocket (#25867)
     add 268c1dcdad fix: Saving Mixed Chart with dashboard filter applied 
breaks adhoc_filter_b (#25877)
     add 5e5a9c601f fix(typo): replace 'datasouce_id' with 'datasource_id' in 
openapi.json (#25875)
     add d6fde3cdd5 chore: Update INTHEWILD.md (#25714)
     add 3ee22667a7 build(deps): bump cookie from 0.5.0 to 0.6.0 in 
/superset-websocket (#25886)
     add 80caba3fd1 feat: method for dynamic `allows_alias_in_select` (#25882)
     add 1d0b86ae94 chore: add more migration tests (#25262)
     add 06ffcd29e2 fix: database version field (#25898)
     add cdb18e04ff fix: trino cursor (#25897)
     add a97bf6494e build(deps-dev): bump @types/cookie from 0.5.3 to 0.5.4 in 
/superset-websocket (#25905)
     add 4402f5c5cd build(deps-dev): bump @types/ws from 8.5.7 to 8.5.9 in 
/superset-websocket (#25906)
     add 6f92007a85 build(deps): bump @types/lodash from 4.14.200 to 4.14.201 
in /superset-websocket (#25907)
     add b0da5cef70 chore: remove deprecated functions in SQLAlchemy (#25911)
     add 458be8c848 fix(trino): allow impersonate_user flag to be imported 
(#25872)
     add 784a478268 fix(table): Double percenting ad-hoc percentage metrics 
(#25857)
     add e03691917b chore: remove unused functions in utils/core (#25912)
     add 90e210892b chore: Simplify utils/cache by using default argument 
values (#25900)
     add 2bd611916d feat: safer insert RLS (#20323)
     add a698587e8c docs: Remove Python 3.8 from CONTRIBUTING.md (#25885)
     add 10205d0b50 chore: Singularize tag models (#25819)
     add 581d3c7108 fix(sqllab): invalid sanitization on comparison symbol 
(#25903)
     add 33d8078a83 build(deps-dev): bump @types/node from 20.8.10 to 20.9.0 in 
/superset-websocket (#25928)
     add 83b7fa92af feat: Adds Line chart migration logic (#23973)
     add b6fb36f22b chore: removing unused chartMetadata field (#25926)
     add 84a894c2c7 chore(issue template): attempting to fix two entries/links 
(#25881)
     add 478ca904ae build(deps): bump axios from 1.4.0 to 1.6.1 in 
/superset-frontend (#25951)
     add d95c200e69 fix: update flask-caching to avoid breaking redis cache, 
solves #25339 (#25947)
     add b430b5a172 chore: Simplify views/base (#25948)
     add c3249dd97d test: Reduce flaky integration tests triggered by 
`test_get_tag` (#25958)
     add 3bff1a00b6 build(deps-dev): bump @types/uuid from 9.0.6 to 9.0.7 in 
/superset-websocket (#25929)
     add 943696a87f build(deps-dev): bump @types/jsonwebtoken from 9.0.4 to 
9.0.5 in /superset-websocket (#25927)
     add 8d8e1bb637 fix: always denorm column value before querying values 
(#25919)
     add 6d8424c104 chore(colors): Updating Airbnb brand colors (#23619)
     add 99d4f8931a build(deps-dev): bump axios from 0.25.0 to 1.6.0 in 
/superset-embedded-sdk (#25953)
     add 5def416f63 fix: naming denomalized to denormalized in helpers.py 
(#25973)
     add 007d22199d chore: support different JWT CSRF cookie names (#25891)
     add 6b7761ecf2 chore: Add entry point for SliceHeader frontend extension 
(#25968)
     add f6ba75a185 feat(explore): dataset macro: dttm filter context (#25950)
     add f18fb24b3d fix(sqllab): Allow router navigation to explore (#25941)
     add 5e1c4057a0 fix(helm): Restart all related deployments when bootstrap 
script changed (#25703)
     add f22ae2dc51 docs: add Tentacle to users list (#25059)
     add 63b8172321 style: Transition of Navbar from dark to light and 
vice-versa is now smooth (#24485)
     add aee94b39ba fix(tag): update state to clear form on success (#25934)
     add d20b60edd4 chore: Remove more redundant code in utils/core (#25986)
     add 7f0c3b20ad docs: handling "System limit for number of file watchers 
reached" error (#25551)
     add 97d89d7340 feat: Adds Area chart migration logic (#25952)
     add 210f1f8f95 fix(rls): Update text from tables to datasets in RLS modal 
(#25997)
     add 5fccf67cdc fix: Make Select component fire onChange listener when a 
selection is pasted in (#25993)
     add e7a1876807 fix(explore): redandant force param (#25985)
     add 326ac4a6c4 chore: Optimize fetching samples logic (#25995)
     add bece2ea3e4 chore: Remove unnecessary autoflush from tagging and 
key/value workflows (#26009)
     add 5942d8bf68 build(deps-dev): bump @types/node from 20.9.0 to 20.9.1 in 
/superset-websocket (#26012)
     add 2499a1cf5a chore: cleanup unused code in pandas 2.0+ (#26013)
     add 411dba240b build(deps-dev): bump eslint from 8.53.0 to 8.54.0 in 
/superset-websocket (#26025)
     add 8d73ab9955 feat(sqllab): TRINO_EXPAND_ROWS: expand columns from ROWs 
(#25809)
     add 92ac6b2c15 feat(sqllab): Show duration as separate column in Query 
History view (#25861)
     add e1d73d5420 fix(native filters): rendering performance improvement by 
reduce overrendering (#25901)
     add 628cd345f2 fix: update FAB to 4.3.10, Azure user info fix (#26037)
     add e2bfb1216b feat(sqllab): non-blocking persistence mode (#24539)
     add e7797b65d1 fix(horizontal filter bar filter labels): Increase 
max-width to 96px (#25883)
     add dd58b31cc4 chore(sqlalchemy): Remove erroneous SQLAlchemy ORM 
session.merge operations (#24776)
     add bba7763825 fix(security): restore default value of 
SESSION_COOKIE_SECURE to False (#26005)
     add 1af5fbbd6a docs(BH#109): Athena URI spec fix  (#26044)
     add b5e7e707b3 chore: Allow external extensions to include their own 
package.json files (#26004)
     add fbc66a8177 chore: bump shillelagh (#26043)
     add f99c874962 feat(metadb): handle decimals (#25921)
     add adb86d35ec build(deps-dev): bump @types/ws from 8.5.9 to 8.5.10 in 
/superset-websocket (#26048)
     add 9452664079 build(deps-dev): bump @types/node from 20.9.1 to 20.9.3 in 
/superset-websocket (#26049)
     add 25a737e83c fix: Remove annotation Fuzzy to get french translation 
(#26010)
     add f934278fef docs(intro): fix a single broken link (BugHerd #97) (#26039)
     add 68e5e1afea feat: Add Bubble chart migration logic (#26033)
     add 07551dc3d4 chore(connector): Cleanup base models and views according 
to SIP-92 (#24773)
     add 97121465dd feat: Add Apache Doris support (#24714)
     add bd8951e958 fix: Optimize fetching samples logic (#26060)
     add 630734b908 fix: Prevent cached bootstrap data from leaking between 
users w/ same first/last name (#26023)
     add 260d561b9a docs: update security policy and contributing (#25917)
     add 843c7ab58a chore: Allow only iterables for BaseDAO.delete() (#25844)
     add 2b88225ee1 fix: Flaky test_explore_json_async test (#26059)
     add 6359086779 fix: move driver import to method (#26066)
     add fef82789b1 build(deps): bump @types/lodash from 4.14.201 to 4.14.202 
in /superset-websocket (#26063)
     add b1f521263d build(deps-dev): bump @types/node from 20.9.3 to 20.9.4 in 
/superset-websocket (#26064)
     add 984c278c4c chore: Updates Announce template to include CHANGELOG.md 
and UPDATING.md files (#26073)
     add 07bcfa9b5f chore(command): Organize Commands according to SIP-92 
(#25850)
     add 57d61df44d chore: Adds 3.0.2 data to CHANGELOG.md (#26075)
     add aad67e43db fix(plugin-chart-echarts): support numerical x-axis (#26087)
     add 4fc2758e6a fix: bump node-fetch to 2.6.7 (#26091)
     add d20f96f8d0 docs(databases): Update pinot.mdx to incorporate username 
and password based connection. (#26000)
     add 3bf9698781 Adding scarf pixel
     add f71c27757a faux query variables
     add 2d704b22db Adding pixel component and FF
     add f876364290 bumping react types to allow referrer policy
     add 960d6fbb34 Passing version/sha/build to pixel
     add 9dbbefa6d0 more bump action
     add ee21914159 fiddling with pixel/package path
     add cf6bd9af78 touchups
     add c2442ae5b4 more linting
     add db5c2df057 fixing talisman config
     add 8d6f19d40e linting
     add a80de0c62f line too long... seems like the linter could just fix this 
:/
     add bd97de7372 more linting?! <shakes fist>
     add f4292e3d8e fixing linting, adding docstrings
     add 2fabe99f4c hide the darn image
     add e08ef7739f linting
     add a8e3bf9a12 fixing RTL tests

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   (fd0dfbe098)
            \
             N -- N -- N   refs/heads/scarf-pixel (a8e3bf9a12)

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/ISSUE_TEMPLATE/config.yml                  |  12 +
 .github/ISSUE_TEMPLATE/sip.md                      |   4 +-
 .github/SECURITY.md                                |   4 +-
 .github/workflows/docker-release.yml               |   3 +-
 .github/workflows/docker.yml                       |   2 +-
 .github/workflows/superset-python-misc.yml         |   7 +-
 CHANGELOG.md                                       | 100 +++
 CONTRIBUTING.md                                    |  72 +-
 README.md                                          |  30 +-
 RELEASING/email_templates/announce.j2              |   6 +
 RESOURCES/INTHEWILD.md                             |   3 +
 docker-compose.yml                                 |   6 +
 docs/docs/databases/databend.mdx                   |  23 +
 docs/docs/databases/doris.mdx                      |  26 +
 .../docs/databases/installing-database-drivers.mdx |  83 +--
 docs/docs/databases/pinot.mdx                      |   6 +
 docs/docs/frequently-asked-questions.mdx           |   2 +-
 docs/docs/installation/alerts-reports.mdx          |  31 +-
 docs/docs/installation/async-queries-celery.mdx    |  25 +-
 docs/docs/installation/cache.mdx                   |   5 +-
 docs/docs/installation/configuring-superset.mdx    |  51 +-
 .../installing-superset-from-scratch.mdx           |   6 +-
 docs/docs/installation/running-on-kubernetes.mdx   |  40 +-
 docs/docs/intro.mdx                                |   2 +-
 docs/docs/security/security.mdx                    |  51 +-
 docs/docusaurus.config.js                          |   2 +-
 docs/src/resources/data.js                         |   5 +
 docs/src/styles/main.less                          |   1 +
 docs/static/img/databases/doris.png                | Bin 0 -> 11539 bytes
 docs/static/resources/openapi.json                 |   8 +-
 helm/superset/Chart.yaml                           |   4 +-
 helm/superset/README.md                            |   5 +-
 helm/superset/templates/_helpers.tpl               |  13 +-
 helm/superset/templates/deployment-beat.yaml       |   1 +
 helm/superset/templates/deployment-worker.yaml     |   1 +
 helm/superset/templates/init-job.yaml              |   3 +
 helm/superset/values.yaml                          |   4 +-
 pytest.ini                                         |   2 +-
 requirements/base.txt                              |  36 +-
 requirements/development.txt                       |   7 -
 requirements/integration.txt                       |   3 +-
 requirements/testing.txt                           |  11 +-
 .../workflows => scripts}/docker_build_push.sh     |  51 +-
 scripts/sign.sh                                    |   3 +-
 scripts/tag_latest_release.sh                      | 140 ++--
 setup.py                                           |  17 +-
 superset-embedded-sdk/package-lock.json            |  73 +-
 superset-embedded-sdk/package.json                 |   2 +-
 .../cypress/e2e/dashboard/editmode.test.ts         |   6 +-
 .../e2e/explore/visualizations/dist_bar.test.js    |   2 +-
 .../e2e/explore/visualizations/line.test.ts        |   2 +-
 superset-frontend/lerna.json                       |   2 +-
 superset-frontend/package-lock.json                | 350 +++++++++-
 superset-frontend/package.json                     |   6 +-
 .../src/shared-controls/sharedControls.tsx         |   9 +-
 .../src/chart/models/ChartMetadata.ts              |   5 -
 .../superset-ui-core/src/chart/types/Base.ts       |   1 -
 .../src/color/colorSchemes/categorical/airbnb.ts   |  34 +-
 .../packages/superset-ui-core/src/color/index.ts   |   1 +
 .../packages/superset-ui-core/src/color/types.ts   |   7 +
 .../packages/superset-ui-core/src/color/utils.ts   |  33 +
 .../src/query/normalizeTimeColumn.ts               |   5 +-
 .../superset-ui-core/src/ui-overrides/types.ts     |  19 +
 .../superset-ui-core/src/utils/html.test.tsx       |   3 +
 .../packages/superset-ui-core/src/utils/html.tsx   |   4 +-
 .../superset-ui-core/src/validator/index.ts        |   1 -
 .../src/validator/validateMaxValue.ts              |   8 -
 .../superset-ui-core/test/color/utils.test.ts      |  26 +-
 .../test/query/normalizeTimeColumn.test.ts         |   8 +-
 .../test/validator/validateMaxValue.test.ts        |  38 -
 .../legacy-plugin-chart-map-box/Stories.tsx        |   2 +-
 .../src/countries.ts                               |   5 +
 .../src/countries/france_regions.geojson           |  20 +
 .../src/ReactParallelCoordinates.jsx               |   2 +-
 .../legacy-preset-chart-nvd3/src/ReactNVD3.jsx     |   2 +-
 .../src/Bubble/transformProps.ts                   |  11 +-
 .../src/Funnel/controlPanel.tsx                    |  45 +-
 .../src/Funnel/transformProps.ts                   |   9 +-
 .../plugin-chart-echarts/src/Funnel/types.ts       |   3 +
 .../src/MixedTimeseries/transformProps.ts          |   8 +-
 .../src/Timeseries/transformProps.ts               |  23 +-
 .../src/Timeseries/transformers.ts                 |  28 -
 .../src/Waterfall/EchartsWaterfall.tsx             |  58 +-
 .../src/Waterfall/buildQuery.ts                    |  16 +-
 .../src/Waterfall/controlPanel.tsx                 |  80 ++-
 .../src/Waterfall/images/example1.png              | Bin 0 -> 69717 bytes
 .../src/Waterfall/images/example2.png              | Bin 0 -> 51985 bytes
 .../src/Waterfall/images/example3.png              | Bin 0 -> 57935 bytes
 .../src/Waterfall/images/thumbnail.png             | Bin 77020 -> 54196 bytes
 .../plugin-chart-echarts/src/Waterfall/index.ts    |  19 +-
 .../src/Waterfall/transformProps.ts                | 349 +++++----
 .../plugin-chart-echarts/src/Waterfall/types.ts    |  36 +-
 .../utils/{getYAxisFormatter.ts => formatters.ts}  |  28 +
 .../plugin-chart-echarts/src/utils/series.ts       |   9 +-
 .../test/MixedTimeseries/buildQuery.test.ts        |   1 +
 .../test/Timeseries/buildQuery.test.ts             |   4 +-
 .../test/Waterfall/buildQuery.test.ts              |  11 +-
 .../test/Waterfall/transformProps.test.ts          | 112 ++-
 .../plugin-chart-echarts/test/utils/series.test.ts |   9 +
 .../src/plugin/buildQuery.ts                       |   6 +-
 .../test/plugin/buildQuery.test.ts                 |  13 +
 .../plugins/plugin-chart-table/src/TableChart.tsx  |  12 +-
 .../plugin-chart-table/src/transformProps.ts       |   7 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |  59 ++
 superset-frontend/src/SqlLab/actions/sqlLab.js     | 309 ++------
 .../src/SqlLab/actions/sqlLab.test.js              | 195 ++----
 .../SqlLab/components/AceEditorWrapper/index.tsx   |   6 +-
 .../EditorAutoSync/EditorAutoSync.test.tsx         | 137 ++++
 .../src/SqlLab/components/EditorAutoSync/index.tsx | 106 +++
 .../components/KeyboardShortcutButton/index.tsx    |   2 +
 .../QueryLimitSelect/QueryLimitSelect.test.tsx     |  59 +-
 .../SqlLab/components/QueryLimitSelect/index.tsx   |  13 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |   6 +-
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |   2 +-
 .../src/SqlLab/components/ResultSet/index.tsx      |  21 +-
 .../components/SaveDatasetActionButton/index.tsx   |   2 +-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |   2 +-
 .../SqlLab/components/SaveDatasetModal/index.tsx   |   2 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |  25 +-
 superset-frontend/src/SqlLab/fixtures.ts           |   2 +
 .../middlewares/persistSqlLabStateEnhancer.js      |  36 +
 .../src/SqlLab/reducers/getInitialState.test.ts    | 113 ++-
 .../src/SqlLab/reducers/getInitialState.ts         |  76 +-
 superset-frontend/src/SqlLab/reducers/sqlLab.js    |  64 +-
 .../src/SqlLab/reducers/sqlLab.test.js             |  35 +
 superset-frontend/src/SqlLab/types.ts              |  10 +-
 .../src/SqlLab/utils/emptyQueryResults.test.js     |   7 +-
 .../SqlLab/utils/reduxStateToLocalStorageHelper.js |   1 +
 .../branding/superset-logo-horiz-apache-dark.png   | Bin 0 -> 97457 bytes
 .../branding/superset-logo-horiz-apache-dark.svg   |  52 ++
 superset-frontend/src/assets/images/databend.png   | Bin 0 -> 7318 bytes
 superset-frontend/src/assets/images/doris.png      | Bin 0 -> 11539 bytes
 .../src/components/ButtonGroup/index.tsx           |   6 +-
 superset-frontend/src/components/Chart/Chart.jsx   |   2 +-
 .../src/components/Chart/chartAction.js            |  21 +-
 .../src/components/Chart/chartActions.test.js      |   4 +-
 .../src/components/Collapse/Collapse.test.tsx      |   3 +-
 .../src/components/Datasource/DatasourceEditor.jsx |   4 +-
 .../components/Datasource/DatasourceModal.test.jsx | 156 +++--
 .../src/components/Datasource/DatasourceModal.tsx  |  22 +-
 .../src/components/DropdownButton/index.tsx        |   2 +-
 .../components/DropdownSelectableIcon/index.tsx    |   2 +-
 .../src/components/ErrorMessage/types.ts           |   9 -
 .../FilterableTable/FilterableTable.test.tsx       |  20 +-
 .../src/components/FilterableTable/index.tsx       | 136 +---
 .../FilterableTable/useCellContentParser.test.ts   |  58 ++
 .../FilterableTable/useCellContentParser.ts        |  69 ++
 .../src/components/FilterableTable/utils.test.tsx  |  79 +++
 .../src/components/FilterableTable/utils.tsx       |  59 ++
 .../src/components/JsonModal/JsonModal.test.tsx    |  60 ++
 .../src/components/JsonModal/index.tsx             | 112 +++
 .../components/MetadataBar/MetadataBar.test.tsx    |   3 +-
 .../src/components/Select/AsyncSelect.test.tsx     |  42 ++
 .../src/components/Select/AsyncSelect.tsx          |   1 +
 .../src/components/Select/Select.test.tsx          |  42 ++
 superset-frontend/src/components/Select/Select.tsx |   3 +-
 superset-frontend/src/components/Tags/Tag.test.tsx |  21 +
 superset-frontend/src/components/Tags/Tag.tsx      |  62 +-
 superset-frontend/src/components/Tags/TagsList.tsx |   6 +-
 .../src/components/Tags/utils.test.tsx             |  19 +
 superset-frontend/src/components/Tags/utils.tsx    |   2 +-
 superset-frontend/src/constants.ts                 |   4 +
 .../src/dashboard/components/Dashboard.jsx         |  15 +-
 .../src/dashboard/components/Dashboard.test.jsx    |  13 +-
 .../dashboard/components/FiltersBadge/index.tsx    |   2 +-
 .../HeaderActionsDropdown.test.tsx                 |   9 +-
 .../Header/HeaderActionsDropdown/index.jsx         |  47 +-
 .../components/SliceHeader/SliceHeader.test.tsx    |  13 +
 .../src/dashboard/components/SliceHeader/index.tsx |  11 +-
 .../SyncDashboardState.test.tsx}                   |  25 +-
 .../components/SyncDashboardState/index.tsx        | 103 +++
 .../DownloadMenuItems/DownloadAsImage.test.tsx     |  42 ++
 .../menu/DownloadMenuItems/DownloadAsImage.tsx     |  37 +
 .../menu/DownloadMenuItems/DownloadAsPdf.test.tsx  |  42 ++
 .../menu/DownloadMenuItems/DownloadAsPdf.tsx       |  37 +
 .../DownloadMenuItems/DownloadMenuItems.test.tsx   |  25 +
 .../components/menu/DownloadMenuItems/index.tsx    |  62 ++
 .../FilterBar/FilterControls/FilterControl.tsx     |   8 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |   3 +-
 .../FiltersConfigForm/DatasetSelect.tsx            |  29 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |  11 +-
 .../FiltersConfigModal/FiltersConfigForm/utils.ts  |  12 -
 .../src/dashboard/containers/Dashboard.ts          |   2 -
 .../src/dashboard/containers/DashboardPage.tsx     |  94 +--
 superset-frontend/src/dataMask/reducer.ts          |   1 -
 .../src/explore/actions/saveModalActions.js        |  19 +-
 .../src/explore/actions/saveModalActions.test.js   |  53 ++
 .../components/ExploreChartHeader/index.jsx        |   4 +-
 .../src/explore/components/SaveModal.test.jsx      |  35 +-
 .../src/explore/components/SaveModal.tsx           |  23 +-
 .../components/controls/ColorPickerControl.jsx     |   7 +-
 .../controls/DatasourceControl/index.jsx           |  37 +-
 .../components/controls/ViewQueryModalFooter.tsx   |  33 +-
 .../controls/VizTypeControl/VizTypeGallery.tsx     |   1 +
 .../useExploreAdditionalActionsMenu/index.jsx      |   2 +-
 .../databases/DatabaseModal/ExtraOptions.tsx       |  24 +-
 .../databases/DatabaseModal/index.test.tsx         |  17 +-
 .../src/features/databases/DatabaseModal/index.tsx |  12 +
 superset-frontend/src/features/databases/types.ts  |   3 +
 .../features/datasets/DatasetSelectLabel/index.tsx | 136 ++++
 superset-frontend/src/features/home/Menu.test.tsx  |   6 +-
 superset-frontend/src/features/home/Menu.tsx       |  30 +-
 .../queries/SavedQueryPreviewModal.test.jsx        |   2 +-
 .../features/queries/SavedQueryPreviewModal.tsx    |   6 +-
 .../src/features/rls/RowLevelSecurityModal.tsx     |   4 +-
 .../src/features/tags/BulkTagModal.tsx             |  13 +-
 superset-frontend/src/features/tags/TagModal.tsx   |  43 +-
 .../components/Select/SelectFilterPlugin.test.tsx  |  24 -
 .../components/Select/SelectFilterPlugin.tsx       |  41 +-
 superset-frontend/src/filters/components/common.ts |   4 +-
 .../src/hooks/apiResources/sqlEditorTabs.test.ts   |  99 +++
 .../src/hooks/apiResources/sqlEditorTabs.ts        |  70 ++
 superset-frontend/src/hooks/apiResources/sqlLab.ts |   2 +-
 superset-frontend/src/hooks/useDebounceValue.ts    |   4 +-
 superset-frontend/src/logger/LogUtils.ts           |   3 +
 superset-frontend/src/pages/AllEntities/index.tsx  |  31 +-
 .../src/pages/ChartCreation/index.tsx              |  76 +-
 .../src/pages/ChartList/ChartList.test.jsx         |  42 +-
 superset-frontend/src/pages/ChartList/index.tsx    |   9 +-
 .../src/pages/DashboardList/DashboardList.test.jsx |  41 +-
 .../src/pages/DashboardList/index.tsx              |  10 +-
 .../src/pages/QueryHistoryList/index.tsx           |  40 +-
 .../pages/SavedQueryList/SavedQueryList.test.jsx   |  39 +-
 .../src/pages/SavedQueryList/index.tsx             |  40 +-
 superset-frontend/src/pages/SqlLab/index.tsx       |  12 +-
 superset-frontend/src/pages/Tags/index.tsx         |  26 +-
 superset-frontend/src/setup/setupClient.ts         |   7 +-
 superset-frontend/src/types/TagType.ts             |   1 +
 superset-frontend/src/types/dom-to-pdf.d.ts        |  19 +
 superset-frontend/src/utils/colorUtils.ts          |  50 --
 superset-frontend/src/utils/downloadAsImage.ts     |   2 +-
 .../utils/{downloadAsImage.ts => downloadAsPdf.ts} |  42 +-
 superset-frontend/src/utils/errorMessages.ts       |   1 +
 superset-frontend/src/utils/hostNamesConfig.js     |   7 +-
 superset-frontend/src/views/store.ts               |   5 +-
 superset-websocket/README.md                       |   2 +-
 superset-websocket/config.example.json             |   1 +
 superset-websocket/config.test.json                |   5 +-
 superset-websocket/package-lock.json               | 732 ++++++++++++-------
 superset-websocket/package.json                    |  16 +-
 superset-websocket/spec/config.test.ts             |  10 +-
 superset-websocket/spec/index.test.ts              |  29 +-
 superset-websocket/src/config.ts                   |  28 +-
 superset-websocket/src/index.ts                    |  55 +-
 superset/annotation_layers/annotations/api.py      |  28 +-
 superset/annotation_layers/api.py                  |  22 +-
 superset/charts/api.py                             |  30 +-
 superset/charts/data/api.py                        |  18 +-
 superset/charts/data/query_context_cache_loader.py |   2 +-
 superset/charts/post_processing.py                 |   2 +-
 superset/charts/schemas.py                         |   4 +-
 superset/cli/importexport.py                       |  16 +-
 superset/cli/viz_migrations.py                     |  14 +-
 .../annotation_layer}/__init__.py                  |   0
 .../annotation_layer/annotation}/__init__.py       |   0
 .../annotation_layer/annotation}/create.py         |   6 +-
 .../annotation_layer/annotation}/delete.py         |   4 +-
 .../annotation_layer/annotation}/exceptions.py     |   0
 .../annotation_layer/annotation}/update.py         |   6 +-
 .../annotation_layer}/create.py                    |   4 +-
 .../annotation_layer}/delete.py                    |   4 +-
 .../annotation_layer}/exceptions.py                |   0
 .../annotation_layer}/update.py                    |   4 +-
 .../commands => commands/chart}/__init__.py        |   0
 .../{charts/commands => commands/chart}/create.py  |   4 +-
 .../importers => commands/chart/data}/__init__.py  |   0
 .../chart/data}/create_async_job_command.py        |   0
 .../chart/data}/get_data_command.py                |   4 +-
 .../{charts/commands => commands/chart}/delete.py  |   4 +-
 .../commands => commands/chart}/exceptions.py      |   0
 .../{charts/commands => commands/chart}/export.py  |   4 +-
 .../chart/importers}/__init__.py                   |   0
 .../chart}/importers/dispatcher.py                 |   2 +-
 .../chart}/importers/v1/__init__.py                |  10 +-
 .../chart}/importers/v1/utils.py                   |   1 -
 .../{charts/commands => commands/chart}/update.py  |   4 +-
 .../commands => commands/chart}/warm_up_cache.py   |   6 +-
 .../{connectors/base => commands/css}/__init__.py  |   0
 .../commands => commands/css}/delete.py            |   2 +-
 .../commands => commands/css}/exceptions.py        |   0
 .../commands => commands/dashboard}/__init__.py    |   0
 .../commands => commands/dashboard}/create.py      |  11 +-
 .../commands => commands/dashboard}/delete.py      |   8 +-
 .../dashboard/embedded}/__init__.py                |   0
 .../dashboard/embedded}/exceptions.py              |   0
 .../commands => commands/dashboard}/exceptions.py  |   0
 .../commands => commands/dashboard}/export.py      |   8 +-
 .../dashboard/filter_set}/__init__.py              |   0
 .../dashboard/filter_set}/base.py                  |   8 +-
 .../dashboard/filter_set}/create.py                |   6 +-
 .../dashboard/filter_set}/delete.py                |  10 +-
 .../dashboard/filter_set}/exceptions.py            |   0
 .../dashboard/filter_set}/update.py                |   6 +-
 .../dashboard/filter_state}/__init__.py            |   0
 .../dashboard/filter_state}/create.py              |   8 +-
 .../dashboard/filter_state}/delete.py              |  10 +-
 .../dashboard/filter_state}/get.py                 |   6 +-
 .../dashboard/filter_state}/update.py              |  10 +-
 .../dashboard/filter_state}/utils.py               |   6 +-
 .../dashboard/importers}/__init__.py               |   0
 .../dashboard}/importers/dispatcher.py             |   2 +-
 .../dashboard}/importers/v0.py                     |   2 +-
 .../dashboard}/importers/v1/__init__.py            |  16 +-
 .../dashboard}/importers/v1/utils.py               |   0
 .../dashboard/permalink}/__init__.py               |   0
 .../dashboard/permalink}/base.py                   |   0
 .../dashboard/permalink}/create.py                 |   4 +-
 .../dashboard/permalink}/get.py                    |   6 +-
 .../commands => commands/dashboard}/update.py      |   9 +-
 .../commands => commands/database}/__init__.py     |   0
 .../commands => commands/database}/create.py       |  12 +-
 .../commands => commands/database}/delete.py       |  10 +-
 .../commands => commands/database}/exceptions.py   |   0
 .../commands => commands/database}/export.py       |   2 +-
 .../database}/importers/__init__.py                |   0
 .../database}/importers/dispatcher.py              |   2 +-
 .../database}/importers/v1/__init__.py             |   6 +-
 .../database}/importers/v1/utils.py                |   0
 .../database/ssh_tunnel}/__init__.py               |   0
 .../database/ssh_tunnel}/create.py                 |   6 +-
 .../database/ssh_tunnel}/delete.py                 |   8 +-
 .../database/ssh_tunnel}/exceptions.py             |   0
 .../database/ssh_tunnel}/update.py                 |   6 +-
 .../commands => commands/database}/tables.py       |   6 +-
 .../database}/test_connection.py                   |   8 +-
 .../commands => commands/database}/update.py       |  12 +-
 .../commands => commands/database}/validate.py     |   4 +-
 .../commands => commands/database}/validate_sql.py |   4 +-
 .../commands => commands/dataset}/__init__.py      |   0
 .../dataset/columns}/__init__.py                   |   0
 .../dataset/columns}/delete.py                     |  10 +-
 .../dataset/columns}/exceptions.py                 |   0
 .../commands => commands/dataset}/create.py        |   6 +-
 .../commands => commands/dataset}/delete.py        |   8 +-
 .../commands => commands/dataset}/duplicate.py     |  10 +-
 .../commands => commands/dataset}/exceptions.py    |   0
 .../commands => commands/dataset}/export.py        |   2 +-
 .../dataset}/importers/__init__.py                 |   0
 .../dataset}/importers/dispatcher.py               |   2 +-
 .../commands => commands/dataset}/importers/v0.py  |  32 +-
 .../dataset}/importers/v1/__init__.py              |   6 +-
 .../dataset}/importers/v1/utils.py                 |   2 +-
 .../dataset/metrics}/__init__.py                   |   0
 .../dataset/metrics}/delete.py                     |  10 +-
 .../dataset/metrics}/exceptions.py                 |   0
 .../commands => commands/dataset}/refresh.py       |   6 +-
 .../commands => commands/dataset}/update.py        |  13 +-
 .../commands => commands/dataset}/warm_up_cache.py |   8 +-
 .../commands => commands/explore}/__init__.py      |   0
 .../explore/form_data}/__init__.py                 |   0
 .../explore/form_data}/create.py                   |   8 +-
 .../explore/form_data}/delete.py                   |  10 +-
 .../commands => commands/explore/form_data}/get.py |   8 +-
 .../explore/form_data}/parameters.py               |   0
 .../explore/form_data}/state.py                    |   0
 .../explore/form_data}/update.py                   |  12 +-
 .../explore/form_data}/utils.py                    |   8 +-
 .../{explore/commands => commands/explore}/get.py  |  15 +-
 .../commands => commands/explore}/parameters.py    |   0
 .../explore/permalink}/__init__.py                 |   0
 .../explore/permalink}/base.py                     |   0
 .../explore/permalink}/create.py                   |   4 +-
 .../commands => commands/explore/permalink}/get.py |   6 +-
 superset/commands/export/assets.py                 |  10 +-
 superset/commands/importers/v1/assets.py           |  22 +-
 superset/commands/importers/v1/examples.py         |  22 +-
 superset/commands/importers/v1/utils.py            |   2 +
 .../commands => commands/key_value}/__init__.py    |   0
 .../commands => commands/key_value}/create.py      |   0
 .../commands => commands/key_value}/delete.py      |   8 +-
 .../key_value}/delete_expired.py                   |   0
 .../commands => commands/key_value}/get.py         |   7 +-
 .../commands => commands/key_value}/update.py      |   6 +-
 .../commands => commands/key_value}/upsert.py      |   8 +-
 .../commands => commands/query}/__init__.py        |   0
 .../commands => commands/query}/delete.py          |   8 +-
 .../commands => commands/query}/exceptions.py      |   0
 .../commands => commands/query}/export.py          |   2 +-
 .../query/importers}/__init__.py                   |   0
 .../query}/importers/dispatcher.py                 |   2 +-
 .../query}/importers/v1/__init__.py                |   8 +-
 .../query}/importers/v1/utils.py                   |   0
 .../importers => commands/report}/__init__.py      |   0
 .../{reports/commands => commands/report}/alert.py |   2 +-
 .../{reports/commands => commands/report}/base.py  |   6 +-
 .../commands => commands/report}/create.py         |  10 +-
 .../commands => commands/report}/delete.py         |   8 +-
 .../commands => commands/report}/exceptions.py     |   0
 .../commands => commands/report}/execute.py        |  26 +-
 .../commands => commands/report}/log_prune.py      |   2 +-
 .../commands => commands/report}/update.py         |  12 +-
 .../commands => commands/security}/__init__.py     |   0
 .../commands => commands/security}/create.py       |   0
 .../commands => commands/security}/delete.py       |   8 +-
 .../commands => commands/security}/exceptions.py   |   0
 .../commands => commands/security}/update.py       |   2 +-
 .../commands => commands/sql_lab}/__init__.py      |   0
 .../commands => commands/sql_lab}/estimate.py      |   0
 .../commands => commands/sql_lab}/execute.py       |   0
 .../commands => commands/sql_lab}/export.py        |   0
 .../commands => commands/sql_lab}/results.py       |   0
 .../{sqllab/commands => commands/tag}/__init__.py  |   0
 superset/{tags/commands => commands/tag}/create.py |  44 +-
 superset/{tags/commands => commands/tag}/delete.py |  12 +-
 .../{tags/commands => commands/tag}/exceptions.py  |   0
 superset/{tags/commands => commands/tag}/update.py |  10 +-
 superset/{tags/commands => commands/tag}/utils.py  |  16 +-
 .../temporary_cache}/__init__.py                   |   0
 .../temporary_cache}/create.py                     |   4 +-
 .../temporary_cache}/delete.py                     |   4 +-
 .../commands => commands/temporary_cache}/entry.py |   0
 .../temporary_cache}/exceptions.py                 |   0
 .../commands => commands/temporary_cache}/get.py   |   4 +-
 .../temporary_cache}/parameters.py                 |   0
 .../temporary_cache}/update.py                     |   4 +-
 superset/commands/utils.py                         |   2 +-
 superset/common/query_actions.py                   |   2 +-
 superset/common/query_context.py                   |   2 +-
 superset/common/query_context_factory.py           |   3 +-
 superset/common/query_context_processor.py         |  11 +-
 superset/common/query_object.py                    |   2 +-
 superset/common/query_object_factory.py            |  95 +--
 superset/common/tags.py                            |  26 +-
 superset/config.py                                 |  50 +-
 superset/connectors/base/models.py                 | 776 ---------------------
 superset/connectors/base/views.py                  |  48 --
 superset/connectors/sqla/models.py                 | 691 ++++++++++++++++--
 superset/connectors/sqla/views.py                  |   3 +-
 superset/css_templates/api.py                      |   6 +-
 .../daos/{annotation.py => annotation_layer.py}    |   0
 superset/daos/base.py                              |  13 +-
 superset/daos/chart.py                             |   2 +-
 superset/daos/dashboard.py                         |  15 +-
 superset/daos/dataset.py                           |   6 +-
 superset/daos/tag.py                               |  38 +-
 superset/dashboards/api.py                         |  23 +-
 superset/dashboards/filter_sets/api.py             |  14 +-
 superset/dashboards/filter_state/api.py            |   8 +-
 superset/dashboards/permalink/api.py               |  10 +-
 superset/dashboards/schemas.py                     |   4 +-
 superset/databases/api.py                          |  46 +-
 superset/databases/schemas.py                      |   6 +-
 superset/databases/utils.py                        |   2 +-
 superset/datasets/api.py                           |  32 +-
 superset/datasets/columns/api.py                   |   8 +-
 superset/datasets/metrics/api.py                   |   8 +-
 superset/datasource/api.py                         |   4 +
 superset/db_engine_specs/__init__.py               |  39 +-
 superset/db_engine_specs/base.py                   |  32 +-
 superset/db_engine_specs/databend.py               | 353 ++++++++++
 superset/db_engine_specs/doris.py                  | 278 ++++++++
 superset/db_engine_specs/dremio.py                 |  34 +-
 superset/db_engine_specs/druid.py                  |  11 -
 superset/db_engine_specs/elasticsearch.py          |  17 +-
 superset/db_engine_specs/hive.py                   |   8 +-
 superset/db_engine_specs/presto.py                 |   7 +-
 superset/db_engine_specs/trino.py                  |  96 ++-
 superset/embedded/api.py                           |   6 +-
 superset/embedded/view.py                          |   4 +-
 superset/examples/bart_lines.py                    |   2 +-
 superset/examples/country_map.py                   |   2 +-
 superset/examples/css_templates.py                 |   4 +-
 superset/examples/deck.py                          |   2 +-
 superset/examples/energy.py                        |   2 +-
 superset/examples/flights.py                       |   2 +-
 superset/examples/long_lat.py                      |   2 +-
 superset/examples/misc_dashboard.py                |   2 +-
 superset/examples/multiformat_time_series.py       |   2 +-
 superset/examples/paris.py                         |   2 +-
 superset/examples/random_time_series.py            |   2 +-
 superset/examples/sf_population_polygons.py        |   2 +-
 superset/examples/tabbed_dashboard.py              |   3 +-
 superset/examples/world_bank.py                    |  18 +-
 superset/explore/api.py                            |  14 +-
 superset/explore/form_data/api.py                  |  18 +-
 superset/explore/permalink/api.py                  |  10 +-
 superset/explore/utils.py                          |  10 +-
 superset/extensions/metadb.py                      |  40 +-
 superset/extensions/metastore_cache.py             |  10 +-
 superset/initialization/__init__.py                |   6 +
 superset/jinja_context.py                          |  89 ++-
 superset/key_value/shared_entries.py               |   4 +-
 superset/migrations/shared/migrate_viz/base.py     |  20 +-
 .../migrations/shared/migrate_viz/processors.py    | 150 +++-
 superset/migrations/shared/security_converge.py    |   1 -
 ..._08-54_c3a8f8611885_materializing_permission.py |   1 -
 ...-09-07_23-50_33d996bcc382_update_slice_model.py |   2 -
 ...4_12-31_db0c65b146bd_update_slice_model_json.py |   1 -
 ...7c195a_rewriting_url_from_shortner_with_new_.py |   1 -
 ...-08_08-19_67a6ac9b727b_update_spatial_params.py |   1 -
 ...2-17_11-06_21e88bc06c02_annotation_migration.py |   2 -
 .../2018-02-13_08-07_e866bd2d4976_smaller_grid.py  |   2 -
 ...9_bf706ae5eb46_cal_heatmap_metric_to_metrics.py |   1 -
 ..._bebcf3fed1fe_convert_dashboard_v1_positions.py |   1 -
 ...8-07-26_11-10_c82ee8a39623_add_implicit_tags.py |   6 +-
 .../versions/2018-08-01_11-47_7fcdcde0761c_.py     |   1 -
 ...a3f04bc82_add_parent_ids_in_dashboard_layout.py |   2 -
 ...er_sql_column_data_type_in_query_mysql_table.py |   2 +-
 ...8ea_change_table_schema_description_to_long_.py |   2 +-
 ..._14-13_3325d4caccc8_dashboard_scoped_filters.py |   2 -
 ...978245563a02_migrate_iframe_to_dash_markdown.py |   1 -
 ...b56500de1855_add_uuid_column_to_import_mixin.py |   1 -
 ...1412ec1e5a7b_legacy_force_directed_to_echart.py |   2 -
 ...665d_fix_table_chart_conditional_formatting_.py |   1 -
 superset/models/core.py                            |  15 +-
 superset/models/dashboard.py                       |   8 +-
 superset/models/helpers.py                         |  81 +--
 superset/models/slice.py                           |   2 +-
 superset/queries/saved_queries/api.py              |  16 +-
 superset/reports/api.py                            |  16 +-
 superset/row_level_security/api.py                 |   8 +-
 superset/security/api.py                           |   2 +-
 superset/security/manager.py                       |  43 +-
 superset/sql_lab.py                                |  19 +-
 superset/sql_parse.py                              | 109 ++-
 superset/sqllab/api.py                             |  58 +-
 superset/sqllab/query_render.py                    |   6 +-
 superset/sqllab/schemas.py                         |   4 +
 superset/sqllab/validators.py                      |   2 +-
 superset/superset_typing.py                        |   2 +
 superset/tags/api.py                               |  43 +-
 superset/tags/models.py                            |  68 +-
 superset/tags/schemas.py                           |   4 +-
 superset/tasks/async_queries.py                    |   2 +-
 superset/tasks/scheduler.py                        |   6 +-
 superset/temporary_cache/api.py                    |   8 +-
 superset/temporary_cache/commands/__init__.py      |  16 -
 superset/translations/de/LC_MESSAGES/messages.json |   1 -
 superset/translations/de/LC_MESSAGES/messages.po   |   4 -
 superset/translations/en/LC_MESSAGES/messages.json |   1 -
 superset/translations/en/LC_MESSAGES/messages.po   |   4 -
 superset/translations/es/LC_MESSAGES/messages.json |   1 -
 superset/translations/es/LC_MESSAGES/messages.po   |   4 -
 superset/translations/fr/LC_MESSAGES/messages.json |  76 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |  99 +--
 superset/translations/it/LC_MESSAGES/messages.json |   1 -
 superset/translations/it/LC_MESSAGES/messages.po   |   4 -
 superset/translations/ja/LC_MESSAGES/messages.json |   1 -
 superset/translations/ja/LC_MESSAGES/messages.po   |   4 -
 superset/translations/ko/LC_MESSAGES/messages.json |   1 -
 superset/translations/ko/LC_MESSAGES/messages.po   |   4 -
 superset/translations/messages.pot                 |   4 -
 superset/translations/nl/LC_MESSAGES/messages.json |   1 -
 superset/translations/nl/LC_MESSAGES/messages.po   |   4 -
 superset/translations/pt/LC_MESSAGES/message.json  |   1 -
 superset/translations/pt/LC_MESSAGES/messages.json |   1 -
 superset/translations/pt/LC_MESSAGES/messages.po   |   4 -
 .../translations/pt_BR/LC_MESSAGES/messages.json   |   1 -
 .../translations/pt_BR/LC_MESSAGES/messages.po     |   4 -
 superset/translations/ru/LC_MESSAGES/messages.json |   1 -
 superset/translations/ru/LC_MESSAGES/messages.po   |   4 -
 superset/translations/sk/LC_MESSAGES/messages.json |   1 -
 superset/translations/sk/LC_MESSAGES/messages.po   |   4 -
 superset/translations/sl/LC_MESSAGES/messages.json |   1 -
 superset/translations/sl/LC_MESSAGES/messages.po   |   4 -
 superset/translations/zh/LC_MESSAGES/messages.json |   1 -
 superset/translations/zh/LC_MESSAGES/messages.po   |   4 -
 superset/utils/cache.py                            |  26 +-
 superset/utils/core.py                             | 100 +--
 superset/utils/date_parser.py                      |   2 +-
 superset/utils/url_map_converters.py               |   4 +-
 superset/utils/webdriver.py                        |  24 +-
 superset/views/api.py                              |   2 +-
 superset/views/base.py                             |  76 +-
 superset/views/core.py                             |  27 +-
 superset/views/dashboard/views.py                  |   2 +-
 superset/views/database/forms.py                   |   4 -
 superset/views/database/validators.py              |   2 +-
 superset/views/database/views.py                   |   3 +-
 superset/views/datasource/utils.py                 |  25 +-
 superset/views/datasource/views.py                 |   8 +-
 superset/views/sql_lab/views.py                    |   4 +
 superset/views/sqllab.py                           |  12 +-
 superset/viz.py                                    |   2 +-
 tests/integration_tests/base_tests.py              |   3 +-
 tests/integration_tests/charts/api_tests.py        |   4 +-
 tests/integration_tests/charts/commands_tests.py   |  18 +-
 tests/integration_tests/charts/data/api_tests.py   |   5 +-
 tests/integration_tests/cli_tests.py               |  18 +-
 tests/integration_tests/conftest.py                |   8 +-
 tests/integration_tests/core_tests.py              |  44 +-
 tests/integration_tests/csv_upload_tests.py        |   1 -
 tests/integration_tests/dashboard_tests.py         |   7 +-
 tests/integration_tests/dashboard_utils.py         |   2 +-
 tests/integration_tests/dashboards/api_tests.py    |  49 --
 .../integration_tests/dashboards/commands_tests.py |  16 +-
 tests/integration_tests/dashboards/dao_tests.py    |   2 -
 .../dashboards/dashboard_test_utils.py             |   2 -
 .../dashboards/filter_state/api_tests.py           |   4 +-
 .../dashboards/permalink/api_tests.py              |   2 +-
 .../dashboards/security/security_dataset_tests.py  |   6 +-
 .../dashboards/security/security_rbac_tests.py     |   2 +-
 tests/integration_tests/databases/api_tests.py     |  36 +-
 .../integration_tests/databases/commands_tests.py  |  40 +-
 .../ssh_tunnel/commands/commands_tests.py          |  10 +-
 tests/integration_tests/datasets/api_tests.py      |   4 +-
 tests/integration_tests/datasets/commands_tests.py |  20 +-
 tests/integration_tests/datasource_tests.py        |   3 +-
 .../db_engine_specs/elasticsearch_tests.py         |  43 ++
 tests/integration_tests/explore/api_tests.py       |   2 +-
 .../explore/form_data/api_tests.py                 |   4 +-
 .../explore/form_data/commands_tests.py            |  10 +-
 .../explore/permalink/commands_tests.py            |  10 +-
 .../integration_tests/fixtures/energy_dashboard.py |   2 -
 tests/integration_tests/import_export_tests.py     |   6 +-
 .../importexport/commands_tests.py                 |   2 +-
 .../key_value/commands/create_test.py              |  20 +-
 .../key_value/commands/delete_test.py              |   6 +-
 .../key_value/commands/get_test.py                 |  10 +-
 .../key_value/commands/update_test.py              |  12 +-
 .../key_value/commands/upsert_test.py              |  14 +-
 .../06e1e70058c7_migrate_legacy_area__tests.py     |  99 ---
 ...c747c78868b6_migrating_legacy_treemap__tests.py |   4 +-
 .../queries/saved_queries/commands_tests.py        |   8 +-
 tests/integration_tests/query_context_tests.py     |   8 +-
 tests/integration_tests/reports/alert_tests.py     |  22 +-
 .../commands/create_dashboard_report_tests.py      |   4 +-
 .../commands/execute_dashboard_report_tests.py     |  14 +-
 tests/integration_tests/reports/commands_tests.py  |  32 +-
 tests/integration_tests/reports/scheduler_tests.py |  10 +-
 .../security/migrate_roles_tests.py                |   1 -
 tests/integration_tests/sql_lab/api_tests.py       |  25 +-
 tests/integration_tests/sql_lab/commands_tests.py  |  22 +-
 tests/integration_tests/sqllab_tests.py            |   7 +
 tests/integration_tests/strategy_tests.py          |  12 +-
 tests/integration_tests/superset_test_config.py    |   9 +-
 .../superset_test_config_thumbnails.py             |   7 +-
 tests/integration_tests/tagging_tests.py           |  16 +-
 tests/integration_tests/tags/api_tests.py          | 103 ++-
 tests/integration_tests/tags/commands_tests.py     |  34 +-
 tests/integration_tests/tags/dao_tests.py          |  24 +-
 .../integration_tests/tasks/async_queries_tests.py |   4 +-
 tests/integration_tests/utils_tests.py             |  12 +-
 .../charts/commands/importers/v1/import_test.py    |   6 +-
 .../charts/commands/importers/v1/utils_test.py     |  16 +-
 .../common/test_get_aggregated_join_column.py      |   2 +-
 tests/unit_tests/common/test_process_time_range.py |  48 ++
 .../unit_tests/common/test_query_object_factory.py |  90 +--
 tests/unit_tests/dao/dataset_test.py               |  83 +++
 tests/unit_tests/dao/tag_test.py                   |   8 +-
 .../commands/importers/v1/import_test.py           |   6 +-
 .../dashboards/commands/importers/v1/utils_test.py |   4 +-
 tests/unit_tests/databases/api_test.py             |   6 +-
 .../databases/commands/importers/v1/import_test.py |   8 +-
 .../databases/commands/test_connection_test.py     |   2 +-
 .../databases/ssh_tunnel/commands/create_test.py   |   6 +-
 .../databases/ssh_tunnel/commands/delete_test.py   |   4 +-
 .../databases/ssh_tunnel/commands/update_test.py   |   6 +-
 tests/unit_tests/datasets/commands/export_test.py  |   2 +-
 .../datasets/commands/importers/v1/import_test.py  |  18 +-
 tests/unit_tests/db_engine_specs/test_databend.py  | 130 ++++
 tests/unit_tests/db_engine_specs/test_doris.py     | 147 ++++
 tests/unit_tests/db_engine_specs/test_dremio.py    |  16 +
 tests/unit_tests/db_engine_specs/test_trino.py     | 122 ++++
 tests/unit_tests/explore/utils_test.py             |  10 +-
 .../unit_tests/fixtures/bash_mock.py               |  38 +-
 tests/unit_tests/jinja_context_test.py             |  11 +-
 .../viz/dual_line_to_mixed_chart_test.py           |  39 +-
 .../viz/nvd3_area_chart_to_echarts_test.py         |  36 +-
 .../viz/nvd3_bubble_chart_to_echarts_test.py       |  76 ++
 .../viz/nvd3_line_chart_to_echarts_test.py         |  33 +-
 .../migrations/viz/pivot_table_v1_v2_test.py       |  94 +--
 ...e_v1_v2_test.py => time_related_fields_test.py} |  56 +-
 tests/unit_tests/migrations/viz/utils.py           |  96 +++
 tests/unit_tests/scripts/docker_build_push_test.py |  44 ++
 .../unit_tests/scripts/tag_latest_release_test.py  |  49 ++
 tests/unit_tests/sql_lab_test.py                   |  11 +-
 tests/unit_tests/sql_parse_tests.py                | 191 ++++-
 tests/unit_tests/tags/commands/create_test.py      |  20 +-
 tests/unit_tests/tags/commands/update_test.py      |  26 +-
 tests/unit_tests/tasks/test_async_queries.py       |   2 +-
 tests/unit_tests/utils/date_parser_tests.py        |   2 +-
 tests/unit_tests/utils/test_core.py                | 170 +++++
 673 files changed, 10101 insertions(+), 5486 deletions(-)
 create mode 100644 .github/ISSUE_TEMPLATE/config.yml
 create mode 100644 docs/docs/databases/databend.mdx
 create mode 100644 docs/docs/databases/doris.mdx
 create mode 100644 docs/static/img/databases/doris.png
 rename {.github/workflows => scripts}/docker_build_push.sh (76%)
 delete mode 100644 
superset-frontend/packages/superset-ui-core/src/validator/validateMaxValue.ts
 delete mode 100644 
superset-frontend/packages/superset-ui-core/test/validator/validateMaxValue.test.ts
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/france_regions.geojson
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Waterfall/images/example1.png
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Waterfall/images/example2.png
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Waterfall/images/example3.png
 rename 
superset-frontend/plugins/plugin-chart-echarts/src/utils/{getYAxisFormatter.ts 
=> formatters.ts} (74%)
 create mode 100644 
superset-frontend/src/SqlLab/components/EditorAutoSync/EditorAutoSync.test.tsx
 create mode 100644 
superset-frontend/src/SqlLab/components/EditorAutoSync/index.tsx
 create mode 100644 
superset-frontend/src/assets/branding/superset-logo-horiz-apache-dark.png
 create mode 100644 
superset-frontend/src/assets/branding/superset-logo-horiz-apache-dark.svg
 create mode 100644 superset-frontend/src/assets/images/databend.png
 create mode 100644 superset-frontend/src/assets/images/doris.png
 create mode 100644 
superset-frontend/src/components/FilterableTable/useCellContentParser.test.ts
 create mode 100644 
superset-frontend/src/components/FilterableTable/useCellContentParser.ts
 create mode 100644 
superset-frontend/src/components/FilterableTable/utils.test.tsx
 create mode 100644 superset-frontend/src/components/FilterableTable/utils.tsx
 create mode 100644 
superset-frontend/src/components/JsonModal/JsonModal.test.tsx
 create mode 100644 superset-frontend/src/components/JsonModal/index.tsx
 create mode 100644 superset-frontend/src/components/Tags/utils.test.tsx
 copy superset-frontend/src/{components/Tags/Tag.test.tsx => 
dashboard/components/SyncDashboardState/SyncDashboardState.test.tsx} (63%)
 create mode 100644 
superset-frontend/src/dashboard/components/SyncDashboardState/index.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsImage.test.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsImage.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.test.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadMenuItems.test.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/menu/DownloadMenuItems/index.tsx
 create mode 100644 
superset-frontend/src/features/datasets/DatasetSelectLabel/index.tsx
 create mode 100644 
superset-frontend/src/hooks/apiResources/sqlEditorTabs.test.ts
 create mode 100644 superset-frontend/src/hooks/apiResources/sqlEditorTabs.ts
 create mode 100644 superset-frontend/src/types/dom-to-pdf.d.ts
 delete mode 100644 superset-frontend/src/utils/colorUtils.ts
 copy superset-frontend/src/utils/{downloadAsImage.ts => downloadAsPdf.ts} (66%)
 rename superset/{annotation_layers/annotations/commands => 
commands/annotation_layer}/__init__.py (100%)
 rename superset/{annotation_layers/commands => 
commands/annotation_layer/annotation}/__init__.py (100%)
 rename superset/{annotation_layers/annotations/commands => 
commands/annotation_layer/annotation}/create.py (92%)
 rename superset/{annotation_layers/annotations/commands => 
commands/annotation_layer/annotation}/delete.py (93%)
 rename superset/{annotation_layers/annotations/commands => 
commands/annotation_layer/annotation}/exceptions.py (100%)
 rename superset/{annotation_layers/annotations/commands => 
commands/annotation_layer/annotation}/update.py (93%)
 rename superset/{annotation_layers/commands => 
commands/annotation_layer}/create.py (94%)
 rename superset/{annotation_layers/commands => 
commands/annotation_layer}/delete.py (94%)
 rename superset/{annotation_layers/commands => 
commands/annotation_layer}/exceptions.py (100%)
 rename superset/{annotation_layers/commands => 
commands/annotation_layer}/update.py (95%)
 rename superset/{charts/commands => commands/chart}/__init__.py (100%)
 rename superset/{charts/commands => commands/chart}/create.py (98%)
 rename superset/{charts/commands/importers => commands/chart/data}/__init__.py 
(100%)
 copy superset/{charts/data/commands => 
commands/chart/data}/create_async_job_command.py (100%)
 rename superset/{charts/data/commands => 
commands/chart/data}/get_data_command.py (97%)
 rename superset/{charts/commands => commands/chart}/delete.py (98%)
 rename superset/{charts/commands => commands/chart}/exceptions.py (100%)
 rename superset/{charts/commands => commands/chart}/export.py (95%)
 rename superset/{charts/data/commands => commands/chart/importers}/__init__.py 
(100%)
 rename superset/{charts/commands => commands/chart}/importers/dispatcher.py 
(98%)
 rename superset/{charts/commands => commands/chart}/importers/v1/__init__.py 
(92%)
 rename superset/{charts/commands => commands/chart}/importers/v1/utils.py (98%)
 rename superset/{charts/commands => commands/chart}/update.py (98%)
 rename superset/{charts/commands => commands/chart}/warm_up_cache.py (96%)
 rename superset/{connectors/base => commands/css}/__init__.py (100%)
 rename superset/{css_templates/commands => commands/css}/delete.py (97%)
 rename superset/{css_templates/commands => commands/css}/exceptions.py (100%)
 rename superset/{css_templates/commands => commands/dashboard}/__init__.py 
(100%)
 rename superset/{dashboards/commands => commands/dashboard}/create.py (94%)
 rename superset/{dashboards/commands => commands/dashboard}/delete.py (98%)
 rename superset/{dashboards/commands => 
commands/dashboard/embedded}/__init__.py (100%)
 rename superset/{embedded_dashboard/commands => 
commands/dashboard/embedded}/exceptions.py (100%)
 rename superset/{dashboards/commands => commands/dashboard}/exceptions.py 
(100%)
 rename superset/{dashboards/commands => commands/dashboard}/export.py (95%)
 rename superset/{dashboards/commands/importers => 
commands/dashboard/filter_set}/__init__.py (100%)
 rename superset/{dashboards/filter_sets/commands => 
commands/dashboard/filter_set}/base.py (96%)
 rename superset/{dashboards/filter_sets/commands => 
commands/dashboard/filter_set}/create.py (95%)
 rename superset/{dashboards/filter_sets/commands => 
commands/dashboard/filter_set}/delete.py (90%)
 rename superset/{dashboards/filter_sets/commands => 
commands/dashboard/filter_set}/exceptions.py (100%)
 rename superset/{dashboards/filter_sets/commands => 
commands/dashboard/filter_set}/update.py (91%)
 rename superset/{dashboards/filter_sets/commands => 
commands/dashboard/filter_state}/__init__.py (100%)
 rename superset/{dashboards/filter_state/commands => 
commands/dashboard/filter_state}/create.py (87%)
 rename superset/{dashboards/filter_state/commands => 
commands/dashboard/filter_state}/delete.py (84%)
 rename superset/{dashboards/filter_state/commands => 
commands/dashboard/filter_state}/get.py (89%)
 rename superset/{dashboards/filter_state/commands => 
commands/dashboard/filter_state}/update.py (87%)
 rename superset/{dashboards/filter_state/commands => 
commands/dashboard/filter_state}/utils.py (91%)
 rename superset/{dashboards/filter_state/commands => 
commands/dashboard/importers}/__init__.py (100%)
 rename superset/{dashboards/commands => 
commands/dashboard}/importers/dispatcher.py (97%)
 rename superset/{dashboards/commands => commands/dashboard}/importers/v0.py 
(99%)
 rename superset/{dashboards/commands => 
commands/dashboard}/importers/v1/__init__.py (93%)
 rename superset/{dashboards/commands => 
commands/dashboard}/importers/v1/utils.py (100%)
 rename superset/{dashboards/permalink/commands => 
commands/dashboard/permalink}/__init__.py (100%)
 rename superset/{dashboards/permalink/commands => 
commands/dashboard/permalink}/base.py (100%)
 rename superset/{dashboards/permalink/commands => 
commands/dashboard/permalink}/create.py (94%)
 rename superset/{dashboards/permalink/commands => 
commands/dashboard/permalink}/get.py (91%)
 rename superset/{dashboards/commands => commands/dashboard}/update.py (96%)
 rename superset/{databases/commands => commands/database}/__init__.py (100%)
 rename superset/{databases/commands => commands/database}/create.py (95%)
 rename superset/{databases/commands => commands/database}/delete.py (96%)
 rename superset/{databases/commands => commands/database}/exceptions.py (100%)
 rename superset/{databases/commands => commands/database}/export.py (98%)
 rename superset/{databases/commands => 
commands/database}/importers/__init__.py (100%)
 rename superset/{databases/commands => 
commands/database}/importers/dispatcher.py (97%)
 rename superset/{databases/commands => 
commands/database}/importers/v1/__init__.py (91%)
 rename superset/{databases/commands => 
commands/database}/importers/v1/utils.py (100%)
 rename superset/{databases/ssh_tunnel/commands => 
commands/database/ssh_tunnel}/__init__.py (100%)
 rename superset/{databases/ssh_tunnel/commands => 
commands/database/ssh_tunnel}/create.py (98%)
 rename superset/{databases/ssh_tunnel/commands => 
commands/database/ssh_tunnel}/delete.py (94%)
 rename superset/{databases/ssh_tunnel/commands => 
commands/database/ssh_tunnel}/exceptions.py (100%)
 rename superset/{databases/ssh_tunnel/commands => 
commands/database/ssh_tunnel}/update.py (97%)
 rename superset/{databases/commands => commands/database}/tables.py (98%)
 rename superset/{databases/commands => commands/database}/test_connection.py 
(98%)
 rename superset/{databases/commands => commands/database}/update.py (96%)
 rename superset/{databases/commands => commands/database}/validate.py (98%)
 rename superset/{databases/commands => commands/database}/validate_sql.py (98%)
 rename superset/{datasets/columns/commands => commands/dataset}/__init__.py 
(100%)
 rename superset/{datasets/commands => commands/dataset/columns}/__init__.py 
(100%)
 rename superset/{datasets/columns/commands => 
commands/dataset/columns}/delete.py (95%)
 rename superset/{datasets/columns/commands => 
commands/dataset/columns}/exceptions.py (100%)
 rename superset/{datasets/commands => commands/dataset}/create.py (98%)
 rename superset/{datasets/commands => commands/dataset}/delete.py (97%)
 rename superset/{datasets/commands => commands/dataset}/duplicate.py (99%)
 rename superset/{datasets/commands => commands/dataset}/exceptions.py (100%)
 rename superset/{datasets/commands => commands/dataset}/export.py (98%)
 rename superset/{datasets/commands => commands/dataset}/importers/__init__.py 
(100%)
 rename superset/{datasets/commands => 
commands/dataset}/importers/dispatcher.py (97%)
 rename superset/{datasets/commands => commands/dataset}/importers/v0.py (90%)
 rename superset/{datasets/commands => 
commands/dataset}/importers/v1/__init__.py (92%)
 rename superset/{datasets/commands => commands/dataset}/importers/v1/utils.py 
(99%)
 rename superset/{datasets/metrics/commands => 
commands/dataset/metrics}/__init__.py (100%)
 rename superset/{datasets/metrics/commands => 
commands/dataset/metrics}/delete.py (95%)
 rename superset/{datasets/metrics/commands => 
commands/dataset/metrics}/exceptions.py (100%)
 rename superset/{datasets/commands => commands/dataset}/refresh.py (97%)
 rename superset/{datasets/commands => commands/dataset}/update.py (97%)
 rename superset/{datasets/commands => commands/dataset}/warm_up_cache.py (89%)
 rename superset/{embedded_dashboard/commands => commands/explore}/__init__.py 
(100%)
 rename superset/{explore/commands => commands/explore/form_data}/__init__.py 
(100%)
 rename superset/{explore/form_data/commands => 
commands/explore/form_data}/create.py (91%)
 rename superset/{explore/form_data/commands => 
commands/explore/form_data}/delete.py (91%)
 rename superset/{explore/form_data/commands => 
commands/explore/form_data}/get.py (89%)
 rename superset/{explore/form_data/commands => 
commands/explore/form_data}/parameters.py (100%)
 rename superset/{explore/form_data/commands => 
commands/explore/form_data}/state.py (100%)
 rename superset/{explore/form_data/commands => 
commands/explore/form_data}/update.py (93%)
 rename superset/{explore/form_data/commands => 
commands/explore/form_data}/utils.py (90%)
 rename superset/{explore/commands => commands/explore}/get.py (94%)
 rename superset/{explore/commands => commands/explore}/parameters.py (100%)
 rename superset/{explore/form_data/commands => 
commands/explore/permalink}/__init__.py (100%)
 rename superset/{explore/permalink/commands => 
commands/explore/permalink}/base.py (100%)
 rename superset/{explore/permalink/commands => 
commands/explore/permalink}/create.py (95%)
 rename superset/{explore/permalink/commands => 
commands/explore/permalink}/get.py (93%)
 rename superset/{explore/permalink/commands => commands/key_value}/__init__.py 
(100%)
 rename superset/{key_value/commands => commands/key_value}/create.py (100%)
 rename superset/{key_value/commands => commands/key_value}/delete.py (92%)
 rename superset/{key_value/commands => commands/key_value}/delete_expired.py 
(100%)
 rename superset/{key_value/commands => commands/key_value}/get.py (93%)
 rename superset/{key_value/commands => commands/key_value}/update.py (94%)
 rename superset/{key_value/commands => commands/key_value}/upsert.py (93%)
 rename superset/{key_value/commands => commands/query}/__init__.py (100%)
 rename superset/{queries/saved_queries/commands => commands/query}/delete.py 
(96%)
 rename superset/{queries/saved_queries/commands => 
commands/query}/exceptions.py (100%)
 rename superset/{queries/saved_queries/commands => commands/query}/export.py 
(97%)
 rename superset/{queries/saved_queries/commands => 
commands/query/importers}/__init__.py (100%)
 rename superset/{queries/saved_queries/commands => 
commands/query}/importers/dispatcher.py (97%)
 rename superset/{queries/saved_queries/commands => 
commands/query}/importers/v1/__init__.py (91%)
 copy superset/{queries/saved_queries/commands => 
commands/query}/importers/v1/utils.py (100%)
 rename superset/{queries/saved_queries/commands/importers => 
commands/report}/__init__.py (100%)
 rename superset/{reports/commands => commands/report}/alert.py (99%)
 rename superset/{reports/commands => commands/report}/base.py (98%)
 rename superset/{reports/commands => commands/report}/create.py (97%)
 rename superset/{reports/commands => commands/report}/delete.py (97%)
 rename superset/{reports/commands => commands/report}/exceptions.py (100%)
 rename superset/{reports/commands => commands/report}/execute.py (99%)
 rename superset/{reports/commands => commands/report}/log_prune.py (96%)
 rename superset/{reports/commands => commands/report}/update.py (97%)
 rename superset/{reports/commands => commands/security}/__init__.py (100%)
 rename superset/{row_level_security/commands => commands/security}/create.py 
(100%)
 rename superset/{row_level_security/commands => commands/security}/delete.py 
(96%)
 rename superset/{row_level_security/commands => 
commands/security}/exceptions.py (100%)
 rename superset/{row_level_security/commands => commands/security}/update.py 
(96%)
 rename superset/{row_level_security/commands => commands/sql_lab}/__init__.py 
(100%)
 rename superset/{sqllab/commands => commands/sql_lab}/estimate.py (100%)
 rename superset/{sqllab/commands => commands/sql_lab}/execute.py (100%)
 rename superset/{sqllab/commands => commands/sql_lab}/export.py (100%)
 rename superset/{sqllab/commands => commands/sql_lab}/results.py (100%)
 rename superset/{sqllab/commands => commands/tag}/__init__.py (100%)
 rename superset/{tags/commands => commands/tag}/create.py (70%)
 rename superset/{tags/commands => commands/tag}/delete.py (94%)
 rename superset/{tags/commands => commands/tag}/exceptions.py (100%)
 rename superset/{tags/commands => commands/tag}/update.py (86%)
 rename superset/{tags/commands => commands/tag}/utils.py (79%)
 rename superset/{tags/commands => commands/temporary_cache}/__init__.py (100%)
 rename superset/{temporary_cache/commands => 
commands/temporary_cache}/create.py (92%)
 rename superset/{temporary_cache/commands => 
commands/temporary_cache}/delete.py (92%)
 rename superset/{temporary_cache/commands => 
commands/temporary_cache}/entry.py (100%)
 rename superset/{temporary_cache/commands => 
commands/temporary_cache}/exceptions.py (100%)
 rename superset/{temporary_cache/commands => commands/temporary_cache}/get.py 
(92%)
 rename superset/{temporary_cache/commands => 
commands/temporary_cache}/parameters.py (100%)
 rename superset/{temporary_cache/commands => 
commands/temporary_cache}/update.py (92%)
 delete mode 100644 superset/connectors/base/models.py
 delete mode 100644 superset/connectors/base/views.py
 rename superset/daos/{annotation.py => annotation_layer.py} (100%)
 create mode 100644 superset/db_engine_specs/databend.py
 create mode 100644 superset/db_engine_specs/doris.py
 delete mode 100644 superset/temporary_cache/commands/__init__.py
 create mode 100644 
tests/integration_tests/db_engine_specs/elasticsearch_tests.py
 delete mode 100644 
tests/integration_tests/migrations/06e1e70058c7_migrate_legacy_area__tests.py
 create mode 100644 tests/unit_tests/common/test_process_time_range.py
 create mode 100644 tests/unit_tests/dao/dataset_test.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_databend.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_doris.py
 rename superset/charts/data/commands/create_async_job_command.py => 
tests/unit_tests/fixtures/bash_mock.py (53%)
 copy superset/queries/saved_queries/commands/importers/v1/utils.py => 
tests/unit_tests/migrations/viz/nvd3_area_chart_to_echarts_test.py (54%)
 create mode 100644 
tests/unit_tests/migrations/viz/nvd3_bubble_chart_to_echarts_test.py
 rename superset/queries/saved_queries/commands/importers/v1/utils.py => 
tests/unit_tests/migrations/viz/nvd3_line_chart_to_echarts_test.py (56%)
 copy tests/unit_tests/migrations/viz/{pivot_table_v1_v2_test.py => 
time_related_fields_test.py} (63%)
 create mode 100644 tests/unit_tests/migrations/viz/utils.py
 create mode 100644 tests/unit_tests/scripts/docker_build_push_test.py
 create mode 100644 tests/unit_tests/scripts/tag_latest_release_test.py

Reply via email to