* 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
* chore(common.utils): modified utils from module based to package based
* refactor(common.utils): move QueryCacheManager to ad-hoc module
* refactor(QueryContext): move df method utils to utils module
* 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>
* 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
* 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
* 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
* 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
* 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
* feat: rename TABLE_NAMES_CACHE_CONFIG to DATA_CACHE_CONFIG
The corresponding cache will now also cache the query results.
* Slice use DATA_CACHE_CONFIG CACHE_DEFAULT_TIMEOUT
* Add test for default cache timeout
* rename FAR_FUTURE to ONE_YEAR_IN_SECS
* Specified an exceptions in reading cache in `get_df_payload()` method
* Reverted change after review:
- added broad exception in `get_df_payload` method
* Updated common/query_context.py
- removed disabled pylint rule no-self-use from `df_metrics_to_num` since it has `@staticmethod`
- applied black on the file
* Removed disabled lint check `too-many-locals` in get_df_payload method. Applied black.
* Method `get_data()` has self param:
- removing # pylint: disable=no-self-use
- autoformatting
* Log cache keys to the logs
* Add tests
* Use separate table for the cache keys
* Add migration for the cache lookup table
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>