From 571b3c7ed3fe3dc804434df1ad4b98e847ada75e Mon Sep 17 00:00:00 2001 From: justinpark Date: Thu, 14 Sep 2023 11:17:15 -0700 Subject: [PATCH 1/2] fix(sqllab): misplaced limit warning alert --- .../src/SqlLab/components/ResultSet/index.tsx | 169 ++++++++++-------- 1 file changed, 92 insertions(+), 77 deletions(-) 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} )} From b8f77fa7680569a2be40a9fce21cdf90412bdf9c Mon Sep 17 00:00:00 2001 From: justinpark Date: Wed, 20 Sep 2023 16:55:30 -0700 Subject: [PATCH 2/2] add race condition for REFRESH_QUERIES --- superset-frontend/src/SqlLab/reducers/sqlLab.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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, };