From 4d49477365855f4c6e6be4eab1082e8438550ca2 Mon Sep 17 00:00:00 2001
From: zzyangh <799463087@qq.com>
Date: Mon, 2 Dec 2024 16:42:14 +0800
Subject: [PATCH 1/3] [fix](SqlExecWorkflow): Capture unformatted SQL errors
---
.../Common/ResultCard/SqlMode.tsx | 6 +-
.../ResultCard/__tests__/SqlMode.test.tsx | 16 +
.../__snapshots__/SqlMode.test.tsx.snap | 611 ++++++++++++++++++
3 files changed, 632 insertions(+), 1 deletion(-)
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/SqlMode.tsx b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/SqlMode.tsx
index a208b1c23..2ffd24b36 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/SqlMode.tsx
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/SqlMode.tsx
@@ -85,7 +85,11 @@ const SqlMode: React.FC = ({
};
const formattedRollbackSql = useMemo(() => {
- return props.rollback_sqls?.map((v) => formatterSQL(v))?.join('\n');
+ try {
+ return props.rollback_sqls?.map((v) => formatterSQL(v))?.join('\n');
+ } catch (error) {
+ return props.rollback_sqls?.join('\n');
+ }
}, [props.rollback_sqls]);
return (
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.test.tsx b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.test.tsx
index e0f7016aa..6158465bc 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.test.tsx
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.test.tsx
@@ -216,4 +216,20 @@ describe('sqle/ExecWorkflow/AuditDetail/SqlMode', () => {
expect(screen.getByText('关联回滚工单')).toBeInTheDocument();
expect(baseElement).toMatchSnapshot();
});
+
+ it('render can not format rollback sql', async () => {
+ const { baseElement } = customRender({
+ number: 1,
+ exec_sql: 'exec_sql cont',
+ rollback_sqls: [
+ "CREATE TABLE public.example_table (\nid int4 NOT NULL DEFAULT nextval('example_table_id_seq'::regclass),\nname varchar(255) NOT NULL,\nage int4 NOT NULL,\ncreated_at timestamp DEFAULT CURRENT_TIMESTAMP);",
+ '\n\nCREATE UNIQUE INDEX example_table_pkey ON public.example_table USING btree (id);'
+ ],
+ backup_strategy: AuditTaskSQLResV2BackupStrategyEnum.reverse_sql,
+ exec_result: 'success'
+ });
+ fireEvent.click(screen.getByText('回滚语句'));
+ await act(async () => jest.advanceTimersByTime(500));
+ expect(baseElement).toMatchSnapshot();
+ });
});
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/__snapshots__/SqlMode.test.tsx.snap b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/__snapshots__/SqlMode.test.tsx.snap
index ffe36eb54..7d62eb45d 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/__snapshots__/SqlMode.test.tsx.snap
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/__snapshots__/SqlMode.test.tsx.snap
@@ -852,6 +852,617 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render backup strategy tip 1`] =
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 所在行
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+ exec_sql cont
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+ CREATE
+
+
+
+ TABLE
+
+ public.example_table (
+
+
+
+ 2
+
+ id int4
+
+ NOT
+
+
+
+ NULL
+
+
+
+ DEFAULT
+
+ nextval(
+
+ 'example_table_id_seq'
+
+ ::regclass),
+
+
+
+ 3
+
+ name
+
+ varchar
+
+ (
+
+ 255
+
+ )
+
+ NOT
+
+
+
+ NULL
+
+ ,
+
+
+
+ 4
+
+ age int4
+
+ NOT
+
+
+
+ NULL
+
+ ,
+
+
+
+ 5
+
+ created_at
+
+ timestamp
+
+
+
+ DEFAULT
+
+
+
+ CURRENT_TIMESTAMP
+
+ );
+
+
+
+ 6
+
+
+
+
+ 7
+
+
+
+
+ 8
+
+
+ CREATE
+
+
+
+ UNIQUE
+
+ INDEX example_table_pkey
+
+ ON
+
+ public.example_table
+
+ USING
+
+ btree (id);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 审核结果
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From 3dd2535d66719a87bc7f67cd38753bc49bff9d9a Mon Sep 17 00:00:00 2001
From: zzyangh <799463087@qq.com>
Date: Mon, 2 Dec 2024 17:45:01 +0800
Subject: [PATCH 2/3] [fix](SqlExecWorkflow): Provide language parameters that
support formatting
---
.../Common/ResultCard/SqlMode.tsx | 17 +-
.../ResultCard/__tests__/SqlMode.ce.test.tsx | 5 +-
.../ResultCard/__tests__/SqlMode.test.tsx | 32 +-
.../__snapshots__/SqlMode.test.tsx.snap | 1116 ++++++++---------
.../Common/ResultCard/index.type.ts | 1 +
.../PaginationList/SqlExecuteMode/index.tsx | 4 +-
.../TaskResultList/index.type.ts | 1 +
.../components/AuditExecResultPanel/index.tsx | 1 +
8 files changed, 596 insertions(+), 581 deletions(-)
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/SqlMode.tsx b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/SqlMode.tsx
index 2ffd24b36..21a205b26 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/SqlMode.tsx
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/SqlMode.tsx
@@ -29,7 +29,10 @@ import { BackupStrategyDictionary } from '../../../../../../Common/AuditResultLi
import { UpdateSqlBackupStrategyReqStrategyEnum } from '@actiontech/shared/lib/api/sqle/service/common.enum';
import { WarningFilled } from '@actiontech/icons';
import RollbackWorkflowEntry from './components/RollbackWorkflowEntry';
-import { formatterSQL } from '@actiontech/shared/lib/utils/FormatterSQL';
+import {
+ formatterSQL,
+ FormatLanguageSupport
+} from '@actiontech/shared/lib/utils/FormatterSQL';
const SqlMode: React.FC = ({
projectID,
@@ -85,12 +88,14 @@ const SqlMode: React.FC = ({
};
const formattedRollbackSql = useMemo(() => {
- try {
- return props.rollback_sqls?.map((v) => formatterSQL(v))?.join('\n');
- } catch (error) {
- return props.rollback_sqls?.join('\n');
+ const supportedLan = Object.keys(FormatLanguageSupport);
+ if (props.dbType && supportedLan.includes(props.dbType)) {
+ return props.rollback_sqls
+ ?.map((v) => formatterSQL(v, props.dbType))
+ ?.join('\n');
}
- }, [props.rollback_sqls]);
+ return props.rollback_sqls?.join('\n');
+ }, [props.rollback_sqls, props.dbType]);
return (
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.ce.test.tsx b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.ce.test.tsx
index df1e85234..024fc6e3a 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.ce.test.tsx
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.ce.test.tsx
@@ -24,11 +24,12 @@ describe('sqle/ExecWorkflow/AuditDetail/SqlMode ce', () => {
) => {
const someParams: Pick<
SqlExecuteResultCardProps,
- 'projectID' | 'taskId' | 'onUpdateDescription'
+ 'projectID' | 'taskId' | 'onUpdateDescription' | 'dbType'
> = {
projectID,
taskId,
- onUpdateDescription: onUpdateDescriptionFn
+ onUpdateDescription: onUpdateDescriptionFn,
+ dbType: 'MySQL'
};
return superRender( );
};
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.test.tsx b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.test.tsx
index 6158465bc..7a1e3738c 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.test.tsx
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.test.tsx
@@ -23,8 +23,9 @@ describe('sqle/ExecWorkflow/AuditDetail/SqlMode', () => {
const customRender = (
params: Omit<
SqlExecuteResultCardProps,
- 'projectID' | 'taskId' | 'onUpdateDescription'
- >
+ 'projectID' | 'taskId' | 'onUpdateDescription' | 'dbType'
+ >,
+ dbType = 'MySQL'
) => {
const someParams: Pick<
SqlExecuteResultCardProps,
@@ -34,7 +35,7 @@ describe('sqle/ExecWorkflow/AuditDetail/SqlMode', () => {
taskId,
onUpdateDescription: onUpdateDescriptionFn
};
- return superRender( );
+ return superRender( );
};
beforeEach(() => {
@@ -217,17 +218,20 @@ describe('sqle/ExecWorkflow/AuditDetail/SqlMode', () => {
expect(baseElement).toMatchSnapshot();
});
- it('render can not format rollback sql', async () => {
- const { baseElement } = customRender({
- number: 1,
- exec_sql: 'exec_sql cont',
- rollback_sqls: [
- "CREATE TABLE public.example_table (\nid int4 NOT NULL DEFAULT nextval('example_table_id_seq'::regclass),\nname varchar(255) NOT NULL,\nage int4 NOT NULL,\ncreated_at timestamp DEFAULT CURRENT_TIMESTAMP);",
- '\n\nCREATE UNIQUE INDEX example_table_pkey ON public.example_table USING btree (id);'
- ],
- backup_strategy: AuditTaskSQLResV2BackupStrategyEnum.reverse_sql,
- exec_result: 'success'
- });
+ it('render unsupported database type', async () => {
+ const { baseElement } = customRender(
+ {
+ number: 1,
+ exec_sql: 'exec_sql cont',
+ rollback_sqls: [
+ "CREATE TABLE public.example_table (\nid int4 NOT NULL DEFAULT nextval('example_table_id_seq'::regclass),\nname varchar(255) NOT NULL,\nage int4 NOT NULL,\ncreated_at timestamp DEFAULT CURRENT_TIMESTAMP);",
+ '\n\nCREATE UNIQUE INDEX example_table_pkey ON public.example_table USING btree (id);'
+ ],
+ backup_strategy: AuditTaskSQLResV2BackupStrategyEnum.reverse_sql,
+ exec_result: 'success'
+ },
+ ''
+ );
fireEvent.click(screen.getByText('回滚语句'));
await act(async () => jest.advanceTimersByTime(500));
expect(baseElement).toMatchSnapshot();
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/__snapshots__/SqlMode.test.tsx.snap b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/__snapshots__/SqlMode.test.tsx.snap
index 7d62eb45d..75cac6478 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/__snapshots__/SqlMode.test.tsx.snap
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/__snapshots__/SqlMode.test.tsx.snap
@@ -852,7 +852,7 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render backup strategy tip 1`] =
-
-
-
-
-
-
-
-
-
-
- 1
-
-
- CREATE
-
-
-
- TABLE
-
- public.example_table (
-
-
-
- 2
-
- id int4
-
- NOT
-
-
-
- NULL
-
-
-
- DEFAULT
-
- nextval(
-
- 'example_table_id_seq'
-
- ::regclass),
-
-
-
- 3
-
- name
-
- varchar
-
- (
-
- 255
-
- )
-
- NOT
-
-
-
- NULL
-
- ,
-
-
-
- 4
-
- age int4
-
- NOT
-
-
-
- NULL
-
- ,
-
-
-
- 5
-
- created_at
-
- timestamp
-
-
-
- DEFAULT
-
-
-
- CURRENT_TIMESTAMP
-
- );
-
-
-
- 6
-
-
-
-
- 7
-
-
-
-
- 8
-
-
- CREATE
-
-
-
- UNIQUE
-
- INDEX example_table_pkey
-
- ON
-
- public.example_table
-
- USING
-
- btree (id);
-
-
-
-
-
-
-
`;
-exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render change exec_sql & rollback_sql & exec_result 1`] = `
+exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render change exec_sql & rollback_sql & exec_result 2`] = `
-
-
-
-
+
+
+
+
+
+
+
+
+
+ 1
+
+ rollback_sql cont
+
+
+
+
+
+
+
+
+
+
+
+
`;
-exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render change exec_sql & rollback_sql & exec_result 2`] = `
+exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render change exec_sql & rollback_sql & exec_result 3`] = `
`;
-exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render change exec_sql & rollback_sql & exec_result 3`] = `
+exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render change exec_sql & rollback_sql & exec_result 4`] = `
`;
-exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render change exec_sql & rollback_sql & exec_result 4`] = `
+exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click add desc 1`] = `
-
-
-
-
- 1
-
- exec_sql cont
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
- rollback_sql cont
-
-
-
-
-
+ -
+
-
- success
-
@@ -3140,7 +2899,7 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render change exec_sql & rollback
`;
-exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click add desc 1`] = `
+exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click add desc 2`] = `
@@ -3510,7 +3293,7 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click add desc 1`] = `
`;
-exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click add desc 2`] = `
+exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click icon arrow when has result cont 1`] = `
@@ -3795,7 +3563,7 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click add desc 2`] = `
>
+
@@ -3836,44 +3611,51 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click add desc 2`] = `
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -4174,7 +3971,7 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click icon arrow when has
>
@@ -4208,9 +4001,6 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click icon arrow when has
class="ant-tree-node-content-wrapper ant-tree-node-content-wrapper-open"
title=""
>
-
@@ -4297,7 +4087,7 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click icon arrow when has
`;
-exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click icon arrow when no cont 1`] = `
+exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render has backup conflict 1`] = `
-
+
+
+
+ 1
+
+ exec_sql cont
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+ rollback_sql cont
+
+
+
+
+
@@ -4582,7 +4454,7 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click icon arrow when no c
>
-
-
-
-
-
-
-
-
-
- -
-
-
-
@@ -4698,7 +4539,7 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render click icon arrow when no c
`;
-exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render has backup conflict 1`] = `
+exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render snap when data is empty 1`] = `
-
-
-
-
- 1
-
- exec_sql cont
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
- rollback_sql cont
-
-
-
-
-
+ -
+
@@ -5150,7 +4909,7 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render has backup conflict 1`] =
`;
-exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render snap when data is empty 1`] = `
+exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render unsupported database type 1`] = `
-
+
+
+
+ 1
+
+ exec_sql cont
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+ CREATE
+
+
+
+ TABLE
+
+ public.example_table (
+
+
+
+ 2
+
+ id int4
+
+ NOT
+
+
+
+ NULL
+
+
+
+ DEFAULT
+
+ nextval(
+
+ 'example_table_id_seq'
+
+ ::regclass),
+
+
+
+ 3
+
+ name
+
+ varchar
+
+ (
+
+ 255
+
+ )
+
+ NOT
+
+
+
+ NULL
+
+ ,
+
+
+
+ 4
+
+ age int4
+
+ NOT
+
+
+
+ NULL
+
+ ,
+
+
+
+ 5
+
+ created_at
+
+ timestamp
+
+
+
+ DEFAULT
+
+
+
+ CURRENT_TIMESTAMP
+
+ );
+
+
+
+ 6
+
+
+
+
+ 7
+
+
+
+
+ 8
+
+
+ CREATE
+
+
+
+ UNIQUE
+
+ INDEX example_table_pkey
+
+ ON
+
+ public.example_table
+
+ USING
+
+ btree (id);
+
+
+
+
+
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/index.type.ts b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/index.type.ts
index dde8b2270..9ea05c361 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/index.type.ts
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/index.type.ts
@@ -14,6 +14,7 @@ export type SqlExecuteResultCardProps = BaseProps &
onUpdateDescription?: () => void;
projectID: string;
backupConflict?: boolean;
+ dbType?: string;
};
export type FileExecuteResultCardProps = BaseProps &
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/PaginationList/SqlExecuteMode/index.tsx b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/PaginationList/SqlExecuteMode/index.tsx
index 06c42e90a..5e1c6c64b 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/PaginationList/SqlExecuteMode/index.tsx
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/PaginationList/SqlExecuteMode/index.tsx
@@ -19,7 +19,8 @@ const SqlExecuteMode: React.FC = ({
currentListLayout,
workflowStatus,
auditResultActiveKey,
- backupConflict
+ backupConflict,
+ dbType
}) => {
const { t } = useTranslation();
@@ -81,6 +82,7 @@ const SqlExecuteMode: React.FC = ({
onUpdateDescription={refresh}
executeMode={WorkflowResV2ExecModeEnum.sqls}
backupConflict={backupConflict}
+ dbType={dbType}
/>
);
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/index.type.ts b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/index.type.ts
index 0b5d1c592..34e7b7580 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/index.type.ts
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/index.type.ts
@@ -17,4 +17,5 @@ export type TasksResultListBaseProps = {
assigneeUserNames: string[];
executeMode: WorkflowResV2ExecModeEnum;
backupConflict?: boolean;
+ dbType?: string;
};
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/index.tsx b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/index.tsx
index 86802b39a..9b0c5d60a 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/index.tsx
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/index.tsx
@@ -201,6 +201,7 @@ const AuditExecResultPanel: React.FC = ({
WorkflowResV2ExecModeEnum.sqls
}
backupConflict={currentTask?.backup_conflict_with_instance}
+ dbType={currentTask?.instance_db_type}
/>
From f8d0620c767632fd542c320b0ffe1fc4e6f6838e Mon Sep 17 00:00:00 2001
From: zzyangh <799463087@qq.com>
Date: Mon, 2 Dec 2024 18:40:47 +0800
Subject: [PATCH 3/3] [fix](SqlExecWorkflow): Delete unnecessary type judgments
---
.../Common/ResultCard/SqlMode.tsx | 15 +-
.../ResultCard/__tests__/SqlMode.test.tsx | 24 +-
.../__snapshots__/SqlMode.test.tsx.snap | 611 ------------------
3 files changed, 6 insertions(+), 644 deletions(-)
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/SqlMode.tsx b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/SqlMode.tsx
index 21a205b26..8244c930e 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/SqlMode.tsx
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/SqlMode.tsx
@@ -29,10 +29,7 @@ import { BackupStrategyDictionary } from '../../../../../../Common/AuditResultLi
import { UpdateSqlBackupStrategyReqStrategyEnum } from '@actiontech/shared/lib/api/sqle/service/common.enum';
import { WarningFilled } from '@actiontech/icons';
import RollbackWorkflowEntry from './components/RollbackWorkflowEntry';
-import {
- formatterSQL,
- FormatLanguageSupport
-} from '@actiontech/shared/lib/utils/FormatterSQL';
+import { formatterSQL } from '@actiontech/shared/lib/utils/FormatterSQL';
const SqlMode: React.FC = ({
projectID,
@@ -88,13 +85,9 @@ const SqlMode: React.FC = ({
};
const formattedRollbackSql = useMemo(() => {
- const supportedLan = Object.keys(FormatLanguageSupport);
- if (props.dbType && supportedLan.includes(props.dbType)) {
- return props.rollback_sqls
- ?.map((v) => formatterSQL(v, props.dbType))
- ?.join('\n');
- }
- return props.rollback_sqls?.join('\n');
+ return props.rollback_sqls
+ ?.map((v) => formatterSQL(v, props.dbType))
+ ?.join('\n');
}, [props.rollback_sqls, props.dbType]);
return (
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.test.tsx b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.test.tsx
index 7a1e3738c..30fbbd307 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.test.tsx
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/SqlMode.test.tsx
@@ -24,8 +24,7 @@ describe('sqle/ExecWorkflow/AuditDetail/SqlMode', () => {
params: Omit<
SqlExecuteResultCardProps,
'projectID' | 'taskId' | 'onUpdateDescription' | 'dbType'
- >,
- dbType = 'MySQL'
+ >
) => {
const someParams: Pick<
SqlExecuteResultCardProps,
@@ -35,7 +34,7 @@ describe('sqle/ExecWorkflow/AuditDetail/SqlMode', () => {
taskId,
onUpdateDescription: onUpdateDescriptionFn
};
- return superRender( );
+ return superRender( );
};
beforeEach(() => {
@@ -217,23 +216,4 @@ describe('sqle/ExecWorkflow/AuditDetail/SqlMode', () => {
expect(screen.getByText('关联回滚工单')).toBeInTheDocument();
expect(baseElement).toMatchSnapshot();
});
-
- it('render unsupported database type', async () => {
- const { baseElement } = customRender(
- {
- number: 1,
- exec_sql: 'exec_sql cont',
- rollback_sqls: [
- "CREATE TABLE public.example_table (\nid int4 NOT NULL DEFAULT nextval('example_table_id_seq'::regclass),\nname varchar(255) NOT NULL,\nage int4 NOT NULL,\ncreated_at timestamp DEFAULT CURRENT_TIMESTAMP);",
- '\n\nCREATE UNIQUE INDEX example_table_pkey ON public.example_table USING btree (id);'
- ],
- backup_strategy: AuditTaskSQLResV2BackupStrategyEnum.reverse_sql,
- exec_result: 'success'
- },
- ''
- );
- fireEvent.click(screen.getByText('回滚语句'));
- await act(async () => jest.advanceTimersByTime(500));
- expect(baseElement).toMatchSnapshot();
- });
});
diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/__snapshots__/SqlMode.test.tsx.snap b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/__snapshots__/SqlMode.test.tsx.snap
index 75cac6478..ffe36eb54 100644
--- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/__snapshots__/SqlMode.test.tsx.snap
+++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/Common/ResultCard/__tests__/__snapshots__/SqlMode.test.tsx.snap
@@ -4908,614 +4908,3 @@ exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render snap when data is empty 1`
`;
-
-exports[`sqle/ExecWorkflow/AuditDetail/SqlMode render unsupported database type 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 所在行
-
- -
-
-
-
-
-
-
-
-
-
-
-
- 1
-
- exec_sql cont
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
- CREATE
-
-
-
- TABLE
-
- public.example_table (
-
-
-
- 2
-
- id int4
-
- NOT
-
-
-
- NULL
-
-
-
- DEFAULT
-
- nextval(
-
- 'example_table_id_seq'
-
- ::regclass),
-
-
-
- 3
-
- name
-
- varchar
-
- (
-
- 255
-
- )
-
- NOT
-
-
-
- NULL
-
- ,
-
-
-
- 4
-
- age int4
-
- NOT
-
-
-
- NULL
-
- ,
-
-
-
- 5
-
- created_at
-
- timestamp
-
-
-
- DEFAULT
-
-
-
- CURRENT_TIMESTAMP
-
- );
-
-
-
- 6
-
-
-
-
- 7
-
-
-
-
- 8
-
-
- CREATE
-
-
-
- UNIQUE
-
- INDEX example_table_pkey
-
- ON
-
- public.example_table
-
- USING
-
- btree (id);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 审核结果
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;