diff --git a/superset-frontend/src/SqlLab/components/ResultSet/index.tsx b/superset-frontend/src/SqlLab/components/ResultSet/index.tsx index 067a2c3b0..3e9c9db5c 100644 --- a/superset-frontend/src/SqlLab/components/ResultSet/index.tsx +++ b/superset-frontend/src/SqlLab/components/ResultSet/index.tsx @@ -42,6 +42,7 @@ import { css, getNumberFormatter, getExtensionsRegistry, + ErrorLevel, ErrorTypeEnum, } from '@superset-ui/core'; import ErrorMessageWithStackTrace from 'src/components/ErrorMessage/ErrorMessageWithStackTrace'; @@ -540,18 +541,33 @@ const ResultSet = ({ } if (query.state === QueryState.Failed) { + const errors = []; + if (query.errorMessage) { + errors.push({ + error_type: ErrorTypeEnum.GENERIC_DB_ENGINE_ERROR, + extra: {}, + level: 'error' as ErrorLevel, + message: query.errorMessage, + }); + } + errors.push(...(query.extra?.errors || []), ...(query.errors || [])); + return ( - {query.errorMessage}} - copyText={query.errorMessage || undefined} - link={query.link} - source="sqllab" - /> - {(query?.extra?.errors?.[0] || query?.errors?.[0])?.error_type === - ErrorTypeEnum.FRONTEND_TIMEOUT_ERROR ? ( + {errors.map((error, index) => ( + {error.message}} + copyText={error.message || undefined} + link={query.link} + source="sqllab" + /> + ))} + {errors.some( + error => error?.error_type === ErrorTypeEnum.FRONTEND_TIMEOUT_ERROR, + ) ? (