[sql lab]revert #4833 (#7498)

This commit is contained in:
Grace Guo 2019-05-23 17:39:40 -07:00 committed by GitHub
parent e4f8444f82
commit 20143293eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 39 deletions

View File

@ -21,7 +21,6 @@ import inspect
import logging
import os
import re
import time
import traceback
from typing import List # noqa: F401
from urllib import parse
@ -37,8 +36,7 @@ from flask_babel import gettext as __
from flask_babel import lazy_gettext as _
import pandas as pd
import simplejson as json
import sqlalchemy as sqla
from sqlalchemy import and_, create_engine, MetaData, or_, select, update
from sqlalchemy import and_, create_engine, MetaData, or_, select
from sqlalchemy.engine.url import make_url
from sqlalchemy.exc import IntegrityError
from werkzeug.routing import BaseConverter
@ -1846,7 +1844,7 @@ class Superset(BaseSupersetView):
M.Slice.id == M.Log.slice_id,
)
.filter(
sqla.and_(
and_(
~M.Log.action.in_(('queries', 'shortner', 'sql_json')),
M.Log.user_id == user_id,
),
@ -1916,7 +1914,7 @@ class Superset(BaseSupersetView):
)
.join(
models.FavStar,
sqla.and_(
and_(
models.FavStar.user_id == int(user_id),
models.FavStar.class_name == 'Dashboard',
models.Dashboard.id == models.FavStar.obj_id,
@ -1954,7 +1952,7 @@ class Superset(BaseSupersetView):
Dash,
)
.filter(
sqla.or_(
or_(
Dash.created_by_fk == user_id,
Dash.changed_by_fk == user_id,
),
@ -1987,13 +1985,13 @@ class Superset(BaseSupersetView):
db.session.query(Slice,
FavStar.dttm).join(
models.FavStar,
sqla.and_(
and_(
models.FavStar.user_id == int(user_id),
models.FavStar.class_name == 'slice',
models.Slice.id == models.FavStar.obj_id,
),
isouter=True).filter(
sqla.or_(
or_(
Slice.created_by_fk == user_id,
Slice.changed_by_fk == user_id,
FavStar.user_id == user_id,
@ -2024,7 +2022,7 @@ class Superset(BaseSupersetView):
qry = (
db.session.query(Slice)
.filter(
sqla.or_(
or_(
Slice.created_by_fk == user_id,
Slice.changed_by_fk == user_id,
),
@ -2056,7 +2054,7 @@ class Superset(BaseSupersetView):
)
.join(
models.FavStar,
sqla.and_(
and_(
models.FavStar.user_id == int(user_id),
models.FavStar.class_name == 'slice',
models.Slice.id == models.FavStar.obj_id,
@ -2803,35 +2801,6 @@ class Superset(BaseSupersetView):
.all()
)
dict_queries = {q.client_id: q.to_dict() for q in sql_queries}
now = int(round(time.time() * 1000))
unfinished_states = [
QueryStatus.PENDING,
QueryStatus.RUNNING,
]
queries_to_timeout = [
client_id for client_id, query_dict in dict_queries.items()
if (
query_dict['state'] in unfinished_states and (
now - query_dict['startDttm'] >
config.get('SQLLAB_ASYNC_TIME_LIMIT_SEC') * 1000
)
)
]
if queries_to_timeout:
update(Query).where(
and_(
Query.user_id == g.user.get_id(),
Query.client_id in queries_to_timeout,
),
).values(state=QueryStatus.TIMED_OUT)
for client_id in queries_to_timeout:
dict_queries[client_id]['status'] = QueryStatus.TIMED_OUT
return json_success(
json.dumps(dict_queries, default=utils.json_int_dttm_ser))