Commit Graph

87 Commits

Author SHA1 Message Date
Hugh A. Miles II
93e1db4bd9 fix: save columns reference from sqllab save datasets flow (#24248) 2023-06-20 13:54:19 -04:00
Michael S. Molina
e5b7f7c9b5 fix: Time shifts with different granularity for ECharts (#24176) 2023-06-08 16:03:37 -03:00
John Bodley
a4d5d7c6b9 chore(pre-commit): Add pyupgrade and pycln hooks (#24197) 2023-06-01 12:01:10 -07:00
Rob Moore
6159ced86b fix: handle temporal columns in presto partitions (#24054) 2023-05-19 23:29:42 +03:00
John Bodley
4ef9d25d58 chore: Refactor [Presto|Trino]EngineSpec._partition_query (#23944) 2023-05-17 09:11:55 -07:00
Ville Brofeldt
f7dd52b8f5 feat: implement time grain in temporal filters (#24035) 2023-05-12 14:41:09 +03:00
John Bodley
100ccb759c chore(presto): Expose schema and indexes to _partition_query method (#23674)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-04-15 06:24:54 +12:00
Beto Dealmeida
2c6f581fa6 feat(postgresql): dynamic schema (#23401) 2023-03-17 17:53:42 -07:00
Beto Dealmeida
42e8d1b498 chore: improve schema security (#23385) 2023-03-17 08:05:50 -07:00
Beto Dealmeida
1b95da7487 fix: table schema permissions (#23356) 2023-03-14 15:18:18 -07:00
Hugh A. Miles II
b820eb8235 chore: Update pre-commit packages (#23173) 2023-03-13 17:05:13 -06:00
Josh Soref
dec6ac49f6 chore(backend): Spelling (#19677)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
2023-02-17 10:48:24 -07:00
Beto Dealmeida
65fffe974b chore: remove db_engines (#22444) 2023-02-13 11:20:38 -08:00
Ville Brofeldt
cd6fc35f60 chore(db_engine_specs): clean up column spec logic and add tests (#22871) 2023-01-31 15:54:07 +02:00
John Bodley
0b31b2cb87 fix(hive): Regression in #21794 (#22794) 2023-01-21 13:00:36 +13:00
Ville Brofeldt
577ac81686 chore(ci): fix numpy type errors and revert #22610 (#22782) 2023-01-19 14:53:48 +02:00
wanghong1314
8bf6d80155 fix: Stop query in SQL Lab with impala engine (#22635) 2023-01-10 16:52:07 +02:00
Ville Brofeldt
b6d39d194c feat(trino): support early cancellation of queries (#22498) 2022-12-24 06:31:46 +02:00
John Bodley
4f9c2c8165 fix(hive): Fix regression from #21943 (#22431) 2022-12-16 09:28:50 +13:00
Hugh A. Miles II
e23efefc46 feat: refactor all get_sqla_engine to use contextmanager in codebase (#21943) 2022-11-15 13:45:14 -05:00
John Bodley
eac6fdcd29 chore(sqllab): Cleanup /tables/... endpoint (#21284) 2022-09-13 08:22:12 -07:00
Đặng Minh Dũng
ccb293a083 fix(Trino): create PrestoBaseEngineSpec base class to share common code between Trino and Presto (#21066)
* chore: create `PrestoBaseEngineSpec` class that share common functions between Presto and Trino

Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>

* feat(Trino): support CertificateAuthentication

* chore(Presto): move `get_function_names` to `PrestoBaseEngineSpec`

Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>

* chores(Presto): remove `is_readonly_query`

* feat(Trino): implement `extra_table_metadata`

* feat(Trino): specify `User-Agent`

Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>

* fix: pylint

Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>

* chores(Presto): move `PrestoBaseEngineSpec` to `presto.py`

Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>

* fix(Presto): typing annotations

Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>

Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>
2022-08-29 10:21:28 +03:00
Jesse Yang
77db0651d8 feat(sql lab): display presto and trino tracking url (#20799) 2022-07-26 20:20:08 -07:00
Beto Dealmeida
e60083b45b chore: upgrade SQLAlchemy to 1.4 (#19890)
* chore: upgrade SQLAlchemy

* Convert integration test to unit test

* Fix SQLite

* Update method names/docstrings

* Skip test

* Fix SQLite
2022-07-18 15:21:38 -07:00
Susur
c4d2238a16 feat: add Spark Sql DB engine spec and support Spark 3.x (#20462)
* add apache spark3

* add Spark DB engine spec

* rebase secret key

* modify License error

* rebase databricks

* modify code style

* black code style

Co-authored-by: kai.he01 <kai.he01@idiaoyan.com>
2022-06-27 15:50:35 -07:00
John Bodley
fdf48c63f1 fix(hive): Workaround for Python 3.9 s3 transfer issue (#19887)
* fix(hive): Workaround for Python 3.9 s3 transfer issue

* Update hive.py
2022-05-04 08:14:40 -07:00
Craig Rueda
f64d654de3 chore(database): Creating helper make_url_safe to wrap potential errors (#19526)
* Creating helper make_url_safe to wrap potential errors

* Fixing imports

* Fixing imports again

* Adding comment

* Linting

* Fixing test

* Fixing test again...

* Fixing import
2022-04-05 11:17:30 -07:00
Ville Brofeldt
a619cb4ea9 chore: upgrade black (#19410) 2022-03-29 20:03:09 +03:00
saurabh gulati
d632590eff stop query on the processing engine when user clicks STOP on SQL Lab (#18789)
Co-authored-by: Saurabh Gulati <saurabh.gulati@fedex.com>
2022-02-22 09:19:34 +02:00
aniaan
5a1c68177e fix(elasticsearch): time_zone setting does not work for cast datetime expressions (#17048)
* fix(elasticsearch): cast does not take effect for time zone settings

* test(elasticsearch): add test

* fix(test): fix typo

* docs(elasticsearch): add annotation

* docs(elasticsearch): add time_zone desc

* docs(elasticsearch): fix typo

* refactor(db_engine): change convert_dttm signature

* fix(test): fix test

* fix(es): add try catch

* fix(test): fix caplog

* fix(test): fix typo
2021-11-25 11:58:44 +02:00
Long Le Xich
bc855f4040 fix(hive): Update _latest_partition_from_df in HiveEngineSpec to work on tables with multiple indexes (#14302)
* 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>
2021-11-23 10:07:47 +02:00
minzhang2110
9741eaa731 Fix 'DataFrame' object has no attribute 'ix' (#12092)
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>
2021-11-15 16:52:50 +02:00
CodeingBoy
2544a4a8ac fix(sqllab): Bugfix for tracking url transformation (#17263)
* Bugfix for tracking url transformation

* Fix linting
2021-11-11 11:16:55 +02:00
John Bodley
b9ff85d9ea chore(engine): Translate fractional time grains—requires @superset-ui bump (#17078)
* chore(engine): Translate fractional time grains

* Bump @superset-ui

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2021-10-12 21:40:48 -07:00
Beto Dealmeida
0ea83c5a00 feat: add Databricks ODBC engine spec (#16862)
* feat: add Databricks ODBC engine spec

* Rename Databricks specs
2021-09-28 19:36:28 -07:00
ofekisr
c520eb79b0 refactor: sqllab: move sqllab ralated enumns and utils to more logical place (#16843)
* refactor move QueryStatus to common

* refactor move apply_display_max_row_limit to sqllab package

* refactor move limiting_factor to sqllab package

* fix pylint issues
2021-09-26 21:15:57 +03:00
John Bodley
0df15bf207 chore(pylint): Reenable import-outside-toplevel check (#16263)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2021-08-17 05:20:13 +12:00
John Bodley
6d3e19d857 fix(15403): Re-enable canceling query for Hive and Presto (#15878)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2021-07-26 08:04:56 -07:00
Beto Dealmeida
8f92618e46 fix: show all dbs in available endpoint (#15534) 2021-07-02 12:58:36 -07:00
Beto Dealmeida
ffdbcbd16e fix: ignore errors in GetLog (#15181) 2021-06-15 16:33:59 -07:00
Sam Faber-Manning
11260b3117 chore: add stack trace to all calls of logger.error (#14382) 2021-04-30 09:22:05 -07:00
John Bodley
d8bb2d3e62 refactor(db_engine_specs): Removing top-level import of app (#14366)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2021-04-28 15:47:32 +12:00
John Bodley
b0f8f6b6ad fix(hive): Use parquet rather than textfile when uploading CSV files to Hive (#14240)
* 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>
2021-04-24 18:17:30 +12:00
Beto Dealmeida
919fd496a9 WIP (#14252) 2021-04-23 16:59:44 -07:00
Jesse Yang
4789074309 fix(sqla-query): order by aggregations in Presto and Hive (#13739) 2021-04-01 18:10:17 -07:00
rijojoseph07
efeb5a93e6 feat(presto): add support for user impersonation (#13214)
* changes to support presto impersionation with ldap

* renamed method to match 30 char limit

* import spell check

* added presto impersonation test

* refactored impersionation code to generalize for extension

* moving config_args mutation to the update_connect_args_for_impersonation

* moving config_args mutation to the update_connect_args_for_impersonation

* nits

* refactored update_impersonation_config method name to match lint rule

* reduced comment line length

* black reformats

Co-authored-by: rijojoseph01 <rijo.joseph@myntra.com>
2021-02-22 15:01:33 +02:00
Bogdan
0396c705d4 chore: Support SET & SHOW commands as read only SQL commands (#11868)
* Support SET & SHOW commands as read only SQL commands

* Move is_readonly definition into the engine spec

* Rename & use super()

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-12-03 10:44:11 -08:00
Jesse Yang
4cfcaebb61 feat: rename TABLE_NAMES_CACHE_CONFIG to DATA_CACHE_CONFIG (#11509)
* 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
2020-11-13 22:35:10 -08:00
Kasia Kucharczyk
a6f258747b fix: enable pylint rules in db_engine_specs module (#10998)
* 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
2020-09-22 13:44:45 -07:00
Ville Brofeldt
dd0bc472e3 refactor(database): use SupersetResultSet on SqlaTable.get_df() (#10707)
* refactor(database): use SupersetResultSet on SqlaTable.get_df()

* lint

* change cypress test
2020-08-28 21:12:03 +03:00