Skip to content

Commit bdee4e9

Browse files
authored
Merge pull request #609 from actiontech/fix/issue-2267
[fix](SqlAnalyze): Modify error message display
2 parents 435511d + 177f021 commit bdee4e9

File tree

5 files changed

+37
-8
lines changed

5 files changed

+37
-8
lines changed

packages/shared/lib/api/sqle/service/common.d.ts

+2
Original file line numberDiff line numberDiff line change
@@ -2980,6 +2980,8 @@ export interface ISqlAnalysis {
29802980
}
29812981

29822982
export interface ISqlAnalysisChart {
2983+
message?: string;
2984+
29832985
points?: IChartPoint[];
29842986

29852987
x_info?: string;

packages/sqle/src/page/SqlAnalyze/ManagementConf/index.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,7 @@ const ManagementConfAnalyze = () => {
9393
sqlExecPlanCostDataSource={data}
9494
getSqlExecPlanCostDataSourceLoading={getSqlExecPlanCostDataSourceLoading}
9595
getSqlExecPlanCostDataSource={getSqlExecPlanCostDataSource}
96-
getSqlExecPlanCostDataSourceError={
97-
getSqlExecPlanCostDataSourceError?.message
98-
}
96+
getSqlExecPlanCostDataSourceError={getSqlExecPlanCostDataSourceError}
9997
showExecPlanCostChart
10098
initTime={initTime}
10199
selectedPoint={selectedPoint}

packages/sqle/src/page/SqlAnalyze/SqlManage/index.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,7 @@ const SQLManageAnalyze = () => {
9191
sqlExecPlanCostDataSource={data}
9292
getSqlExecPlanCostDataSourceLoading={getSqlExecPlanCostDataSourceLoading}
9393
getSqlExecPlanCostDataSource={getSqlExecPlanCostDataSource}
94-
getSqlExecPlanCostDataSourceError={
95-
getSqlExecPlanCostDataSourceError?.message
96-
}
94+
getSqlExecPlanCostDataSourceError={getSqlExecPlanCostDataSourceError}
9795
showExecPlanCostChart
9896
initTime={initTime}
9997
selectedPoint={selectedPoint}

packages/sqle/src/page/SqlAnalyze/hooks/__tests__/useSqlExecPlanCost.test.tsx

+23
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { mockUseCurrentProject } from '@actiontech/shared/lib/testUtil/mockHook/
88
import { translateTimeForRequest } from '@actiontech/shared/lib/utils/Common';
99
import { formatTime } from '@actiontech/shared/lib/utils/Common';
1010
import { DateRangeEnum } from '../../SqlAnalyze/ExecPlanCostChart/index.data';
11+
import { createSpySuccessResponse } from '@actiontech/shared/lib/testUtil/mockApi';
1112

1213
describe('SqlAnalyze/useSqlExecPlanCost', () => {
1314
let getSqlManageSqlAnalysisChartSpy: jest.SpyInstance;
@@ -193,4 +194,26 @@ describe('SqlAnalyze/useSqlExecPlanCost', () => {
193194
mockPoints[mockPoints.length - 1]
194195
]);
195196
});
197+
198+
it('should return error when request api failed', async () => {
199+
const { result } = renderHook(() => useSqlExecPlanCost(mockId));
200+
getSqlManageSqlAnalysisChartSpy.mockImplementation(() =>
201+
createSpySuccessResponse({
202+
data: {
203+
message: 'SQL is not supported'
204+
}
205+
})
206+
);
207+
await act(async () => {
208+
result.current.getSqlExecPlanCostDataSource({
209+
startTime: currentTime.subtract(24, 'hour'),
210+
endTime: currentTime,
211+
lastPointEnabled: true
212+
});
213+
await jest.advanceTimersByTime(3000);
214+
});
215+
expect(result.current.getSqlExecPlanCostDataSourceError).toBe(
216+
'SQL is not supported'
217+
);
218+
});
196219
});

packages/sqle/src/page/SqlAnalyze/hooks/useSqlExecPlanCost.ts

+10-2
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,17 @@ const useSqlExecPlanCost = (id: string) => {
3131
Array<IChartPoint | undefined>
3232
>([]);
3333

34+
const [
35+
getSqlExecPlanCostDataSourceError,
36+
setGetSqlExecPlanCostDataSourceError
37+
] = useState<string | undefined>(undefined);
38+
3439
const initTime = useMemo(() => dayjs(), []);
3540

3641
const {
3742
data,
3843
loading: getSqlExecPlanCostDataSourceLoading,
3944
run,
40-
error: getSqlExecPlanCostDataSourceError,
4145
mutate
4246
} = useRequest(
4347
({
@@ -69,7 +73,7 @@ const useSqlExecPlanCost = (id: string) => {
6973
const firstPoint = convertedPoints?.[0];
7074
const lastPoint = convertedPoints?.[convertedPoints.length - 1];
7175

72-
if (!selectedPoint.length) {
76+
if (!selectedPoint.length && !!convertedPoints.length) {
7377
setSelectedPoint([
7478
convertedPoints?.[convertedPoints.length - 2],
7579
lastPoint
@@ -95,6 +99,10 @@ const useSqlExecPlanCost = (id: string) => {
9599
return state;
96100
});
97101
}
102+
103+
if (!!res.data.data?.message) {
104+
setGetSqlExecPlanCostDataSourceError(res.data.data?.message);
105+
}
98106
return convertedPoints;
99107
}
100108
});

0 commit comments

Comments
 (0)