Skip to content

Commit d746d6e

Browse files
committed
fix:Execute view bug
1 parent efc3f94 commit d746d6e

4 files changed

Lines changed: 110 additions & 118 deletions

File tree

chat2db-client/src/blocks/NewTree/functions/openAsyncSql.ts

Lines changed: 106 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -1,140 +1,130 @@
1-
import { OperationColumn, WorkspaceTabType } from '@/constants';
1+
import { WorkspaceTabType } from '@/constants';
22
import sqlService from '@/service/sql';
3+
import {createConsole} from '@/pages/main/workspace/store/console'
34

45
export const openView = (props:{
56
addWorkspaceTab: any;
67
treeNodeData: any;
78
}) => {
8-
const {addWorkspaceTab,treeNodeData} = props;
9-
addWorkspaceTab({
10-
id: `${OperationColumn.OpenView}-${treeNodeData.uuid}` ,
11-
title: treeNodeData.name,
12-
type: WorkspaceTabType.VIEW,
13-
uniqueData: {
14-
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
15-
databaseType: treeNodeData.extraParams!.databaseType!,
16-
databaseName: treeNodeData.extraParams?.databaseName,
17-
schemaName: treeNodeData.extraParams?.schemaName,
18-
loadSQL: ()=>{
19-
return new Promise((resolve) => {
20-
sqlService
21-
.getViewDetail({
22-
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
23-
databaseType: treeNodeData.extraParams!.databaseType!,
24-
databaseName: treeNodeData.extraParams!.databaseName!,
25-
schemaName: treeNodeData.extraParams?.schemaName,
26-
tableName: treeNodeData.name
27-
} as any)
28-
.then((res) => {
29-
// 更新ddl
30-
resolve(res.ddl);
31-
});
32-
});
33-
}
34-
},
35-
});
9+
const { treeNodeData } = props;
10+
createConsole({
11+
name: treeNodeData.name,
12+
operationType: WorkspaceTabType.VIEW,
13+
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
14+
dataSourceName: treeNodeData.extraParams!.dataSourceName!,
15+
databaseType: treeNodeData.extraParams!.databaseType!,
16+
databaseName: treeNodeData.extraParams?.databaseName,
17+
schemaName: treeNodeData.extraParams?.schemaName,
18+
loadSQL: ()=>{
19+
return new Promise((resolve) => {
20+
sqlService
21+
.getViewDetail({
22+
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
23+
databaseType: treeNodeData.extraParams!.databaseType!,
24+
databaseName: treeNodeData.extraParams!.databaseName!,
25+
schemaName: treeNodeData.extraParams?.schemaName,
26+
tableName: treeNodeData.name
27+
} as any)
28+
.then((res) => {
29+
// 更新ddl
30+
resolve(res.ddl);
31+
});
32+
});
33+
}
34+
})
3635
}
3736

3837
export const openFunction = (props:{
39-
addWorkspaceTab: any;
4038
treeNodeData: any;
4139
}) => {
42-
const {addWorkspaceTab,treeNodeData} = props;
43-
addWorkspaceTab({
44-
id: `${OperationColumn.OpenFunction}-${treeNodeData.uuid}` ,
45-
title: treeNodeData.name,
46-
type: WorkspaceTabType.FUNCTION,
47-
uniqueData: {
48-
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
49-
databaseType: treeNodeData.extraParams!.databaseType!,
50-
databaseName: treeNodeData.extraParams?.databaseName,
51-
schemaName: treeNodeData.extraParams?.schemaName,
52-
loadSQL: ()=>{
53-
return new Promise((resolve) => {
54-
sqlService
55-
.getFunctionDetail({
56-
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
57-
databaseType: treeNodeData.extraParams!.databaseType!,
58-
databaseName: treeNodeData.extraParams!.databaseName!,
59-
schemaName: treeNodeData.extraParams?.schemaName,
60-
functionName: treeNodeData.name
61-
} as any)
62-
.then((res) => {
63-
// 更新ddl
64-
resolve(res.functionBody);
65-
});
66-
});
67-
}
68-
},
69-
});
40+
const { treeNodeData } = props;
41+
createConsole({
42+
name: treeNodeData.name,
43+
operationType: WorkspaceTabType.FUNCTION,
44+
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
45+
dataSourceName: treeNodeData.extraParams!.dataSourceName!,
46+
databaseType: treeNodeData.extraParams!.databaseType!,
47+
databaseName: treeNodeData.extraParams?.databaseName,
48+
schemaName: treeNodeData.extraParams?.schemaName,
49+
loadSQL: ()=>{
50+
return new Promise((resolve) => {
51+
sqlService
52+
.getFunctionDetail({
53+
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
54+
databaseType: treeNodeData.extraParams!.databaseType!,
55+
databaseName: treeNodeData.extraParams!.databaseName!,
56+
schemaName: treeNodeData.extraParams?.schemaName,
57+
functionName: treeNodeData.name
58+
} as any)
59+
.then((res) => {
60+
// 更新ddl
61+
resolve(res.functionBody);
62+
});
63+
});
64+
}
65+
})
7066
}
7167

