fix: use custom int parsing over flask int parsing in sqllab queries endpoint (#10070)

This commit is contained in:
ʈᵃᵢ 2020-06-16 12:58:32 -07:00 committed by GitHub
parent 334bd6e989
commit 26120467af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -2658,14 +2658,15 @@ class Superset(BaseSupersetView):
return json_success(json.dumps(datasource.data)) return json_success(json.dumps(datasource.data))
@has_access_api @has_access_api
@expose("/queries/<int:last_updated_ms>") @expose("/queries/<last_updated_ms>")
def queries(self, last_updated_ms: int) -> FlaskResponse: def queries(self, last_updated_ms: str) -> FlaskResponse:
""" """
Get the updated queries. Get the updated queries.
:param last_updated_ms: unix time, milliseconds :param last_updated_ms: unix time, milliseconds
""" """
return self.queries_exec(last_updated_ms) 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: def queries_exec(self, last_updated_ms: int) -> FlaskResponse:
stats_logger.incr("queries") stats_logger.incr("queries")

View File

@ -210,7 +210,7 @@ class SqlLabTests(SupersetTestCase):
db.session.commit() db.session.commit()
data = self.get_json_resp( data = self.get_json_resp(
"/superset/queries/{}".format(int(datetime_to_epoch(now)) - 1000) "/superset/queries/{}".format(float(datetime_to_epoch(now)) - 1000)
) )
self.assertEqual(1, len(data)) self.assertEqual(1, len(data))