* Redirect on 401
* Bump FAB
* Format
* Update Cypress save test
* Revert Cypress change
* Bump FAB 3.4.1rc2
* Update test
* Update return statement
* Update api test
* Update datasets api test
* Update datasets api 401s to 403s
* Add typeguard
* Use Promise.resolve
* Update callApiAndParseWithhTimeout test
* Disable parseResponse test
* Try catch
* Handle npm 8 issues
* enable confidence intervals and y_hat without forecast
* fix if statement
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* feat(explore): export csv data pivoted for Pivot Table
* Implement dropdown with download csv options
* Change label to "Original"
* Add tests
* Add form data to query context
* Add form data to query context generator
* Explicitly make form_data optional
* feat: Adds a key-value endpoint to store the state of dashboard filters
* Fixes pylint issues
* Adds openapi schemas
* Adds more tests, move logic to commands and use singular form for the endpoint name
* Fixes model description
* Removes database model
* Adds open api specs
* Simplifies the commands
* Adds more tests
* Validates the value content and submits the correct http status code
* Fixes import order
* Skips flakky test
* Fixes tests
* Updates UPDATING.md
* fix: Dashboard access when RBAC is disabled
* Sends 403 when forbidden
* Fixes issort
* Changes assertion
* Allow access to unpublished dashboards that don't have roles
* Fixes the test_get_dashboard_changed_on test
* Fix _latest_partition_from_df in HiveEngineSpec
* Add test HiveEngineSpec._latest_partition_from_df
* Fix formatting to pass black
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
* fix: Always use temporal type for dttm columns
* move inference and implement in chart postproc
* fix test
* fix test case
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
* fix: feature flags typing
* fix tests
* add note in UPDATING.md
* fix frontend
* also move SCHEDULED_QUERIES to top level
* fix test
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
* "P1W" grain should respect DATEFIRST setting in MS SQL Server
* Added "week_start_sunday" and "week_start_monday" grains support. Adjusted the "week" grain for better backward compatibility with MS SQL 2005/2008.
* Stylistic and linter-requested changes
* fix test
Co-authored-by: Valeriy Aleksashkin <v.aleksashkin@gmail.com>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
* add support for adhoc columns to api and sqla model
* fix some types
* fix duplicates in column names
* fix more lint
* fix schema and dedup
* clean up some logic
* first pass at fixing viz.py
* Add frontend support for adhoc columns
* Add title edit
* Fix showing custom title
* Use column name as default value in sql editor
* fix: Adds a loading message when needed in the Select component (#16531)
* fix(tests): make parquet select deterministic with order by (#16570)
* bump emotion to help with cache clobbering (#16559)
* fix: Support Jinja template functions in global async queries (#16412)
* Support Jinja template functions in async queries
* Pylint
* Add tests for async tasks
* Remove redundant has_request_context check
* fix: impersonate user label/tooltip (#16573)
* docs: update for small typos (#16568)
* feat: Add Aurora Data API engine spec (#16535)
* feat: Add Aurora Data API engine spec
* Fix lint
* refactor: sql_json view endpoint: encapsulate ctas parameters (#16548)
* refactor sql_json view endpoint: encapsulate ctas parameters
* fix failed tests
* fix failed tests and ci issues
* refactor sql_json view endpoint: separate concern into ad hod method (#16595)
* feat: Experimental cross-filter plugins (#16594)
* fix:fix get permission function
* feat: add cross filter chart in charts gallery under FF
* chore(deps): bump superset-ui to 0.18.2 (#16601)
* update type guard references
* fix imports
* update series_columns schema
* Add changes that got lost in rebase
* Use current columns name or expression as sql editor init value
* add integration test and do minor fixes
* Bump superset-ui
* fix linting issue
* bump superset-ui to 0.18.22
* resolve merge conflict
* lint
* fix select filter infinite loop
* bump superset-ui to 0.18.23
* Fix auto setting column popover title
* Enable adhoc columns only if UX_BETA enabled
* put back removed test
* Move popover height and width to constants
* Refactor big ternary expression
Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
Co-authored-by: Rob DiCiuccio <rob.diciuccio@gmail.com>
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
Co-authored-by: joeADSP <75027008+joeADSP@users.noreply.github.com>
Co-authored-by: ofekisr <35701650+ofekisr@users.noreply.github.com>
Co-authored-by: simcha90 <56388545+simcha90@users.noreply.github.com>
* add fallback and validation for report and cron timezones
* add logging to exception catch
* Run black
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
* Add support for datetime.time in json_int_dttm_ser
* Test base_json_conv support for datetime.time
* Group types by conversion function for JSON dump
* fix: set correct schema on config import
* Fix lint
* Fix test
* Fix tests
* Fix another test
* Fix another test
* Fix base test
* Add helper function
* Fix examples
* Fix test
* Fix test
* Fixing more tests
* Test that failing export or import is done properly
For each CLI entry-point we will modify, we make sure that:
- a failing process exits with a non-0 exit code,
- an error is logged.
Signed-off-by: Étienne Boisseau-Sierra <etienne.boisseau-sierra@unipart.io>
* Exit process with error if export/import failed
Bubble exception up when failing import or export
During a CLI import or export of dashboards, if the process fails, the
exception it caught and a simple message is sent to the logger.
This makes that from a shell point of view, the script was successfull —
cf. #16956.
To prevent this, we want to ensure that the process exits with an error
(i.e., a non-0 exit-code) should the export or import fail mid-flight.
Signed-off-by: Étienne Boisseau-Sierra <etienne.boisseau-sierra@unipart.io>
* abstract boilerplate code into class and rename csv to file
* add db migration
* fix some stuff
* more renaming of csv to file
* rename in translations
* update down revision
* update down revision
* bump chart version
* switch to alter column name approach in db migration
* fix db migration for MySQL
* db migration conflict
* fix: preventing sql lab None limit value
* test: create a test for the fix
* pylint (#17172)
* add test (#17173)
Co-authored-by: Hugh A. Miles II <hughmil3s@gmail.com>
* chore move sql_execution_context to sqllab package
* add new helper methods into base Dao
* refactor separate get existing query concern from command
* refactor separate query access validation concern
* refactor separate get query's database concern from command
* refactor separate get query rendering concern from command
* refactor sqllab_execution_context
* refactor separate creating payload for view
* chore decouple command from superset app
* fix pylint issues
* fix failed tests
* fix pylint issues
* fix failed test
* fix failed black
* fix failed black
* fix failed test
* New branch from superset for integration with firebolt sqlalchemy adapter
* Added db_engine_spec file for Firebolt
* Removed firebolt code from superset repo
* Deleted virtual env commit
* Adding time grain changes to firebolt.py
* Updated README.md
Added steps to install and run Superset with Firebolt SQLAlchemy Adapter
* Update README.md
Reduced installation steps. Using PyPi installation for adapter now
* Revert "Update README.md"
This reverts commit 5ed17c7a45.
* Revert "Updated README.md"
This reverts commit 45c5072649.
* added epoch methods, added test cases for firebolt db engine spec and edited setup.py
* Added license to files
* Added documentation for Firebolt-SQLAlchemy
* Removed trailing whitespace
Co-authored-by: raghavsharma <raghavs@sigmoidanalytics.com>
Co-authored-by: raghavSharmaSigmoid <88667094+raghavSharmaSigmoid@users.noreply.github.com>
* first pass private gsheets
* made encrypted extra into string, refactored onParametersChanged
* private sheets working, credential_info errors
* all but test connection working
* first pass private gsheets
* made encrypted extra into string, refactored onParametersChanged
* private sheets working, credential_info errors
* all but test connection working
* Regenerate package-lock.json
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
* feat: add global max limit
* fix lint and tests
* leave SAMPLES_ROW_LIMIT unchanged
* fix sample rowcount test
* replace max global limit with existing sql max row limit
* fix test
* make max_limit optional in util
* improve comments
* feat: add support for generic series limit
* refine series_columns logic
* update docs
* bump superset-ui
* add note to UPDATING.md
* remove default value for timeseries_limit
* Fixing assignment.
Signed-off-by: tianhe1986 <w1s2j3229@163.com>
* Adding unit test for FilterBoxViz.
Signed-off-by: tianhe1986 <w1s2j3229@163.com>
* Reformatting with black.
Signed-off-by: tianhe1986 <w1s2j3229@163.com>
* Revert format change in other test.
Signed-off-by: tianhe1986 <w1s2j3229@163.com>
* Reformatting with the same black version with pre-commit config.
Signed-off-by: tianhe1986 <w1s2j3229@163.com>
* allow csv upload to accept parquet file
* fix mypy
* fix if statement
* add test for specificying columns in CSV upload
* clean up test
* change order in test
* fix failures
* upload parquet to seperate table in test
* fix error message
* fix mypy again
* rename other extensions to columnar
* add new form for columnar upload
* add support for zip files
* undo csv form changes except usecols
* add more tests for zip
* isort & black
* pylint
* fix trailing space
* address more review comments
* pylint
* black
* resolve remaining issues
* chore: Shows the dataset description in the gallery dropdown
* chore: Adjusts the tooltip positioning, fixes the search and removes unnecessary bootstrap data
* feat(cross-filters): add support for temporal filters
* fix test
* make filter optional
* remove mocks
* fix more tests
* remove unnecessary optionality
* fix even more tests
* bump superset-ui
* add isExtra to schema
* address comments
* fix presto test
Co-authored-by: Lyndsi Kay Williams <55605634+lyndsiWilliams@users.noreply.github.com>
Co-authored-by: AAfghahi <48933336+AAfghahi@users.noreply.github.com>
* feat: auto sync dataset metadata when change dataset
* diablo sync button when edit mode
* handle undefine schema
* fix py UT
* fix FE UT
* improve test coverage
* fix UT
* feat: send data embedded in report email
* Change post-processing to use new endpoint
* Show TEXT option only to text-based vizs
* Fix test
* feat: send data embedded in report email
* feat: send report data to Slack
* Add unit test
* trigger tests
* feat: send data embedded in report email
* Prettify table
* Change post-processing to use new endpoint
* Show text option only for text viz
* Show TEXT option only to text-based vizs
* Fix test
* Add email test
* Add unit test
* rebase master and resolve conflicts
* pylint to makefile
* fix crash when pivot operator
* fix comments
* add precision argument
* query test
* wip
* fix ut
* rename
* set time_offsets to cache key
wip
* refactor get_df_payload
wip
* extra query cache
* cache ut
* normalize df
* fix timeoffset
* fix ut
* make cache key logging sense
* resolve conflicts
* backend follow up iteration 1
wip
* rolling window type
* rebase master
* py lint and minor follow ups
* pylintrc
* feat: cancel db query on stop
* fix pylint
* Add unit tests
* Do not bind multiple times
* Stop only running queries
* Postgres to cancel only the required query
* Remove extra log
* Add docstring
* Better types, docstring and naming
* Use python3 format strings
* Update superset/sql_lab.py
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
* Add cancel_query_on_windows_unload option to database
* Return cancel_query as bool
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
* chore: move memoized test into a separated file
create integration test workflow
* chore: create unit test workflow to run purely pytest
* fix: bad reference
* fix: remove pip requirements bc there aren't any yet
* temp: install unit dependencies directly
* fix: --rootdir=
* fix: try to run only unit test
* chore: decouple memoized as separated module
* fix: bring back dependencies bc superset top-level module is coupled to flask and others so no reason no to do it
* fix: reference
* fix: pre-commit
* fix: pylint
* snowflake errors
* added big query
* added to setup error messages, first test
* all big query testing added
* added snowflake test
* added syntax error
* added syntax errors to most used databases
* Restrict operators when column is boolean
* refactor 'isOperatorRelevant' a little bit
* Include 'BOOLEAN' to handle presto
* Update tests
* number column should show bool operators
* fix test - some dbs translate true/false to 1/0
* Fix tests and add linting
* When column type is boolean, show bool operators
* Address PR comments - simplify conditions
* Fix a linting error
* Addressing PR comment - remove unused variables
* db migration for dbs
* first draft at logic
* added unit tests
* revisions
* use strings for db values
* lint and revisions to tests
* changed test back
* added revisions for testing
* Update superset/databases/commands/update.py
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
* Update superset/databases/schemas.py
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
* Update superset/models/core.py
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
* Update superset/databases/commands/update.py
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
* got rid of extra imports added new test
* Update superset/databases/schemas.py
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
* chore: use before_request hook for dynamic routes
* Shorten hook names
* Introduce with_feature_flags and update thumbnail tests
* Disable test that fails in CI but not locally
* Add test for reports
* chore(dashboard): Integrate dashboard app into the SPA bundle
* fix url params
* change variable name
* change title correctly
* custom css
* lint
* remove unused file
* remove content assertions from dashboard tests
* fix case with missing bootstrap data
* fix: respect crud views flag
* crud views -> spa
* remove unused dashboard templates
* fix: remove unused variable
* fix: missed a spot with the crudViews -> spa
* router link to dashboard from dashboard list page
* link using the router when in card mode
* lint
* fix tests, add memory router
* remove dashboard app files
* split up the bundle a little more
* use webpack preload
* fix(hive): Use parquet rather than textfile when uploading CSV files
* [csv/excel]: Use stream rather than temporary file
Co-authored-by: John Bodley <john.bodley@airbnb.com>
* First cut at adding enc type factory
* Finalized enc type factory
* Adding unit test
* PyLinting
* Adding license
* Apply suggestions from code review
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* Moving things from enc -> encrypt
* CI commit
* One more fix
* Tweaking config name
* Fixing broken test
* Fixing broken test again
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* add ui for setting report format
* refactor default notification format
* init csv data alert report
* add report format to report_schedule model
* add ALERTS_ATTACH_REPORTS feature flag
* fix lint
* update check image tag
* fix migrations
Co-authored-by: samtfm <sam@preset.io>
* add hook for future async api calls
* test to see conflict
* add async middleware and update reducers
* working async dashboard load
* implement getcharts api
* add user permissions to explore and dashboard bootstrap data
* integrate api calls with getinitial state
* update namings
* accept an id or a slug in the dashboard charts api
* add permissions function
* fix merge
* update state
* get dashboard charts by id or slug
* fix undefined states
* variable names
* stop using some more bootstrap data
* fix metadata reference
* remove unused bootstrap from the template
* add errorboundry to dashboard
* refactoring, fixing
* update permissions
* add just roles
* id is supposed to be a string
* unused vars
* get datasources from api
* make onError optional
* use resource hooks, better error boundary
* add loading state for dashboardroute
* remove console
* add conditional
* more conditionals
* testing out a possible fix for cypress
* convert edit/standalone test to cypress
* remove bootstrappy assertions
* lint
* fix dashboard edit history issue
* rename stuff
* address recent native filters schema change
* remove unused getInitialState
* remove .only from test
* hooksy redux usage
* Revert "more conditionals"
This reverts commit 25c8ed61b4.
* cleanup
* undo unnecessary change
* actually need conditions here
* certainty
* Revert "certainty"
This reverts commit 77dea1915b.
* more permutations (untested yolo)
* Update superset-frontend/src/chart/chartReducer.ts
Co-authored-by: Evan Rusackas <evan@preset.io>
* import style
* comment
* cleaner dashboardInfo
* remove debug code
* use memo for getPermissions
* fix lint
* adjust name/location of DashboardPage
* move logic for REMOVE_SLICE_LEVEL_LABEL_COLORS to DAO
* stop using full_data()
* remove unused (and now useless) json=true query param
Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com>
Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
* initial commit
* revisions
* started tests
* added unit tests
* revisions
* tests passing
* fixed api test
* Update superset/queries/saved_queries/commands/importers/v1/utils.py
Co-authored-by: Hugh A. Miles II <hughmil3s@gmail.com>
* Revert "Update superset/queries/saved_queries/commands/importers/v1/utils.py"
This reverts commit 18580aad1e.
Co-authored-by: Hugh A. Miles II <hughmil3s@gmail.com>
* add method to strip semicolon
* address comments
* test the test
* Update tests/sqla_models_tests.py
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* Update tests/sqla_models_tests.py
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* fix test
* add suggestion
* fix trailing space
* remove logger
* fix unit test
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* Add a feature flag ALERTS_ATTACH_REPORTS
* update test
* update feature flag
* add comment for feature flag
* add unit tests for alerts with attachments disabled
* fix lint
Co-authored-by: samtfm <sam@preset.io>
* Prep for migration
* Migration for execution id column
* Generate execution ids for alerts and reports
* Change execution id range
* Add execution id to API endpoint
* Add execution id to execution log view
* Change execution id range
* Change execution id to a uuid
* Fix execution id type
* Switch state and exec. id columns
* Change db column to UUIDType
* Python lint
* Fix failing frontend tests
* execution_id -> uuid
* Fix migration head
* lint
* Use celery task id as the execution id
* lint
* lint for real
* Fix tests
* fix: Escape csv content during downloads
* Reuse CsvResponse object
* Use correct mimetype for csv responses
* Ensure that headers are also escaped
* Update escaping logic
* fix(query): properly select adhoc metrics in orderby
* Throw error when sql is empty
* Allow `metrics` to be None
* Always use alias in orderby for metrics
* Bump table chart version and migrate histogram to typescript
* Fix Histogram without groupby
* Fix Presto birth names test
* Raw records mode should not aggregate
* feat: delete dataset columns and metrics on the REST API
* fix openapi spec
* change delete comparison to id
* delete columns and metrics on their namespace
* add missing licenses
* add failed test
* address comment
* feat(dashboard) dashboard/id/datasets endpoint
* schema for dashboard datasets
* list instead of map
* finish dashboard dataset schema
* description
* better test
* add the dataset schema to the schema list
* lint
* refactor out id_or_slug filter logic
* fix(dashboard): accept slug in place of id in url
* remove unnecessary show fields
* fixes and tests
* linting
* linter compliance
* change requests
* names
* fix: add config to disable dataset ownership on the old api
* fix CI docker build
* fix logic
* add deprecation comment on the config
* feat: send alerts reports errors to recipients
* update
* feat(reports): send notification on error with grace
* merge and revert config
* fix lint and MySQL test
* fix mysql tests
* refactor(api): csrf token on the new REST API
* improve OpenAPI spec description
* fix test
* remove public role like has default for all tests
* fix test
* prevent working timeout and grace period from being set to negative numbers
* add extra validation
* lint
* fix black
* fix isort
* add js tests
* fix lint + more python schema validation
* add report schema test for timeout limits
* add extra test for null grace period
* changes to support presto impersionation with ldap
* renamed method to match 30 char limit
* import spell check
* added presto impersonation test
* refactored impersionation code to generalize for extension
* moving config_args mutation to the update_connect_args_for_impersonation
* moving config_args mutation to the update_connect_args_for_impersonation
* nits
* refactored update_impersonation_config method name to match lint rule
* reduced comment line length
* black reformats
Co-authored-by: rijojoseph01 <rijo.joseph@myntra.com>
* Fixing pinot query generation for date format conversion from python datetime format to java simple date format
* Address comments
* fix test
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
* feat(dashboard): get endpoint for a dashboard's charts
* temporary debugging fetch on the frontend
* attempted fixes
* singular -> plural derp
* plural -> singular derp derp
* docstring changes
* change return, no id
* move log above query
* add get_charts to include_route_methods /)_-)
* add get charts api
* result not response
* refactor test helper function to a mixin
* add test for new endpoint
* fix test when running in isolation
* correct comment
* rename test
* more tests, handle dashboard not found
* simplify test to use new helper function
* remove debugging code from frontend
* update docstring
* attempt a doc fix
* add id to api docs
* fix docs
* use pytest fixture
* why oh why does test order matter here, idk
* writing a schema for the endpoint
* more efficient fetching of charts
* testing tweaks
Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
* Add Time Filter component
* Improve Time Filter component
* Fix import errors
* Display Time Filter
* Remove console logs
* Change Control Panel
* Remove unnecessary files
* Use time range override
* test: fix tests
* feat: re run pipeline
* fix: fix some case for Time filter
* fix: merge with master
* use original time range
* fix height
* add cross filter behavior
* apply filters on initialization
* add applied filter to overrides
* add unit tests for merge_extra_form_data
Co-authored-by: Agata Stawarz-Pastewska <agata.stawarz-pastewska@polidea.com>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
* test: dashboard_view_test failing
* test: tests works first time
* fix: pre-commit and some refactoring
* fix: after CR
* fix: replace not_published with draft
* fix: after CR
* fix: pre-commit fixes
* fix: pre-commit and lint fixes
* fix: remove unused
* fix: remove unused import
* fix: wrap the decorator to not block others
* chore: reuse dashboard from decorator into function
* refactor: migrate table chart to new API
* chore: bump superset-ui to 0.17.0
* Fix Cypress tests
* Apply soft-conversion to numeric metrics
Fix time column formatting test
* Add translation to chart does not exist error
* Bump to 0.17.1
* fix: Preserve Column Order in Bar chart
* Update tests/viz_tests.py to use f-strings style
Co-authored-by: Duy Nguyen <duy.nguyenhoang@global-fashion-group.com>
* Async queries: remove force cache param on data retrieval
* Assert equal query_object cache keys
* Decouple etag_cache from permission checks
* Fix query_context test
* Use marshmallow EnumField for validation
* test get_table_names
* test _get_full_name
* add test_split_data_type
* test _show_columns
* add test_is_column_name_quoted
* test select_star
* test get_view_names
* test estimate_statement_cost
* test get_all_datasource_names
* test get_create_view
* test _extract_error_message
* fix typo