* SQL-TOP Fix For Database Engines
MSSQL is not supporting LIMIT syntax in SQLs. For limiting the rows, MSSQL having a different keyword TOP. Added fixes for handling the TOP and LIMIT clauses based on the database engines.
* Teradata code for top clause handling removed from teradata.py
Teradata code for top clause handling removed from teradata.py file, since we added generic section in base engine for the same.
* Changes to handle CTE along with TOP in complex SQLs
Added changes to handle TOP command in CTEs, for DB Engines which are not supporting inline CTEs.
* Test cases for TOP unit testing in MSSQL
Added multiple unit test cases for MSSQL top command handling and also along with CTEs
* Corrected the select_keywords name key in basengine
Corrected the select_keywords name key in basengine
* Changes based on as per review.
made the required corrections based on code review to keep good code readability and code cleanliness.
* Review changes to correct lint and typo issues
Made the changes according to the review comments.
* fix linting errors
* fix teradata tests
* add coverage
* lint
* Code cleanliness
Moved the top/limit flag check from sql_lab to core.
* Changed for code cleanliness
Changes for keeping code cleanliness
* Corrected lint issue
Corrected lint issue.
* Code cleanliness
Code cleanliness
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
* Fix for handling regular CTE queries with MSSQL,#8074
* Moved the get_cte_query function from mssql.py to base.py for using irrespetcive of dbengine
* Fix for handling regular CTE queries with MSSQL,#8074
* Moved the get_cte_query function from mssql.py to base.py for using irrespetcive of dbengine
* Unit test added for the db engine CTE SQL parsing.
Unit test added for the db engine CTE SQL parsing. Removed additional spaces from the CTE parsing SQL generation.
* implement in sqla model
* lint + cleanup
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
* Add two Kusto engine specs: KQL and SQL. Some minor changes in core code to support Kusto engine specs.
* Remove redundant imports and logging.
* docs: Kusto sqlalchemy docs
* fix: Fix mypy and linting errors
* fix: Handle Black vs Pylint checks
* fix: isort problem
* refactor: Merge kustosql and kustokql in the single kusto module
* test: Add tests for Kusto db spec
* feat: Schema override does not require in KQL anymore
* Removed redundant imports.
* Added ".show" queries to readonly query determination.
* Fixed some bugs.
Added tests for convert_dttm.
* Fixed major sqlalchemy-kusto version.
* Fixed by isort.
Co-authored-by: Eugene Bikkinin <xnegxneg@gmail.com>
Co-authored-by: k.tomak <k.tomak@dodopizza.com>
Co-authored-by: Eugene Bikkinin <e.bikkinin@dodopizza.com>
* 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
* 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
* 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
* 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>
* 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