diff --git a/superset-frontend/src/SqlLab/components/ResultSet/index.tsx b/superset-frontend/src/SqlLab/components/ResultSet/index.tsx
index f1c48531f0e8..e16fc569e667 100644
--- a/superset-frontend/src/SqlLab/components/ResultSet/index.tsx
+++ b/superset-frontend/src/SqlLab/components/ResultSet/index.tsx
@@ -301,7 +301,7 @@ const ResultSet = ({
return
;
};
- const renderRowsReturned = () => {
+ const renderRowsReturned = (alertMessage: boolean) => {
const { results, rows, queryLimit, limitingFactor } = query;
let limitMessage = '';
const limitReached = results?.displayLimitReached;
@@ -353,59 +353,70 @@ const ResultSet = ({
const tooltipText = `${rowsReturnedMessage}. ${limitMessage}`;
+ if (alertMessage) {
+ return (
+ <>
+ {!limitReached && shouldUseDefaultDropdownAlert && (
+
+
setAlertIsOpen(false)}
+ description={t(
+ 'The number of rows displayed is limited to %(rows)d by the dropdown.',
+ { rows },
+ )}
+ />
+
+ )}
+ {limitReached && (
+
+
setAlertIsOpen(false)}
+ message={t('%(rows)d rows returned', { rows: rowsCount })}
+ description={
+ isAdmin
+ ? displayMaxRowsReachedMessage.withAdmin
+ : displayMaxRowsReachedMessage.withoutAdmin
+ }
+ />
+
+ )}
+ >
+ );
+ }
+ const showRowsReturned =
+ showSqlInline || (!limitReached && !shouldUseDefaultDropdownAlert);
+
return (
-
- {!limitReached && !shouldUseDefaultDropdownAlert && (
-
-
-
- )}
- {!limitReached && shouldUseDefaultDropdownAlert && (
-
-
setAlertIsOpen(false)}
- description={t(
- 'The number of rows displayed is limited to %(rows)d by the dropdown.',
- { rows },
- )}
- />
-
- )}
- {limitReached && (
-
-
setAlertIsOpen(false)}
- message={t('%(rows)d rows returned', { rows: rowsCount })}
- description={
- isAdmin
- ? displayMaxRowsReachedMessage.withAdmin
- : displayMaxRowsReachedMessage.withoutAdmin
- }
- />
-
+
+
+
)}
-
+ >
);
};
@@ -531,35 +542,39 @@ const ResultSet = ({
{renderControls()}
{showSql && showSqlInline ? (
-
-
+
- {sql}
-
- {renderRowsReturned()}
-
+
+ {sql}
+
+ {renderRowsReturned(false)}
+
+ {renderRowsReturned(true)}
+ >
) : (
<>
- {renderRowsReturned()}
+ {renderRowsReturned(false)}
+ {renderRowsReturned(true)}
{sql}
>
)}
diff --git a/superset-frontend/src/SqlLab/reducers/sqlLab.js b/superset-frontend/src/SqlLab/reducers/sqlLab.js
index 5b71a240363c..4d27836da119 100644
--- a/superset-frontend/src/SqlLab/reducers/sqlLab.js
+++ b/superset-frontend/src/SqlLab/reducers/sqlLab.js
@@ -637,7 +637,11 @@ export default function sqlLabReducer(state = {}, action) {
// when it started fetching or finished rendering results
state:
currentState === QueryState.SUCCESS &&
- [QueryState.FETCHING, QueryState.SUCCESS].includes(prevState)
+ [
+ QueryState.FETCHING,
+ QueryState.SUCCESS,
+ QueryState.RUNNING,
+ ].includes(prevState)
? prevState
: currentState,
};