* feat: deprecate /superset/extra_table_metadata migrate to api v1
* use can_read to table_extra_metadata
* troubleshoot sqlite
* fix test
* fix test
* fix test
* fix frontend test on sqllab
* Add custom timestamp type for literal casting for presto timestamps
* Remove typo in comment
* Use process_bind_params as in sqla docs
* Uncommit local superset config
* Add DATE literal casting
* Fix lint errors and change var name
* Get rid of col_type and whitespace
* Fix linting
* Fix arg type
* Fix isort lint error
* ran black and isort locally..
* accidentally removed EOF
* Dont need eof
* Use newer string formatting style from comments
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
* Trigger notification
* Trigger notification
Co-authored-by: Kenny Kwan <kennykwan@salesforce.com>
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
* Update drill+sadrill to specify an SA URL parm of "impersonation_target".
Sqlalchemy-drill is being updated to support impersonation with the
drill+sadrill driver, where previously it did not. The way that callers
should specify impersonation matches that for the drill+jdbc driver in that
a SA URL parameter of impersonation_target should be set to the username
of the user to be impersonated, while the stadard SA username and password
should be those of the proxy user.
* Remove lint.
* Address review comments.
* Use idiomatic pytest to test for a raised exception.
* Fix import statement order in drill.py.
* + duckdb support
needs the forked version of [duckdb-engine](https://github.com/alitrack/duckdb_engine)
* Update duckdb.py
update _time_grain_expressions
* removed superfluous get_all_datasource_names def in duckdb engine spec
* added exception handling for duckdb single-threaded RuntimeError
* fixed linter blips and other stylistic cleanup in duckdb.py
* one last round of linter tweaks in test_connection.py for duckdb support
Co-authored-by: Steven Lee <admin@alitrack.com>
Co-authored-by: Richard Whaling <richardwhaling@Richards-MacBook-Pro.local>
* Fix the time grain expressions for Spark >= 2.3.0
Spark removed date format string 'u' in Spark 3.0. Switch to using date_trunc which has been around since 2.3
* Review: Pull out time_grain_expressoins into its own thing
* 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>
* 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>
* "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>
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/security/decorators.py", line 109, in wraps
return f(self, *args, **kwargs)
File "/app/superset/utils/log.py", line 164, in wrapper
value = f(*args, **kwargs)
File "/app/superset/views/core.py", line 2037, in extra_table_metadata
mydb, table_name, parsed_schema
File "/app/superset/db_engine_specs/presto.py", line 734, in extra_table_metadata
table_name, schema_name, database, show_first=True
File "/usr/local/lib/python3.7/site-packages/flask_caching/__init__.py", line 907, in decorated_function
rv = f(*args, **kwargs)
File "/app/superset/db_engine_specs/presto.py", line 977, in latest_partition
return column_names, cls._latest_partition_from_df(df)
File "/app/superset/db_engine_specs/hive.py", line 435, in _latest_partition_from_df
return [df.ix[:, 0].max().split("=")[1]]
File "/usr/local/lib/python3.7/site-packages/pandas/core/generic.py", line 5139, in __getattr__
return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'ix'
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
* 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>