Skip to content

Commit fcf8645

Browse files
committed
refactor: Add function to compatible database name
1 parent c8efaf0 commit fcf8645

2 files changed

Lines changed: 31 additions & 1 deletion

File tree

chat2db-client/src/utils/IntelliSense/table.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ let intelliSenseTable = monaco.languages.registerCompletionItemProvider('sql', {
1313
});
1414

1515
/** 根据不同的数据库,插入不同的表名 */
16-
const handleInsertText = (text, databaseCode: DatabaseTypeCode = DatabaseTypeCode.MYSQL) => {
16+
const handleInsertText = (text: string, databaseCode: DatabaseTypeCode = DatabaseTypeCode.MYSQL) => {
1717
if (
1818
[DatabaseTypeCode.POSTGRESQL, DatabaseTypeCode.ORACLE, DatabaseTypeCode.DB2, DatabaseTypeCode.SQLITE].includes(
1919
databaseCode,

chat2db-client/src/utils/database.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { DatabaseTypeCode } from '@/constants/common';
12
import { IWorkspaceModelType } from '@/models/workspace';
23
import { Option } from '@/typings/common';
34

@@ -36,3 +37,32 @@ export function handleDatabaseAndSchema(databaseAndSchema: IWorkspaceModelType['
3637
}
3738
return newCascaderOptions;
3839
}
40+
41+
/**
42+
* 兼容处理数据库名称
43+
* @param databaseName
44+
* @param databaseType
45+
* @returns
46+
*/
47+
export function compatibleDataBaseName(databaseName: string, databaseType: DatabaseTypeCode) {
48+
//"" oracele sqlite postgrsql h2 dm
49+
// ` MYSQL clickhouse MariaDB
50+
// [ sqlserver
51+
if (
52+
[
53+
DatabaseTypeCode.ORACLE,
54+
DatabaseTypeCode.SQLITE,
55+
DatabaseTypeCode.POSTGRESQL,
56+
DatabaseTypeCode.H2,
57+
DatabaseTypeCode.DB2,
58+
].includes(databaseType)
59+
) {
60+
return `"${databaseName}"`;
61+
} else if ([DatabaseTypeCode.SQLSERVER].includes(databaseType)) {
62+
return `[${databaseName}]`;
63+
} else if ([DatabaseTypeCode.MYSQL, DatabaseTypeCode.CLICKHOUSE, DatabaseTypeCode.MARIADB].includes(databaseType)) {
64+
return `\`${databaseName}\``;
65+
} else {
66+
return `${databaseName}`;
67+
}
68+
}

0 commit comments

Comments
 (0)