7268
export const openProcedure = (props:{
73-
addWorkspaceTab: any;
7469
treeNodeData: any;
7570
}) => {
76-
const {addWorkspaceTab,treeNodeData} = props;
77-
addWorkspaceTab({
78-
id: `${OperationColumn.OpenProcedure}-${treeNodeData.uuid}` ,
79-
title: treeNodeData.name,
80-
type: WorkspaceTabType.PROCEDURE,
81-
uniqueData: {
82-
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
83-
databaseType: treeNodeData.extraParams!.databaseType!,
84-
databaseName: treeNodeData.extraParams?.databaseName,
85-
schemaName: treeNodeData.extraParams?.schemaName,
86-
loadSQL: ()=>{
87-
return new Promise((resolve) => {
88-
sqlService
89-
.getProcedureDetail({
90-
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
91-
databaseType: treeNodeData.extraParams!.databaseType!,
92-
databaseName: treeNodeData.extraParams!.databaseName!,
93-
schemaName: treeNodeData.extraParams?.schemaName,
94-
procedureName: treeNodeData.name
95-
} as any)
96-
.then((res) => {
97-
// 更新ddl
98-
resolve(res.procedureBody);
99-
});
100-
});
101-
}
102-
},
103-
});
71+
const { treeNodeData } = props;
72+
createConsole({
73+
name: treeNodeData.name,
74+
operationType: WorkspaceTabType.PROCEDURE,
75+
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
76+
dataSourceName: treeNodeData.extraParams!.dataSourceName!,
77+
databaseType: treeNodeData.extraParams!.databaseType!,
78+
databaseName: treeNodeData.extraParams?.databaseName,
79+
schemaName: treeNodeData.extraParams?.schemaName,
80+
loadSQL: ()=>{
81+
return new Promise((resolve) => {
82+
sqlService
83+
.getProcedureDetail({
84+
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
85+
databaseType: treeNodeData.extraParams!.databaseType!,
86+
databaseName: treeNodeData.extraParams!.databaseName!,
87+
schemaName: treeNodeData.extraParams?.schemaName,
88+
procedureName: treeNodeData.name
89+
} as any)
90+
.then((res) => {
91+
// 更新ddl
92+
resolve(res.procedureBody);
93+
});
94+
});
95+
}
96+
})
10497
}
10598

10699
export const openTrigger = (props:{
107-
addWorkspaceTab: any;
108100
treeNodeData: any;
109101
}) => {
110-
const {addWorkspaceTab,treeNodeData} = props;
111-
addWorkspaceTab({
112-
id: `${OperationColumn.OpenTrigger}-${treeNodeData.uuid}` ,
113-
title: treeNodeData.name,
114-
type: WorkspaceTabType.TRIGGER,
115-
uniqueData: {
116-
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
117-
databaseType: treeNodeData.extraParams!.databaseType!,
118-
databaseName: treeNodeData.extraParams?.databaseName,
119-
schemaName: treeNodeData.extraParams?.schemaName,
120-
loadSQL: ()=>{
121-
return new Promise((resolve) => {
122-
sqlService
123-
.getTriggerDetail({
124-
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
125-
databaseType: treeNodeData.extraParams!.databaseType!,
126-
databaseName: treeNodeData.extraParams!.databaseName!,
127-
schemaName: treeNodeData.extraParams?.schemaName,
128-
triggerName: treeNodeData.name
129-
} as any)
130-
.then((res) => {
131-
// 更新ddl
132-
resolve(res.triggerBody);
133-
});
134-
});
135-
}
136-
},
137-
});
102+
const {treeNodeData } = props;
103+
createConsole({
104+
name: treeNodeData.name,
105+
operationType: WorkspaceTabType.TRIGGER,
106+
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
107+
dataSourceName: treeNodeData.extraParams!.dataSourceName!,
108+
databaseType: treeNodeData.extraParams!.databaseType!,
109+
databaseName: treeNodeData.extraParams?.databaseName,
110+
schemaName: treeNodeData.extraParams?.schemaName,
111+
loadSQL: ()=>{
112+
return new Promise((resolve) => {
113+
sqlService
114+
.getTriggerDetail({
115+
dataSourceId: treeNodeData.extraParams!.dataSourceId!,
116+
databaseType: treeNodeData.extraParams!.databaseType!,
117+
databaseName: treeNodeData.extraParams!.databaseName!,
118+
schemaName: treeNodeData.extraParams?.schemaName,
119+
triggerName: treeNodeData.name
120+
} as any)
121+
.then((res) => {
122+
// 更新ddl
123+
resolve(res.triggerBody);
124+
});
125+
});
126+
}
127+
})
138128
}
139129

140130

chat2db-client/src/components/SearchResult/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ export default forwardRef((props: IProps, ref: ForwardedRef<ISearchResultRef>) =
8181
tableName: executeSqlParams?.tableName,
8282
...defaultResultConfig,
8383
...executeSqlParams,
84+
type: executeSqlParams.databaseType, // 兼容写法,希望后端可以统一把type改成databaseType
8485
};
8586

8687
controllerRef.current = new AbortController();

chat2db-client/src/pages/main/workspace/store/console.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ export const createConsole = (params: ICreateConsoleParams) => {
6060
name: params.name || 'new console',
6161
ddl: params.ddl || '',
6262
status: ConsoleStatus.DRAFT,
63-
operationType: WorkspaceTabType.CONSOLE,
63+
operationType: params.operationType || WorkspaceTabType.CONSOLE,
6464
type: params.databaseType,
6565
};
6666

chat2db-client/src/typings/console.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ export interface ICreateConsoleParams {
88
databaseType: DatabaseTypeCode;
99
databaseName?: string;
1010
schemaName?: string;
11-
operationType?: string;
11+
operationType?: WorkspaceTabType;
12+
loadSQL: () => Promise<string>;
1213
}
1314

1415
// 控制台详情

0 commit comments

Comments
 (0)