* Enabled mssql
* Enabling pylint rules in `mysql.py` from `db_engine_specs`:
- added variable to shorten line and enable `line-too-long`
- `import-error` seems not prompting anymore
- specified exception instead broad-except
* Refactored too long line in `oracle.py` from `db_engine_specs`. Enabled too-long-line pylint rule.
* Changed fstring into string `pinot.py` to reenable `f-string-without-interpolation` rule.
* Enabled `unused-import` rule and changed line to adjust to correct number of characters in `db_engine_specs/postgres.py`.
* Enabled unused-import pylint check in `db_engine_specs/presto.py`
* Enabled unused-import pylint check in `db_engine_specs/snowflake.py`
* Enabled unused-import pylint check in `db_engine_specs/sqlite.py`
* Athena.py: cretaed variable for too long line, removed disabled pylint rule.
* Enabled `line-too-long` in `drill.py`. Added variable for too long string.
* Reformatted hana.py:
- changed return statement into two lines to keep line lenght limit
* Enabling pylint rule in hive.py:
- `no-name-in-module` for pyhive in several places
- `line-too-long` and adding new lines
- `unused-import` is not invalid anymore
* Enabled `line-too-long` in `kylin.py`. Added variable for too long string.
* Enabled `unused_import` in `base.py` from db_engine_specs module.
* Enabled `unused_import` in `bigquery.py` from db_engine_specs module.
* Enabled `unused_import` in `druid.py` from db_engine_specs module.
* fix: athena datetime string converting
* fix execute oracle DML statement bug in sqllab
when i execute oracle sql statements like update in SQLLAB, get "oracle error: not a query" error.
Refer https://www.python.org/dev/peps/pep-0249/, superset old version use
`cursor.description` ,because this attribute will be None for operations that do not return rows or if the cursor has not had an operation invoked via the .execute*() method yet.
* Apply suggestions from code review
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* Update oracle.py
* Update oracle.py
* Update oracle.py
* Apply suggestions from code review
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* Update oracle.py
* Update superset/db_engine_specs/oracle.py
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* chore: Adding pip-compile-multi et al
* Specify requirements.txt path for fossa
* [ci] Fixing CI
Co-authored-by: John Bodley <john.bodley@airbnb.com>
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* Support more table properties for the hive upload
Refactor
Add tests, and refactor them to be pytest friendly
Use lowercase table names
Ignore isort
* Use sql params
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* feat: add support for alerts
* Add ModelViews
* First pass at adding scheduled Alert support
* Fix syntax errors
* Add log_retention and database to model
* Improving screenshots
* Still refactoring screenshots
* Pass down thumb_size properly
* Progress on screenshot endpoint
* Add alerts.last_eval_dttm and alert query logic
* Getting ready to split compute_screenshot and screenshot/{SHA}
* split the endpoints
* Improving alerting loop
* empty methods
* Add CLI command 'superset alert' that runs a sched loop
* Getting things to work
* email delivery
* A working email\!
* Add feature flag
* Add some description_columns to AlertModelView
* Little tweaks
* Use database.get_df, eval cells for truthiness
* Migrate thumbnail/screenshot functions to use new arg pattern
* Addressing PR feedback
* Update alerts DB migration down_revision
* Resolve _deliver_email arg conflict
* Make mypy happy
* Make isort happy
* Make pylint happy
Co-authored-by: Rob DiCiuccio <rob.diciuccio@gmail.com>
* fix: make auth for hive optional
This will make allow the admin to setup a root connection which can be impersonated.
* style: black lint conform
* style: clean up unnecessary condition expansion
* feat: Add new timegrains and convert_dttm to Druid engine spec
* Add TemporalType enum and fix test case
* Remove DATETIME for athena (original spec)
* Bump pylint version to 2.5.3
* Add a global disable for the most common new pylint error
* Fix a bunch of files containing very few errors
* More pylint tweakage, low-hanging fruit
* More easy stuff...
* Fix more erroring files
* Fix the last couple of errors, clean pylint!
* Black
* Fix mypy issue in connectors/druid/models.py
* Make schema name configurable
Fixing unit tests
Fix table quoting
Mypy
Split tests out for sqlite
Grant more permissions for mysql user
Postgres doesn't support if not exists
More logging
Commit for table creation
Priviliges for postgres
Update tests
Resolve comments
Lint
No limits for the CTA queries if configures
* CTA -> CTAS and dict -> {}
* Move database creation to the .travis file
* Black
* Move tweaks to travis db setup
* Remove left over version
* Address comments
* Quote table names in the CTAS queries
* Pass tmp_schema_name for the query execution
* Rebase alembic migration
* Switch to python3 mypy
* SQLLAB_CTA_SCHEMA_NAME_FUNC -> SQLLAB_CTAS_SCHEMA_NAME_FUNC
* Black