* 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