Commit Graph

979 Commits

Author SHA1 Message Date
Jesse Yang 4789074309
fix(sqla-query): order by aggregations in Presto and Hive (#13739) 2021-04-01 18:10:17 -07:00
Lily Kuang 762101018b
feat(alert/report): add ALERTS_ATTACH_REPORTS feature flags + feature (#13894)
* Add a feature flag ALERTS_ATTACH_REPORTS

* update test

* update feature flag

* add comment for feature flag

* add unit tests for alerts with attachments disabled

* fix lint

Co-authored-by: samtfm <sam@preset.io>
2021-04-01 13:06:45 -07:00
Ben Reinhart ca506e9396
fix(#13378): Ensure g.user is set for impersonation (#13878) 2021-03-31 11:22:56 -07:00
Jack Fragassi 304e3b36eb
feat(alerts & reports): Easier to read execution logs (#13752)
* Prep for migration

* Migration for execution id column

* Generate execution ids for alerts and reports

* Change execution id range

* Add execution id to API endpoint

* Add execution id to execution log view

* Change execution id range

* Change execution id to a uuid

* Fix execution id type

* Switch state and exec. id columns

* Change db column to UUIDType

* Python lint

* Fix failing frontend tests

* execution_id -> uuid

* Fix migration head

* lint

* Use celery task id as the execution id

* lint

* lint for real

* Fix tests
2021-03-30 08:46:16 -07:00
Ben Reinhart 55ba47ec2e
fix(#13734): Properly escape special characters in CSV output (#13735)
* fix: Escape csv content during downloads

* Reuse CsvResponse object

* Use correct mimetype for csv responses

* Ensure that headers are also escaped

* Update escaping logic
2021-03-26 15:22:00 -07:00
Ville Brofeldt 5ae91e2dd8
feat(rls): enable row level security by default (#13772) 2021-03-26 17:40:41 +02:00
Elizabeth Thompson 086238fb10
feat: sort time grain configs (#13720)
* sort time grain configs

* Fix lint

Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2021-03-25 18:00:52 -07:00
Ville Brofeldt 13f7e0d755
feat(native-filters): add temporal support to select filter (#13622) 2021-03-18 16:15:43 +02:00
Lily Kuang 3f2e2c9976
fix(alert|report): allow null on chart and dashboard field (#13680)
* allow null on chart and dashboard field

* update api test
2021-03-18 09:17:50 +00:00
Beto Dealmeida db57f90a34
feat: better error message when adding DBs (#13601)
* WIP

* Adding tests

* Add unit tests

* Show error message

* Fix lint

* Fix after rebase
2021-03-17 20:29:26 -07:00
Jesse Yang bd1d6acb0c
fix(query): order by adhoc metrics should trigger group by (#13434)
* 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
2021-03-16 21:00:03 -07:00
ʈᵃᵢ 3078c84d40
feat(reports): SLACK_API_TOKEN as callable or str (#13634) 2021-03-16 10:06:29 -06:00
Daniel Vaz Gaspar 1e88408418
fix: better handle datasource exceptions (#13578)
* fix: handle datasource injected security exception

* add tests

* fix error text on create update dbs

* fix lint

* revert create update message

* fix test

* add sqlalchemy exceptions
2021-03-15 22:46:51 +00:00
Nikola Gigić 335415f5a2
dynamic dttm fix for test_convert_dttm (#13626) 2021-03-15 23:14:50 +02:00
Daniel Vaz Gaspar d1e93078f4
fix: delete dataset columns and metrics on the REST API (#13389)
* feat: delete dataset columns and metrics on the REST API

* fix openapi spec

* change delete comparison to id

* delete columns and metrics on their namespace

* add missing licenses

* add failed test

* address comment
2021-03-15 18:14:26 +00:00
Erik Ritter 06d6d7f8e2
fix: ParsedQuery subselect edge case (#13602) 2021-03-12 14:54:02 -08:00
Nikola Gigić 609c3594ef
feat(explore): Postgres datatype conversion (#13294)
* test

* unnecessary import

* fix lint

* changes

* fix lint

* changes

* changes

* changes

* changes

* answering comments & changes

* answering comments

* answering comments

* changes

* changes

* changes

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests
2021-03-12 10:36:43 +02:00
David Aaron Suddjian 1b95ed7267
feat(dashboard): dashboard/id/datasets endpoint (#13523)
* feat(dashboard) dashboard/id/datasets endpoint

* schema for dashboard datasets

* list instead of map

* finish dashboard dataset schema

* description

* better test

* add the dataset schema to the schema list

* lint
2021-03-11 17:43:33 -08:00
Srini Kadamati bebac5921b
feat: add connector for CrateDB (#13152)
* feat: add connector for CrateDB

* added crate

* fix PyPI reference

* add tests

* added more clarity on installing crate

* fix test

Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2021-03-11 23:03:22 +02:00
Jesse Yang b9884fb55b
fix: `IS NULL` filter operator for numeric columns (#13496) 2021-03-10 10:15:25 -08:00
Ville Brofeldt 375797f649
feat(native-filters): add timegrain and column filter (#13484)
* feat(native-filters): add timegrain and column filter

* add fetch values predicate

* bump deps

* lint

* fix test

* add python test for legacy merge

* fix default value and isInitialized to not check strict equality

* Address comments

* add FilterValue type

* address review comments
2021-03-09 17:27:46 +02:00
Hugh A. Miles II c91c45574b
feat: add event_logger to test_connection and create_database commands (#13468)
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2021-03-09 08:17:13 -05:00
Daniel Vaz Gaspar 139c7878a5
fix(alerts&reports): add celery soft timeout support (#13436)
* fix(alerts&reports): add celery soft timeout support

* make a specific exception for screenshots timeout

* fix docs, add new test
2021-03-08 14:21:18 +00:00
Hugh A. Miles II b17e7aa5c9
feat: refactor on DBEventLogger to allow for context management (#13441)
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2021-03-05 15:12:42 -05:00
David Aaron Suddjian 491fbd16f7
fix(dashboard): Get dashboard by slug (#13352)
* refactor out id_or_slug filter logic

* fix(dashboard): accept slug in place of id in url

* remove unnecessary show fields

* fixes and tests

* linting

* linter compliance

* change requests

* names
2021-03-05 10:11:21 -08:00
Beto Dealmeida 9fc03f0424
fix: API to allow importing old exports (JSON/YAML) (#13444)
* fix: fix API to allow importing old exports (JSON/YAML)

* Fix test

* Fix lint

* Add description to API schema
2021-03-04 17:18:27 -08:00
Beto Dealmeida 528ea9cbb0
fix: SHOW is not DML (#13464)
* fix: SHOW is not DML

* Fix test
2021-03-04 17:17:25 -08:00
Daniel Vaz Gaspar c3c73763d0
fix: url shortener invalid input (#13461)
* fix: url shortner invalid input

* fix lint
2021-03-04 20:46:45 +00:00
Mayur 8b38d63b7d
changes added (#13431) 2021-03-03 13:52:54 +02:00
John Bodley 694ae6f90e
fix(query-object): extra time-range-endpoints (#13331)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2021-03-03 13:22:07 +13:00
Ville Brofeldt 70e12ed27d
chore: bump pyarrow and pandas (#12882)
* bump pyarrow and pandas

* remove df copy
2021-03-02 19:44:53 +02:00
Beto Dealmeida 08183dfe57
feat: add unit test for LimitMethod.FETCH_MANY (#13364) 2021-03-01 10:55:37 -08:00
Beto Dealmeida 892eef1af6
feat: add Firebird DB engine spec (#13353)
* feat: add Firebird DB engine spec

* Add dep to setup.py

* Fix lint

* Add tests

* Remove uneeded code

* Fix old bug
2021-02-26 12:07:27 -08:00
Yongjie Zhao 94d0bb9e7f
fix: date picker support date unit with singular and plural (#13330)
* fix: date picker support date unit with singular and plural

* fix grammar
2021-02-25 17:38:23 +08:00
Daniel Vaz Gaspar 0b114fcbc5
feat(reports): send notification on error with grace (#13135)
* fix: add config to disable dataset ownership on the old api

* fix CI docker build

* fix logic

* add deprecation comment on the config

* feat: send alerts reports errors to recipients

* update

* feat(reports): send notification on error with grace

* merge and revert config

* fix lint and MySQL test

* fix mysql tests
2021-02-24 13:31:31 -08:00
Ville Brofeldt 0a00153375
feat(chart-data): add rowcount, timegrain and column result types (#13271)
* feat(chart-data): add rowcount, timegrain and column result types

* break out actions from query_context

* rename module
2021-02-24 07:43:47 +02:00
Daniel Vaz Gaspar 6e3121268e
fix(alerts): Handle None on results (#13289) 2021-02-23 09:50:55 +00:00
Daniel Vaz Gaspar 9e2455aab7
refactor(api): csrf token on the new REST API (#13212)
* refactor(api): csrf token on the new REST API

* improve OpenAPI spec description

* fix test

* remove public role like has default for all tests

* fix test
2021-02-23 09:50:22 +00:00
Karol Kostrzewa a5a31e0e60
fix schedules tests (#12870)
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2021-02-22 22:21:19 -08:00
Karol Kostrzewa 974f4476e5
fix reports/commands_tests (#12864)
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2021-02-22 14:53:14 -08:00
Moriah Kreeger fc180ab2a6
fix: add alert report timeout limits (#12926)
* prevent working timeout and grace period from being set to negative numbers

* add extra validation

* lint

* fix black

* fix isort

* add js tests

* fix lint + more python schema validation

* add report schema test for timeout limits

* add extra test for null grace period
2021-02-22 11:12:10 -08: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
Lily Kuang d8bd8ec896
fix(alert/report): alert modal loading dropdown options (#13222)
* alert modal loading

* add ui test
2021-02-22 01:59:33 +00:00
Xiang Fu 786c12d52d
fix: Fixing pinot query generation for date format conversion from python datetime format to java simple date format (#13163)
* Fixing pinot query generation for date format conversion from python datetime format to java simple date format

* Address comments

* fix test

Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2021-02-20 08:26:34 +02:00
Beto Dealmeida 3d23adec5e
chore: use shillelagh instead of gsheetsdb (#13185)
* chore: use shillelagh instead of gsheetsdb

* Fix tests

* Clean up code and remove duplication

* Fix test

* Tighten dep
2021-02-18 09:48:18 -08:00
Daniel Vaz Gaspar 4c544500a7
fix(api): apply dashboard filter to get dash charts API (#13173)
* fix(api): apply dashboard filter to get dash charts API

* lint
2021-02-17 13:42:07 -08:00
Daniel Vaz Gaspar 13a5b439fe
feat(alerts): apply SQL limit to all alerts (#13150)
* feat(alerts): apply SQL limit to all alerts

* change limit to 2 and test

* undo mock

* mock, mock and mock

* lint
2021-02-17 18:03:35 +00:00
Daniel Vaz Gaspar 9568985b7b
fix: engines that don't support comments (#13153)
* fix: engines that don't support comments

* fix: engines that don't support comments

* add quick inexpensive test

* add test
2021-02-17 18:01:34 +00:00
Ville Brofeldt d8c32b8097
fix(chart-data-api): support numeric temporal columns (#13138) 2021-02-16 09:51:22 +02:00
David Aaron Suddjian cc9103b0e2
feat(dashboard): API to get a dashboard's charts (#12978)
* feat(dashboard): get endpoint for a dashboard's charts

* temporary debugging fetch on the frontend

* attempted fixes

* singular -> plural derp

* plural -> singular derp derp

* docstring changes

* change return, no id

* move log above query

* add get_charts to include_route_methods /)_-)

* add get charts api

* result not response

* refactor test helper function to a mixin

* add test for new endpoint

* fix test when running in isolation

* correct comment

* rename test

* more tests, handle dashboard not found

* simplify test to use new helper function

* remove debugging code from frontend

* update docstring

* attempt a doc fix

* add id to api docs

* fix docs

* use pytest fixture

* why oh why does test order matter here, idk

* writing a schema for the endpoint

* more efficient fetching of charts

* testing tweaks

Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
2021-02-15 11:41:59 -08:00