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

graceguo pushed a change to branch convert-ids-to-tabs-v2
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git.


    omit 03b722e  convert ids to scope object
    omit 58f69a4  fix a few props initial value
    omit 98f1ac7  refactory after design review
    omit 226bd40  fix code review comments (round 1)
    omit 2c7fcf0  add single-field-edit in multi-edit mode switch
    omit 970e636  remove changes that should be another PR
    omit 9d2a391  convert ids to scope object
    omit 1609403  filter scope selector modal
     add c62b2f4  [docs] CTAS on PostgreSQL needs commit to apply (#8367)
     add d3406e0  [Config] Cache static resources (#8370)
     add a199901  [sqla] Enforcing ISO 8601 date/timestamp formats (#7702)
     add 9fc37ea  [ci] Deprecate flake8 (#8409)
     add 1e533db  fixed typo in installation instructions (#8413)
     add 4cfd6b3  [tests] Fix, removing deprecated function for future Python 
release compatibility. (#8353)
     add cca689b  Add improved typed casting to BigQuery (#8331)
     add 8f246ce  chore: disable another flaky cypress test (#8423)
     add b91205d  [pydruid] Bumping the pydruid version (#8430)
     add a0db22b  docs: add a note to RELEASING about Slack Channel (#8419)
     add cde17a8  docs: Add an 'Orientation' section to CONTRIBUTING.md (#8422)
     add 08c6b61  [fix] refine release instructions (#8381)
     add 786d770  [fix] Updating parse_human_timedelta typing (#8436)
     add 19d2ea2  spelling fix (#8442)
     add a39c24e  explain the need to enable async queries (#8444)
     add 1d5718a  introduce a space in command line option (#8438)
     add 82b1747  Split up tests/db_engine_test.py (#8449)
     add 59889a4  [setup] Fix, download_url (#8439)
     add e704e29  Allow fetching all rows from results endpoint (#8389)
     add eaeed0c  removed repeated word (#8458)
     add c1810aa  [docs] Crafting a new release (#8433)
     add 148cec4  Add UI-only database configuration method for extended 
authorization scenarios (#8448)
     add a757b43  [db engine] Add support for Elasticsearch (#8441)
     add f7f0be5  [SIP-15] Making client time use UTC as the local time (#8450)
     add 8b74745  [SIP-15] Adding initial framework (#8398)
     add 1adf742  Provide documentation for using a Service Account to connect 
to BigQuery (#8462)
     add 5fb0bcb  [Datasource Editor] A few small UI changes in modal to 
prevent accidental edits (#8471)
     add 7afda6e  Update UPDATING.md (#8465)
     add 0a3b121  [sql] Fixing datetime SQL literal (#8464)
     add 18c6d17  docs: more release instructions (#8432)
     add 3cba1bd  feat: add expand_data parameter (#8472)
     add e4ca44e  Use `config[]` not `config.get()` (#8454)
     add 1ccfa4f  Re-enable DRUID_IS_ACTIVE flag (#8482)
     add a8f1589  fixing typo. (#8487)
     add 06a4108  Enhance docs for email reporting (#8486)
     add eb150eb  [sip-15] Fix time range endpoints encoding (#8481)
     add 554a6d8  [sip-15] Adding database level python-date-format (#8474)
     add d46b47a  feat(TableVis): Switch to the new table plugin (#8446)
     add acad66d  [datasource editor] Only one click target for edit action 
(#8495)
     add fda2333  [SIP-15] Updating ISO 8601 regex match to make time optional 
(#8494)
     add a305b1a  Change Fedora installation instructions + some small 
formatting changes (#8496)
     add 51c2290  feat: add korea(South) info on CountryMap viz and bump 
legacy-plugin-chart-country-map to v0.11.4 (#8478)
     add 5df1fcb  Add `Duplicate Tab` option (#8485)
     add 4c35de1  build: bump dompurify version because of nasty xss bypass. 
(#8498)
     add 9a29116  [typing] superset/models/core.py (#8284)
     add 338a2b1  Allow user to customize query cost estimate (#8470)
     add 5dba2f4  [SIP-15] Adding grace period (#8490)
     add 5617f87  Updating pip with default timeout (#8492)
     add 0730261  Fix column type on dbs.encrypted_extra, add instructions for 
testing migration downgrades (#8493)
     add e8af945  Update query tab's title when saving a new query (#8484)
     add 926dca3  [docs] Small fixes on the release docs (#8500)
     add 0e64dc8  [SIP-15] Making sure the toast link opens in a new tab (#8503)
     add 7e7f553  Remove tabs (#8508)
     add 571c474  Make Report a bug link open in a new tab (#8509)
     add d78e59b  revert tablevis (#8515)
     add 1e3d833  [sip-15] Fixing time range endpoints from dashboards (#8513)
     add ec476fc  Default page: remove title attribute to fall back on 
appbuilder.app_name (#8427)
     add 397e1e3  Replace hardcoded default colors with defaults in 
setupColors.js (#8510)
     add 49ea232  [fix] Improve csv upload functionality (#8457)
     add c4c01d6  [docs] Adding Slice parameter documentation (#8531)
     add 5ed2190  [docs] User tutorial (#8459)
     add 650c848  [cli] Fix, import datasources exported by UI (#8477)
     add 64de9aa  [docs] Updating slice parameter documentation. (#8535)
     add 6bce4f9  fab 2.2.0 (#8517)
     add 62476c5  Allow customization of documentation icon and text (#8507)
     add 763f59f  Add support for database engine SAP Hana (#8411)
     add b7b655e  [docs] 0.35.0 CHANGELOG (#8547)
     add a867d41  Upgrade superset-ui/time-format (#8541)
     add 1b3e40f  Clickable checkbox labels (#8534)
     add a58b392  Encode feature flags to JSON pessimistically (#8529)
     add 7bfa24d  [fix] Re-cleanup legacy filters (#8523)
     add 90275fe  Add convert_dttm method to SnowflakeEngineSpec (#8551)
     add b4e501c  filter scope selector modal
     add 7846a8c  add single-field-edit in multi-edit mode switch
     add b48bf31  fix code review comments (round 1)
     add 7848027  refactory after design review
     add 39182f9  fix a few props initial value
     add c407dc6  convert ids to scope object
     add ce13818  remove changes that should be another PR
     add eecf04f  convert ids to scope object

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   (03b722e)
            \
             N -- N -- N   refs/heads/convert-ids-to-tabs-v2 (eecf04f)

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:
 .pre-commit-config.yaml                            |  17 +-
 .travis.yml                                        |   5 +-
 CHANGELOG.md                                       | 136 ++++
 CONTRIBUTING.md                                    | 381 +++++++++-
 RELEASING/Dockerfile.from_tarball                  |   2 +-
 RELEASING/README.md                                | 171 ++++-
 RELEASING/from_tarball_entrypoint.sh               |   3 +-
 UPDATING.md                                        |  19 +-
 contrib/docker/Dockerfile                          |   4 +-
 docs/{tutorial.rst => admintutorial.rst}           |   4 +-
 docs/index.rst                                     |   6 +-
 docs/installation.rst                              | 201 ++++-
 docs/sqllab.rst                                    |  49 ++
 docs/{misc.rst => tutorials.rst}                   |  10 +-
 docs/usertutorial.rst                              | 508 +++++++++++++
 docs/visualization.rst                             |  40 +
 pypi_push.sh                                       |  10 +-
 requirements-dev.txt                               |   4 +-
 requirements.txt                                   |   2 +-
 scripts/sign.sh                                    |  19 +-
 setup.cfg                                          |  12 +
 setup.py                                           |  10 +-
 superset/__init__.py                               |  61 +-
 .../cypress/integration/dashboard/controls.js      |   2 +-
 .../assets/images/usertutorial/add_new_chart.png   | Bin 0 -> 42447 bytes
 .../usertutorial/advanced_analytics_base.png       | Bin 0 -> 122647 bytes
 superset/assets/images/usertutorial/annotation.png | Bin 0 -> 101822 bytes
 .../images/usertutorial/annotation_settings.png    | Bin 0 -> 22421 bytes
 .../usertutorial/average_aggregate_for_cost.png    | Bin 0 -> 31741 bytes
 .../usertutorial/blue_bar_insert_component.png     | Bin 0 -> 56554 bytes
 .../images/usertutorial/chose_a_datasource.png     | Bin 0 -> 21013 bytes
 .../usertutorial/csv_to_database_configuration.png | Bin 0 -> 30607 bytes
 .../assets/images/usertutorial/edit-record.png     | Bin 0 -> 4940 bytes
 .../assets/images/usertutorial/edit_annotation.png | Bin 0 -> 34104 bytes
 .../usertutorial/filter_on_origin_country.png      | Bin 0 -> 44695 bytes
 superset/assets/images/usertutorial/markdown.png   | Bin 0 -> 9030 bytes
 .../usertutorial/no_filter_on_time_filter.png      | Bin 0 -> 35991 bytes
 .../images/usertutorial/parse_dates_column.png     | Bin 0 -> 22004 bytes
 .../images/usertutorial/publish_dashboard.png      | Bin 0 -> 67785 bytes
 superset/assets/images/usertutorial/resample.png   | Bin 0 -> 88488 bytes
 .../resize_tutorial_table_on_dashboard.png         | Bin 0 -> 40391 bytes
 .../assets/images/usertutorial/rolling_mean.png    | Bin 0 -> 99706 bytes
 .../images/usertutorial/save_tutorial_table.png    | Bin 0 -> 8282 bytes
 .../usertutorial/select_dates_pivot_table.png      | Bin 0 -> 35466 bytes
 .../select_table_visualization_type.png            | Bin 0 -> 47283 bytes
 .../assets/images/usertutorial/sum_cost_column.png | Bin 0 -> 36632 bytes
 .../time_comparison_absolute_difference.png        | Bin 0 -> 98829 bytes
 .../usertutorial/time_comparison_two_series.png    | Bin 0 -> 137009 bytes
 .../images/usertutorial/tutorial_line_chart.png    | Bin 0 -> 97148 bytes
 .../images/usertutorial/tutorial_pivot_table.png   | Bin 0 -> 57761 bytes
 .../assets/images/usertutorial/tutorial_table.png  | Bin 0 -> 35897 bytes
 .../assets/images/usertutorial/upload_a_csv.png    | Bin 0 -> 38213 bytes
 superset/assets/package-lock.json                  | 710 ++++++++++++------
 superset/assets/package.json                       |  13 +-
 .../datasource/DatasourceEditor_spec.jsx           |   1 +
 .../explore/components/CheckboxControl_spec.jsx    |  14 +-
 .../messageToasts/components/Toast_spec.jsx        |  13 +-
 .../javascripts/sqllab/TabbedSqlEditors_spec.jsx   |   8 +
 superset/assets/src/SqlLab/actions/sqlLab.js       |   5 +-
 superset/assets/src/SqlLab/components/App.jsx      |  12 +-
 .../assets/src/SqlLab/components/QueryHistory.jsx  |   2 +
 .../assets/src/SqlLab/components/QuerySearch.jsx   |   2 +
 .../assets/src/SqlLab/components/QueryTable.jsx    |  15 +-
 .../assets/src/SqlLab/components/ResultSet.jsx     |   3 +-
 .../assets/src/SqlLab/components/SouthPane.jsx     |   9 +-
 .../assets/src/SqlLab/components/SqlEditor.jsx     |   2 +
 .../src/SqlLab/components/TabbedSqlEditors.jsx     |  13 +
 superset/assets/src/SqlLab/reducers/sqlLab.js      |   5 +-
 .../assets/src/datasource/DatasourceEditor.jsx     |  71 +-
 superset/assets/src/datasource/main.css            |   9 +
 .../components/controls/CheckboxControl.jsx        |   1 +
 .../components/controls/DatasourceControl.css}     |  30 +-
 .../components/controls/DatasourceControl.jsx      |  71 +-
 .../components/controls/DateFilterControl.jsx      |  37 +-
 .../assets/src/explore/controlPanels/sections.jsx  |   2 +-
 superset/assets/src/explore/controls.jsx           |  23 +-
 .../assets/src/messageToasts/components/Toast.jsx  |   3 +-
 .../src/messageToasts/stylesheets/toast.less       |   2 +-
 superset/assets/src/setup/setupColors.js           |   1 +
 superset/cli.py                                    |  16 +-
 superset/common/query_context.py                   |  12 +-
 superset/common/query_object.py                    |  13 +-
 superset/config.py                                 |  83 ++-
 superset/connectors/base/models.py                 |  20 +-
 superset/connectors/druid/__init__.py              |   3 +-
 superset/connectors/druid/models.py                | 104 ++-
 superset/connectors/druid/views.py                 | 116 ++-
 superset/connectors/sqla/__init__.py               |   3 +-
 superset/connectors/sqla/models.py                 | 124 +++-
 superset/connectors/sqla/views.py                  |  47 +-
 superset/dataframe.py                              |   2 +-
 superset/db_engine_specs/__init__.py               |   4 +-
 superset/db_engine_specs/athena.py                 |   9 +-
 superset/db_engine_specs/base.py                   |  71 +-
 superset/db_engine_specs/bigquery.py               |  36 +-
 superset/db_engine_specs/clickhouse.py             |   9 +-
 superset/db_engine_specs/db2.py                    |   6 -
 superset/db_engine_specs/drill.py                  |   9 +-
 .../db_engine_specs/{druid.py => elasticsearch.py} |  35 +-
 superset/db_engine_specs/exasol.py                 |   2 +-
 superset/db_engine_specs/{oracle.py => hana.py}    |  33 +-
 superset/db_engine_specs/hive.py                   |  26 +-
 superset/db_engine_specs/impala.py                 |  10 +-
 superset/db_engine_specs/kylin.py                  |   9 +-
 superset/db_engine_specs/mssql.py                  |  20 +-
 superset/db_engine_specs/mysql.py                  |  13 +-
 superset/db_engine_specs/oracle.py                 |  12 +-
 superset/db_engine_specs/postgres.py               |  13 +-
 superset/db_engine_specs/presto.py                 |  55 +-
 superset/db_engine_specs/snowflake.py              |  13 +
 superset/db_engine_specs/sqlite.py                 |  13 +-
 superset/db_engines/hive.py                        |   4 +-
 superset/examples/__init__.py                      |  34 +-
 superset/examples/bart_lines.py                    |   1 +
 superset/examples/birth_names.py                   |   4 +-
 superset/examples/countries.py                     |   6 +-
 superset/examples/country_map.py                   |   2 +-
 superset/examples/deck.py                          |  22 +-
 superset/examples/energy.py                        |  11 +-
 superset/examples/flights.py                       |   1 +
 superset/examples/helpers.py                       |   9 +-
 superset/examples/long_lat.py                      |   2 +-
 superset/examples/misc_dashboard.py                |   2 +-
 superset/examples/multi_line.py                    |   1 +
 superset/examples/multiformat_time_series.py       |   4 +-
 superset/examples/paris.py                         |   1 +
 superset/examples/random_time_series.py            |   4 +-
 superset/examples/sf_population_polygons.py        |   1 +
 superset/examples/tabbed_dashboard.py              |   1 +
 superset/examples/unicode_test_data.py             |   4 +-
 superset/examples/world_bank.py                    |  17 +-
 superset/jinja_context.py                          |   6 +-
 superset/migrations/env.py                         |   9 +-
 .../0b1f1ab473c0_add_extra_column_to_query.py      |   2 +-
 .../0c5070e96b57_add_user_attributes_table.py      |   2 +-
 .../11c737c17cc6_deprecate_restricted_metrics.py   |   3 +-
 ...9ee0e3_fix_wrong_constraint_on_table_columns.py |   4 +-
 .../versions/1296d28ec131_druid_exports.py         |   2 +-
 .../versions/12d55656cbca_is_featured.py           |   2 +-
 .../versions/130915240929_is_sqllab_viz_flow.py    |   2 +-
 superset/migrations/versions/18dc26817ad2_.py      |   2 +-
 .../versions/18e88e1cc004_making_audit_nullable.py |   2 +-
 .../19a814813610_adding_metric_warning_text.py     |   2 +-
 .../versions/1a1d627ebd8e_position_json.py         |   2 +-
 .../versions/1a48a5411020_adding_slug_to_dash.py   |   2 +-
 .../migrations/versions/1d2ddd543133_log_dt.py     |   2 +-
 superset/migrations/versions/1d9e835a84f9_.py      |   2 +-
 superset/migrations/versions/1e2841a4128_.py       |   2 +-
 ...e_form_strip_leading_and_trailing_whitespace.py |   3 +-
 .../migrations/versions/2591d77e9831_user_id.py    |   2 +-
 .../versions/27ae655e4247_make_creator_owners.py   |   9 +-
 .../289ce07647b_add_encrypted_password_field.py    |   2 +-
 .../2929af7925ed_tz_offsets_in_data_sources.py     |   2 +-
 .../versions/2fcdcb35e487_saved_queries.py         |   2 +-
 superset/migrations/versions/30bb17c0dc76_.py      |   2 +-
 .../versions/315b3f4da9b0_adding_log_model.py      |   2 +-
 .../versions/33d996bcc382_update_slice_model.py    |  12 +-
 .../versions/3b626e2a6783_sync_db_with_models.py   |   8 +-
 .../3c3ffe173e4f_add_sql_string_to_table.py        |   2 +-
 ...1c4c6_migrate_num_period_compare_and_period_.py |   4 +-
 ...e1b21cd94a4_change_owner_to_m2m_relation_on_.py |   6 +-
 .../41f6a59a61f2_database_options_for_sql_lab.py   |   2 +-
 .../migrations/versions/430039611635_log_more.py   |   2 +-
 .../migrations/versions/43df8de3a5f4_dash_json.py  |   2 +-
 .../4451805bbaa1_remove_double_percents.py         |   5 +-
 .../versions/4500485bde7d_allow_run_sync_async.py  |   2 +-
 superset/migrations/versions/45e7da7cfeba_.py      |   2 +-
 superset/migrations/versions/46ba6aaaac97_.py      |   2 +-
 ...8b9b7_remove_coordinator_from_druid_cluster_.py |   2 +-
 superset/migrations/versions/472d2f73dfd4_.py      |   2 +-
 superset/migrations/versions/4736ec66ce19_.py      |   2 +-
 superset/migrations/versions/4e6a06bad7a8_init.py  |   2 +-
 .../versions/4fa88fe24e94_owners_many_to_many.py   |   2 +-
 .../versions/525c854f0005_log_this_plus.py         |   2 +-
 .../migrations/versions/55179c7f25c7_sqla_descr.py |   2 +-
 ...826_add_metadata_column_to_annotation_model_.py |   2 +-
 superset/migrations/versions/5a7bad26f2a7_.py      |   2 +-
 superset/migrations/versions/5ccf602336a0_.py      |   2 +-
 .../5e4a03ef0bf0_add_request_access_model.py       |   2 +-
 superset/migrations/versions/6414e83d82b7_.py      |   2 +-
 .../migrations/versions/65903709c321_allow_dml.py  |   6 +-
 .../versions/67a6ac9b727b_update_spatial_params.py |   2 +-
 .../6c7537a6004a_models_for_email_reports.py       |   2 +-
 superset/migrations/versions/705732c70154_.py      |   2 +-
 .../732f1c06bcbf_add_fetch_values_predicate.py     |   2 +-
 .../versions/7467e77870e4_remove_aggs.py           |   2 +-
 .../versions/763d4b211ec9_fixing_audit_fk.py       |   2 +-
 ...27d0d1d_reconvert_legacy_filters_into_adhoc.py} |  54 +-
 .../versions/7dbf98566af7_slice_description.py     |   2 +-
 .../versions/7e3ddad2a00b_results_key_to_query.py  |   2 +-
 superset/migrations/versions/7fcdcde0761c_.py      |   2 +-
 .../80a67c5192fa_single_pie_chart_metric.py        |   3 +-
 ...a3f04bc82_add_parent_ids_in_dashboard_layout.py |   3 +-
 .../versions/836c0bf75904_cache_timeouts.py        |   2 +-
 ...4f117f9_adding_extra_field_to_database_model.py |   2 +-
 superset/migrations/versions/8b70aa3d0f87_.py      |   2 +-
 superset/migrations/versions/8e80a26a31db_.py      |   2 +-
 .../versions/937d04c16b64_update_datasources.py    |   2 +-
 .../versions/956a063c52b3_adjusting_key_length.py  |   2 +-
 superset/migrations/versions/960c69cb1f5b_.py      |   2 +-
 superset/migrations/versions/979c03af3341_.py      |   2 +-
 .../versions/a2d606a761d9_adding_favstar_model.py  |   2 +-
 .../a33a03f16c4a_add_extra_column_to_savedquery.py |   2 +-
 .../versions/a61b40f9f57f_remove_allow_run_sync.py |   2 +-
 ...a65458420354_add_result_backend_time_logging.py |   2 +-
 .../a6c18f869a4e_query_start_running_time.py       |   2 +-
 ...7c195a_rewriting_url_from_shortner_with_new_.py |   8 +-
 .../a9c47e2c1547_add_impersonate_user_to_dbs.py    |   2 +-
 ...d66c4246e_add_cache_timeout_to_druid_cluster.py |   2 +-
 .../versions/ad4d656d92bc_add_avg_metric.py        |   2 +-
 .../versions/ad82a75afd82_add_query_model.py       |   2 +-
 .../versions/afb7730f6a9c_remove_empty_filters.py  |   5 +-
 ...er_sql_column_data_type_in_query_mysql_table.py |   2 +-
 ...dfe5fb6c_adding_verbose_name_to_druid_column.py |   2 +-
 .../versions/b46fa1b0b39e_add_params_to_tables.py  |   3 +-
 .../b4a38aa87893_deprecate_database_expression.py  |   2 +-
 .../b6fa807eac07_make_names_non_nullable.py        |   2 +-
 .../bb51420eaf83_add_schema_to_table_model.py      |   2 +-
 .../versions/bcf3126872fc_add_keyvalue.py          |   2 +-
 .../versions/bddc498dd179_adhoc_filters.py         |   5 +-
 .../bebcf3fed1fe_convert_dashboard_v1_positions.py |   2 +-
 ...acd2cf3df2_alter_type_of_dbs_encrypted_extra.py |  64 ++
 .../c3a8f8611885_materializing_permission.py       |   2 +-
 .../versions/c5756bec8b47_time_grain_sqla.py       |   5 +-
 .../migrations/versions/c611f2b591b8_dim_spec.py   |   2 +-
 .../versions/c617da68de7d_form_nullable.py         |   2 +-
 superset/migrations/versions/c829ff0b37d0_.py      |   2 +-
 .../versions/c82ee8a39623_add_implicit_tags.py     |   3 +-
 superset/migrations/versions/c9495751e314_.py      |   2 +-
 .../versions/ca69c70ec99b_tracking_url.py          |   2 +-
 ... => cca2f5d568c8_add_encrypted_extra_to_dbs.py} |  18 +-
 ...d38_increase_size_of_name_column_in_ab_view_.py |   2 +-
 superset/migrations/versions/d39b1e37131d_.py      |   2 +-
 superset/migrations/versions/d6db5a5cdb5d_.py      |   2 +-
 ...fdf31bdd4_add_published_column_to_dashboards.py |   2 +-
 ...1a0d6f2da_remove_limit_used_from_query_model.py |   2 +-
 .../versions/d827694c7555_css_templates.py         |   2 +-
 ...d8bc074f7aad_add_new_field_is_restricted_to_.py |   7 +-
 .../migrations/versions/d94d33dbe938_form_strip.py |   2 +-
 .../db0c65b146bd_update_slice_model_json.py        |   5 +-
 .../versions/db527d8c4c78_add_db_verbose_name.py   |   3 +-
 .../versions/ddd6ebdd853b_annotations.py           |   2 +-
 superset/migrations/versions/e3970889f38e_.py      |   2 +-
 .../versions/e46f2d27a08e_materialize_perms.py     |   2 +-
 .../e502db2af7be_add_template_params_to_tables.py  |   2 +-
 .../versions/e553e78e90c5_add_druid_auth_py_py.py  |   2 +-
 ...8c4473c581_allow_multi_schema_metadata_fetch.py |   2 +-
 .../versions/e866bd2d4976_smaller_grid.py          |   4 +-
 superset/migrations/versions/ea033256294a_.py      |   2 +-
 .../eca4694defa7_sqllab_setting_defaults.py        |   5 +-
 ...bf6129e13_adding_verbose_name_to_tablecolumn.py |   2 +-
 .../versions/f162a1dea4c4_d3format_by_metric.py    |   2 +-
 superset/migrations/versions/f1f2d4af5b90_.py      |   2 +-
 superset/migrations/versions/f231d82b9b26_.py      |   2 +-
 superset/migrations/versions/f959a6652acd_.py      |   2 +-
 superset/migrations/versions/fbd55e0f83eb_.py      |   2 +-
 superset/migrations/versions/fc480c87706c_.py      |   2 +-
 superset/models/__init__.py                        |   5 +-
 superset/models/core.py                            | 378 +++++-----
 superset/models/helpers.py                         |  23 +-
 superset/models/schedules.py                       |   1 -
 superset/models/sql_lab.py                         |   4 +-
 superset/models/sql_types/presto_sql_types.py      |   1 -
 superset/models/tags.py                            |   9 +-
 superset/security.py                               |  14 +-
 superset/sql_lab.py                                |  40 +-
 superset/sql_validators/__init__.py                |   9 +-
 superset/sql_validators/presto_db.py               |   4 +-
 superset/tasks/__init__.py                         |   3 +-
 superset/tasks/cache.py                            |   1 -
 superset/tasks/schedules.py                        |  38 +-
 superset/templates/appbuilder/navbar.html          |   6 +-
 superset/templates/appbuilder/navbar_right.html    |  18 +-
 .../templates/superset/models/database/add.html    |   1 +
 .../templates/superset/models/database/edit.html   |   1 +
 .../templates/superset/models/database/macros.html |   6 +
 superset/translations/en/LC_MESSAGES/messages.po   |   3 +-
 superset/translations/fr/LC_MESSAGES/messages.json |   2 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |   4 +-
 superset/translations/it/LC_MESSAGES/messages.json |   4 +-
 superset/translations/it/LC_MESSAGES/messages.po   |   3 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |   2 +-
 superset/translations/messages.pot                 |   3 +-
 superset/translations/ru/LC_MESSAGES/messages.json |   6 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |   4 +-
 superset/translations/utils.py                     |   3 +-
 superset/translations/zh/LC_MESSAGES/messages.json |   4 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |   4 +-
 superset/utils/core.py                             | 106 +--
 superset/utils/decorators.py                       |   3 +-
 superset/utils/dict_import_export.py               |   1 -
 superset/utils/import_datasource.py                |   2 +-
 superset/utils/log.py                              |   6 +-
 superset/utils/logging_configurator.py             |  25 +-
 superset/views/__init__.py                         |  23 +-
 superset/views/annotations.py                      |   6 +-
 superset/views/api.py                              |   5 +-
 superset/views/base.py                             |  27 +-
 superset/views/core.py                             | 207 ++++--
 superset/views/dashboard.py                        |   1 +
 superset/views/database/__init__.py                |  23 +-
 superset/views/database/api.py                     |   3 +-
 superset/views/database/forms.py                   |  14 +-
 superset/views/database/views.py                   |  79 +-
 superset/views/datasource.py                       |   1 +
 superset/views/log/api.py                          |   7 +-
 superset/views/log/views.py                        |   7 +-
 superset/views/schedules.py                        |  18 +-
 superset/views/sql_lab.py                          |   6 +-
 superset/views/tags.py                             |   8 +-
 superset/views/utils.py                            |  79 +-
 superset/viz.py                                    |  56 +-
 tests/access_tests.py                              |  41 +-
 tests/base_tests.py                                |   8 +-
 tests/cache_tests.py                               |   1 +
 tests/celery_tests.py                              |  10 +-
 tests/core_tests.py                                | 152 +++-
 tests/dashboard_tests.py                           |   3 +-
 tests/dataframe_test.py                            |  25 +-
 tests/datasource_tests.py                          |  12 +-
 .../db_engine_specs/athena_tests.py                |  21 +-
 tests/db_engine_specs/base_engine_spec_tests.py    | 208 ++++++
 .../db_engine_specs/base_tests.py                  |  24 +-
 tests/db_engine_specs/bigquery_tests.py            |  56 ++
 .../db_engine_specs/clickhouse_tests.py            |  20 +-
 .../db_engine_specs/drill_tests.py                 |  21 +-
 .../db_engine_specs/elasticsearch_tests.py         |  16 +-
 tests/db_engine_specs/hive_tests.py                | 164 +++++
 .../db_engine_specs/impala_tests.py                |  20 +-
 .../db_engine_specs/kylin_tests.py                 |  20 +-
 tests/db_engine_specs/mssql_tests.py               |  89 +++
 tests/db_engine_specs/mysql_tests.py               |  43 ++
 tests/db_engine_specs/oracle_tests.py              |  50 ++
 .../db_engine_specs/pinot_tests.py                 |  24 +-
 tests/db_engine_specs/postgres_tests.py            |  85 +++
 tests/db_engine_specs/presto_tests.py              | 356 +++++++++
 .../snowflake_tests.py}                            |  36 +-
 .../db_engine_specs/sqlite_tests.py                |  12 +-
 tests/db_engine_specs_test.py                      | 809 ---------------------
 tests/dict_import_export_tests.py                  |  66 +-
 tests/druid_func_tests.py                          |  11 +-
 tests/druid_tests.py                               |  17 +-
 tests/email_tests.py                               |  35 +-
 tests/import_export_tests.py                       |  93 +--
 tests/load_examples_test.py                        |   1 +
 tests/macro_tests.py                               |   3 +-
 tests/migration_tests.py                           |   3 +-
 tests/model_tests.py                               |  45 +-
 tests/schedules_test.py                            |  19 +-
 tests/security_tests.py                            |   5 +-
 tests/sql_parse_tests.py                           | 136 ++--
 tests/sql_validator_tests.py                       |   3 +-
 tests/sqla_models_tests.py                         |  13 +-
 tests/sqllab_tests.py                              |  67 +-
 tests/strategy_tests.py                            |   2 +-
 tests/superset_test_config.py                      |   6 +-
 tests/utils_tests.py                               | 153 ++--
 tests/viz_tests.py                                 |  13 +-
 tox.ini                                            |  39 +-
 359 files changed, 5743 insertions(+), 2921 deletions(-)
 rename docs/{tutorial.rst => admintutorial.rst} (99%)
 copy docs/{misc.rst => tutorials.rst} (92%)
 create mode 100644 docs/usertutorial.rst
 create mode 100644 superset/assets/images/usertutorial/add_new_chart.png
 create mode 100644 
superset/assets/images/usertutorial/advanced_analytics_base.png
 create mode 100644 superset/assets/images/usertutorial/annotation.png
 create mode 100644 superset/assets/images/usertutorial/annotation_settings.png
 create mode 100644 
superset/assets/images/usertutorial/average_aggregate_for_cost.png
 create mode 100644 
superset/assets/images/usertutorial/blue_bar_insert_component.png
 create mode 100644 superset/assets/images/usertutorial/chose_a_datasource.png
 create mode 100644 
superset/assets/images/usertutorial/csv_to_database_configuration.png
 create mode 100644 superset/assets/images/usertutorial/edit-record.png
 create mode 100644 superset/assets/images/usertutorial/edit_annotation.png
 create mode 100644 
superset/assets/images/usertutorial/filter_on_origin_country.png
 create mode 100644 superset/assets/images/usertutorial/markdown.png
 create mode 100644 
superset/assets/images/usertutorial/no_filter_on_time_filter.png
 create mode 100644 superset/assets/images/usertutorial/parse_dates_column.png
 create mode 100644 superset/assets/images/usertutorial/publish_dashboard.png
 create mode 100644 superset/assets/images/usertutorial/resample.png
 create mode 100644 
superset/assets/images/usertutorial/resize_tutorial_table_on_dashboard.png
 create mode 100644 superset/assets/images/usertutorial/rolling_mean.png
 create mode 100644 superset/assets/images/usertutorial/save_tutorial_table.png
 create mode 100644 
superset/assets/images/usertutorial/select_dates_pivot_table.png
 create mode 100644 
superset/assets/images/usertutorial/select_table_visualization_type.png
 create mode 100644 superset/assets/images/usertutorial/sum_cost_column.png
 create mode 100644 
superset/assets/images/usertutorial/time_comparison_absolute_difference.png
 create mode 100644 
superset/assets/images/usertutorial/time_comparison_two_series.png
 create mode 100644 superset/assets/images/usertutorial/tutorial_line_chart.png
 create mode 100644 superset/assets/images/usertutorial/tutorial_pivot_table.png
 create mode 100644 superset/assets/images/usertutorial/tutorial_table.png
 create mode 100644 superset/assets/images/usertutorial/upload_a_csv.png
 copy superset/assets/{stylesheets/explore.css => 
src/explore/components/controls/DatasourceControl.css} (76%)
 copy superset/db_engine_specs/{druid.py => elasticsearch.py} (53%)
 copy superset/db_engine_specs/{oracle.py => hana.py} (51%)
 copy superset/migrations/versions/{bddc498dd179_adhoc_filters.py => 
78ee127d0d1d_reconvert_legacy_filters_into_adhoc.py} (64%)
 create mode 100644 
superset/migrations/versions/c2acd2cf3df2_alter_type_of_dbs_encrypted_extra.py
 copy superset/migrations/versions/{1e2841a4128_.py => 
cca2f5d568c8_add_encrypted_extra_to_dbs.py} (75%)
 copy superset/legacy.py => tests/db_engine_specs/athena_tests.py (59%)
 create mode 100644 tests/db_engine_specs/base_engine_spec_tests.py
 copy superset/utils/dates.py => tests/db_engine_specs/base_tests.py (56%)
 create mode 100644 tests/db_engine_specs/bigquery_tests.py
 copy superset/legacy.py => tests/db_engine_specs/clickhouse_tests.py (61%)
 copy superset/legacy.py => tests/db_engine_specs/drill_tests.py (59%)
 copy superset/legacy.py => tests/db_engine_specs/elasticsearch_tests.py (66%)
 create mode 100644 tests/db_engine_specs/hive_tests.py
 copy superset/legacy.py => tests/db_engine_specs/impala_tests.py (60%)
 copy superset/legacy.py => tests/db_engine_specs/kylin_tests.py (61%)
 create mode 100644 tests/db_engine_specs/mssql_tests.py
 create mode 100644 tests/db_engine_specs/mysql_tests.py
 create mode 100644 tests/db_engine_specs/oracle_tests.py
 copy superset/bin/superset => tests/db_engine_specs/pinot_tests.py (56%)
 mode change 100755 => 100644
 create mode 100644 tests/db_engine_specs/postgres_tests.py
 create mode 100644 tests/db_engine_specs/presto_tests.py
 copy tests/{migration_tests.py => db_engine_specs/snowflake_tests.py} (53%)
 copy superset/db_engine_specs/gsheets.py => 
tests/db_engine_specs/sqlite_tests.py (74%)
 delete mode 100644 tests/db_engine_specs_test.py

Reply via email to