fix(sql lab): display the 'View Results' button consistently in the history tab on sync mode (#19362)

* fix(sql lab): display the 'View Results' button in the history tab when running sync queries

* pr comment
This commit is contained in:
Diego Medina 2022-04-13 12:20:32 -04:00 committed by GitHub
parent c8304a2821
commit 6d5d03e592
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 2 deletions

View File

@ -247,9 +247,16 @@ export default class ResultSet extends React.PureComponent<
this.clearQueryResults(nextProps.query),
);
}
// Only fetch results if the result key change
// If we didn't have a result key before, then the results are loaded elsewhere
// so we can skip it, unless the query id changed, in that case we should
// refetch regardless.
if (
nextProps.query.resultsKey &&
nextProps.query.resultsKey !== this.props.query.resultsKey
(this.props.query.resultsKey &&
nextProps.query.resultsKey &&
nextProps.query.resultsKey !== this.props.query.resultsKey) ||
(nextProps.query.id !== this.props.query.id && nextProps.query.resultsKey)
) {
this.fetchResults(nextProps.query);
}

View File

@ -328,8 +328,10 @@ export default function sqlLabReducer(state = {}, action) {
if (action.query.state === 'stopped') {
return state;
}
const alts = {
endDttm: now(),
resultsKey: action?.results?.query?.resultsKey,
progress: 100,
results: action.results,
rows: action?.results?.query?.rows || 0,

View File

@ -528,6 +528,8 @@ def execute_sql_statements( # pylint: disable=too-many-arguments, too-many-loca
if store_results and results_backend:
key = str(uuid.uuid4())
payload["query"]["resultsKey"] = key
logger.info(
"Query %s: Storing results in results backend, key: %s", str(query_id), key
)