Skip to content

Commit 42cf3db

Browse files
authored
Merge pull request #732 from actiontech/fix/issue-2519-2-2505.x
[feature](SqlAnalyze): Add confirmation for performance data fetch
2 parents 67b8674 + 2ff9b3b commit 42cf3db

File tree

7 files changed

+75
-28
lines changed

7 files changed

+75
-28
lines changed

packages/sqle/src/locale/zh-CN/sqlQuery.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ export default {
3838
sqlExplain: '执行计划',
3939
performanceStatistics: '性能统计',
4040
getPerformanceStatistics: '获取',
41+
getPerformanceStatisticsTips:
42+
'该操作需要下发真实SQL,可能影响数据库性能,生产环境谨慎操作!确认获取吗?',
4143
affectRows: '影响行数',
4244
affectRowTips: '区别于执行计划的rows列,显示SQL的实际影响行数'
4345
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,8 @@ describe('SqlAnalyze/ManagementConfAnalyze', () => {
108108
await act(async () => jest.advanceTimersByTime(3000));
109109
fireEvent.click(screen.getByText('获 取'));
110110
await act(async () => jest.advanceTimersByTime(0));
111+
fireEvent.click(screen.getByText('确 认'));
112+
await act(async () => jest.advanceTimersByTime(0));
111113
expect(spy).toHaveBeenCalledTimes(2);
112114
expect(spy).toHaveBeenNthCalledWith(2, {
113115
project_name: projectName,

packages/sqle/src/page/SqlAnalyze/SqlAnalyze/test/__snapshots__/useSQLExecPlan.test.tsx.snap

Lines changed: 50 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -551,11 +551,17 @@ exports[`SqlAnalyze/useSQLExecPlan render generateSQLExecPlanContent when have d
551551
>
552552
<EmptyBox
553553
defaultNode={
554-
<BasicButton
554+
<ActionButton
555+
actionType="confirm"
556+
confirm={
557+
{
558+
"onConfirm": undefined,
559+
"title": "该操作需要下发真实SQL,可能影响数据库性能,生产环境谨慎操作!确认获取吗?",
560+
}
561+
}
562+
text="获取"
555563
type="primary"
556-
>
557-
获取
558-
</BasicButton>
564+
/>
559565
}
560566
>
561567
--
@@ -749,11 +755,17 @@ exports[`SqlAnalyze/useSQLExecPlan render generateSQLExecPlanContent when have d
749755
>
750756
<EmptyBox
751757
defaultNode={
752-
<BasicButton
758+
<ActionButton
759+
actionType="confirm"
760+
confirm={
761+
{
762+
"onConfirm": undefined,
763+
"title": "该操作需要下发真实SQL,可能影响数据库性能,生产环境谨慎操作!确认获取吗?",
764+
}
765+
}
766+
text="获取"
753767
type="primary"
754-
>
755-
获取
756-
</BasicButton>
768+
/>
757769
}
758770
>
759771
--
@@ -867,11 +879,17 @@ exports[`SqlAnalyze/useSQLExecPlan render generateSQLExecPlanContent when have d
867879
>
868880
<EmptyBox
869881
defaultNode={
870-
<BasicButton
882+
<ActionButton
883+
actionType="confirm"
884+
confirm={
885+
{
886+
"onConfirm": undefined,
887+
"title": "该操作需要下发真实SQL,可能影响数据库性能,生产环境谨慎操作!确认获取吗?",
888+
}
889+
}
890+
text="获取"
871891
type="primary"
872-
>
873-
获取
874-
</BasicButton>
892+
/>
875893
}
876894
>
877895
--
@@ -985,11 +1003,17 @@ exports[`SqlAnalyze/useSQLExecPlan render generateSQLExecPlanContent when have d
9851003
>
9861004
<EmptyBox
9871005
defaultNode={
988-
<BasicButton
1006+
<ActionButton
1007+
actionType="confirm"
1008+
confirm={
1009+
{
1010+
"onConfirm": undefined,
1011+
"title": "该操作需要下发真实SQL,可能影响数据库性能,生产环境谨慎操作!确认获取吗?",
1012+
}
1013+
}
1014+
text="获取"
9891015
type="primary"
990-
>
991-
获取
992-
</BasicButton>
1016+
/>
9931017
}
9941018
>
9951019
10
@@ -1103,11 +1127,17 @@ exports[`SqlAnalyze/useSQLExecPlan render generateSQLExecPlanContent when have e
11031127
>
11041128
<EmptyBox
11051129
defaultNode={
1106-
<BasicButton
1130+
<ActionButton
1131+
actionType="confirm"
1132+
confirm={
1133+
{
1134+
"onConfirm": undefined,
1135+
"title": "该操作需要下发真实SQL,可能影响数据库性能,生产环境谨慎操作!确认获取吗?",
1136+
}
1137+
}
1138+
text="获取"
11071139
type="primary"
1108-
>
1109-
获取
1110-
</BasicButton>
1140+
/>
11111141
}
11121142
>
11131143
--

packages/sqle/src/page/SqlAnalyze/SqlAnalyze/test/useSQLExecPlan.test.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,8 +213,9 @@ describe('SqlAnalyze/useSQLExecPlan', () => {
213213
</>
214214
);
215215

216-
const button = screen.getByText('获 取');
217-
fireEvent.click(button);
216+
fireEvent.click(screen.getByText('获 取'));
217+
await act(async () => jest.advanceTimersByTime(0));
218+
fireEvent.click(screen.getByText('确 认'));
218219

219220
expect(getPerformanceStatisticsSpy).toHaveBeenCalledTimes(1);
220221
});

packages/sqle/src/page/SqlAnalyze/SqlAnalyze/useSQLExecPlan.tsx

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import {
55
BasicTable,
66
BasicResult,
77
SQLRenderer,
8-
BasicButton
8+
BasicButton,
9+
ActionButton
910
} from '@actiontech/shared';
1011
import useBackendTable from '../../../hooks/useBackendTable/useBackendTable';
1112
import { SQLExecPlanItem } from './index.type';
@@ -186,12 +187,19 @@ const useSQLExecPlan = (params: ExecPlanParams) => {
186187
<EmptyBox
187188
if={isPerformanceInfoLoaded}
188189
defaultNode={
189-
<BasicButton
190+
<ActionButton
190191
type="primary"
191-
onClick={getPerformanceStatistics}
192-
>
193-
{t('sqlQuery.executePlan.getPerformanceStatistics')}
194-
</BasicButton>
192+
text={t(
193+
'sqlQuery.executePlan.getPerformanceStatistics'
194+
)}
195+
actionType="confirm"
196+
confirm={{
197+
title: t(
198+
'sqlQuery.executePlan.getPerformanceStatisticsTips'
199+
),
200+
onConfirm: getPerformanceStatistics
201+
}}
202+
/>
195203
}
196204
>
197205
{affect_rows?.count

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,8 @@ describe('SqlAnalyze/SQLManage', () => {
108108
await act(async () => jest.advanceTimersByTime(3000));
109109
fireEvent.click(screen.getByText('获 取'));
110110
await act(async () => jest.advanceTimersByTime(0));
111+
fireEvent.click(screen.getByText('确 认'));
112+
await act(async () => jest.advanceTimersByTime(0));
111113
expect(spy).toHaveBeenCalledTimes(2);
112114
expect(spy).toHaveBeenNthCalledWith(2, {
113115
project_name: projectName,

packages/sqle/src/page/SqlAnalyze/Workflow/index.test.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ describe('SqlAnalyze/Workflow', () => {
9797
await act(async () => jest.advanceTimersByTime(3000));
9898
fireEvent.click(screen.getByText('获 取'));
9999
await act(async () => jest.advanceTimersByTime(0));
100+
fireEvent.click(screen.getByText('确 认'));
101+
await act(async () => jest.advanceTimersByTime(0));
100102
expect(spy).toHaveBeenCalledTimes(2);
101103
expect(spy).toHaveBeenNthCalledWith(2, {
102104
task_id: 'taskId1',

0 commit comments

Comments
 (0)