You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by jo...@apache.org on 2020/06/17 15:03:13 UTC
[incubator-superset] branch master updated: fix: Ensuring queries
route accepts float or int (#10079)
This is an automated email from the ASF dual-hosted git repository.
johnbodley pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git
The following commit(s) were added to refs/heads/master by this push:
new eba1fe2 fix: Ensuring queries route accepts float or int (#10079)
eba1fe2 is described below
commit eba1fe2ebb45a7a27d547a268c8097703e01b5b1
Author: John Bodley <45...@users.noreply.github.com>
AuthorDate: Wed Jun 17 08:02:49 2020 -0700
fix: Ensuring queries route accepts float or int (#10079)
Co-authored-by: John Bodley <jo...@airbnb.com>
---
superset/views/core.py | 15 ++++++++-------
tests/sqllab_tests.py | 2 ++
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/superset/views/core.py b/superset/views/core.py
index e173972..ad0343c 100755
--- a/superset/views/core.py
+++ b/superset/views/core.py
@@ -2658,17 +2658,18 @@ class Superset(BaseSupersetView):
return json_success(json.dumps(datasource.data))
@has_access_api
- @expose("/queries/<last_updated_ms>")
- def queries(self, last_updated_ms: str) -> FlaskResponse:
+ @expose("/queries/<float:last_updated_ms>")
+ @expose("/queries/<int:last_updated_ms>")
+ def queries(self, last_updated_ms: Union[float, int]) -> FlaskResponse:
"""
Get the updated queries.
- :param last_updated_ms: unix time, milliseconds
+ :param last_updated_ms: Unix time (milliseconds)
"""
- last_updated_ms_int = int(float(last_updated_ms)) if last_updated_ms else 0
- return self.queries_exec(last_updated_ms_int)
- def queries_exec(self, last_updated_ms: int) -> FlaskResponse:
+ return self.queries_exec(last_updated_ms)
+
+ def queries_exec(self, last_updated_ms: Union[float, int]) -> FlaskResponse:
stats_logger.incr("queries")
if not g.user.get_id():
return json_error_response(
@@ -2676,7 +2677,7 @@ class Superset(BaseSupersetView):
)
# UTC date time, same that is stored in the DB.
- last_updated_dt = utils.EPOCH + timedelta(seconds=last_updated_ms / 1000)
+ last_updated_dt = datetime.utcfromtimestamp(last_updated_ms / 1000)
sql_queries = (
db.session.query(Query)
diff --git a/tests/sqllab_tests.py b/tests/sqllab_tests.py
index e88c1b0..7c1b0e6 100644
--- a/tests/sqllab_tests.py
+++ b/tests/sqllab_tests.py
@@ -192,6 +192,8 @@ class SqlLabTests(SupersetTestCase):
self.login("admin")
data = self.get_json_resp("/superset/queries/0")
self.assertEqual(2, len(data))
+ data = self.get_json_resp("/superset/queries/0.0")
+ self.assertEqual(2, len(data))
# Run 2 more queries
self.run_sql("SELECT * FROM birth_names LIMIT 1", client_id="client_id_4")