fdb2 1.0.36 → 1.0.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -0
- package/dist/public/explorer.css +533 -485
- package/dist/public/explorer.js +1277 -868
- package/dist/public/index.css +172 -34
- package/dist/public/index.js +103 -49
- package/dist/public/layout.js +3 -3
- package/dist/public/vue.js +1 -1
- package/dist/server/core/schema/__tests__/canonical.test.ts +195 -0
- package/dist/server/core/schema/__tests__/ddl-emitter.test.ts +456 -0
- package/dist/server/core/schema/__tests__/diff.test.ts +242 -0
- package/dist/server/core/schema/__tests__/roundtrip.property.test.ts +403 -0
- package/dist/server/core/schema/canonical.d.ts +50 -0
- package/dist/server/core/schema/canonical.d.ts.map +1 -0
- package/dist/server/core/schema/canonical.js +212 -0
- package/dist/server/core/schema/canonical.js.map +1 -0
- package/dist/server/core/schema/canonical.ts +223 -0
- package/dist/server/core/schema/ddl-emitter.d.ts +68 -0
- package/dist/server/core/schema/ddl-emitter.d.ts.map +1 -0
- package/dist/server/core/schema/ddl-emitter.js +813 -0
- package/dist/server/core/schema/ddl-emitter.js.map +1 -0
- package/dist/server/core/schema/ddl-emitter.ts +925 -0
- package/dist/server/core/schema/diff.d.ts +16 -0
- package/dist/server/core/schema/diff.d.ts.map +1 -0
- package/dist/server/core/schema/diff.js +115 -0
- package/dist/server/core/schema/diff.js.map +1 -0
- package/dist/server/core/schema/diff.ts +134 -0
- package/dist/server/core/schema/type-defaults.d.ts +27 -0
- package/dist/server/core/schema/type-defaults.d.ts.map +1 -0
- package/dist/server/core/schema/type-defaults.js +61 -0
- package/dist/server/core/schema/type-defaults.js.map +1 -0
- package/dist/server/core/schema/type-defaults.ts +79 -0
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +347 -124
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.ts +336 -161
- package/dist/server/model/ddl-spec.d.ts +163 -0
- package/dist/server/model/ddl-spec.d.ts.map +1 -0
- package/dist/server/model/ddl-spec.js +32 -0
- package/dist/server/model/ddl-spec.js.map +1 -0
- package/dist/server/model/ddl-spec.ts +175 -0
- package/dist/server/service/connection.service.d.ts +20 -0
- package/dist/server/service/connection.service.d.ts.map +1 -1
- package/dist/server/service/connection.service.js +99 -25
- package/dist/server/service/connection.service.js.map +1 -1
- package/dist/server/service/connection.service.ts +104 -25
- package/dist/server/service/database/base.service.d.ts +0 -4
- package/dist/server/service/database/base.service.d.ts.map +1 -1
- package/dist/server/service/database/base.service.js.map +1 -1
- package/dist/server/service/database/base.service.ts +0 -5
- package/dist/server/service/database/clickhouse.service.d.ts +0 -5
- package/dist/server/service/database/clickhouse.service.d.ts.map +1 -1
- package/dist/server/service/database/clickhouse.service.js +0 -49
- package/dist/server/service/database/clickhouse.service.js.map +1 -1
- package/dist/server/service/database/clickhouse.service.ts +0 -52
- package/dist/server/service/database/cockroachdb.service.d.ts +0 -5
- package/dist/server/service/database/cockroachdb.service.d.ts.map +1 -1
- package/dist/server/service/database/cockroachdb.service.js +11 -142
- package/dist/server/service/database/cockroachdb.service.js.map +1 -1
- package/dist/server/service/database/cockroachdb.service.ts +11 -161
- package/dist/server/service/database/database.service.d.ts +55 -2
- package/dist/server/service/database/database.service.d.ts.map +1 -1
- package/dist/server/service/database/database.service.js +246 -4
- package/dist/server/service/database/database.service.js.map +1 -1
- package/dist/server/service/database/database.service.ts +295 -7
- package/dist/server/service/database/mongodb.service.d.ts +0 -6
- package/dist/server/service/database/mongodb.service.d.ts.map +1 -1
- package/dist/server/service/database/mongodb.service.js +0 -8
- package/dist/server/service/database/mongodb.service.js.map +1 -1
- package/dist/server/service/database/mongodb.service.ts +0 -8
- package/dist/server/service/database/mssql.service.d.ts +8 -4
- package/dist/server/service/database/mssql.service.d.ts.map +1 -1
- package/dist/server/service/database/mssql.service.js +27 -132
- package/dist/server/service/database/mssql.service.js.map +1 -1
- package/dist/server/service/database/mssql.service.ts +34 -156
- package/dist/server/service/database/mysql.service.d.ts +0 -4
- package/dist/server/service/database/mysql.service.d.ts.map +1 -1
- package/dist/server/service/database/mysql.service.js +11 -155
- package/dist/server/service/database/mysql.service.js.map +1 -1
- package/dist/server/service/database/mysql.service.ts +17 -184
- package/dist/server/service/database/oracle.service.d.ts +0 -4
- package/dist/server/service/database/oracle.service.d.ts.map +1 -1
- package/dist/server/service/database/oracle.service.js +11 -141
- package/dist/server/service/database/oracle.service.js.map +1 -1
- package/dist/server/service/database/oracle.service.ts +17 -166
- package/dist/server/service/database/postgres.service.d.ts +0 -4
- package/dist/server/service/database/postgres.service.d.ts.map +1 -1
- package/dist/server/service/database/postgres.service.js +11 -150
- package/dist/server/service/database/postgres.service.js.map +1 -1
- package/dist/server/service/database/postgres.service.ts +17 -174
- package/dist/server/service/database/sap.service.d.ts +0 -4
- package/dist/server/service/database/sap.service.d.ts.map +1 -1
- package/dist/server/service/database/sap.service.js +11 -137
- package/dist/server/service/database/sap.service.js.map +1 -1
- package/dist/server/service/database/sap.service.ts +11 -158
- package/dist/server/service/database/sql-type.helper.d.ts +28 -0
- package/dist/server/service/database/sql-type.helper.d.ts.map +1 -0
- package/dist/server/service/database/sql-type.helper.js +113 -0
- package/dist/server/service/database/sql-type.helper.js.map +1 -0
- package/dist/server/service/database/sql-type.helper.ts +115 -0
- package/dist/server/service/database/sqlite.service.d.ts +0 -5
- package/dist/server/service/database/sqlite.service.d.ts.map +1 -1
- package/dist/server/service/database/sqlite.service.js +11 -156
- package/dist/server/service/database/sqlite.service.js.map +1 -1
- package/dist/server/service/database/sqlite.service.ts +17 -183
- package/package.json +1 -1
- package/server.js +1 -1
|
@@ -37,6 +37,8 @@ exports.SAPHANADatabaseService = void 0;
|
|
|
37
37
|
const base_service_1 = require("./base.service");
|
|
38
38
|
const fs = __importStar(require("fs"));
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
|
+
const canonical_1 = require("../../core/schema/canonical");
|
|
41
|
+
const ddl_emitter_1 = require("../../core/schema/ddl-emitter");
|
|
40
42
|
/**
|
|
41
43
|
* SAP HANA数据库服务实现
|
|
42
44
|
* SAP HANA 是 SAP 公司的高性能内存数据库
|
|
@@ -690,113 +692,6 @@ class SAPHANADatabaseService extends base_service_1.BaseDatabaseService {
|
|
|
690
692
|
quoteIdentifier(identifier) {
|
|
691
693
|
return `"${identifier}"`;
|
|
692
694
|
}
|
|
693
|
-
/**
|
|
694
|
-
* 修改表结构
|
|
695
|
-
*/
|
|
696
|
-
async alterTable(dataSource, databaseName, tableDiff) {
|
|
697
|
-
try {
|
|
698
|
-
const tableName = tableDiff.tableName;
|
|
699
|
-
const sqlStatements = [];
|
|
700
|
-
// 修改表注释
|
|
701
|
-
if (tableDiff.tableCommentChanged) {
|
|
702
|
-
sqlStatements.push(`ALTER TABLE "${tableName}" COMMENT '${tableDiff.tableComment}'`);
|
|
703
|
-
}
|
|
704
|
-
// 添加新列
|
|
705
|
-
tableDiff.addedColumns.forEach((column) => {
|
|
706
|
-
// 检查type是否已经包含长度信息(括号)
|
|
707
|
-
const typeHasLength = /\(\d+\)/.test(column.type);
|
|
708
|
-
let columnSQL = `ALTER TABLE "${tableName}" ADD ("${column.name}" ${column.type}`;
|
|
709
|
-
// 处理长度和精度(仅当type中没有指定长度时才添加)
|
|
710
|
-
if (!typeHasLength) {
|
|
711
|
-
if (column.length) {
|
|
712
|
-
columnSQL += `(${column.length})`;
|
|
713
|
-
}
|
|
714
|
-
else if (column.precision) {
|
|
715
|
-
if (column.scale) {
|
|
716
|
-
columnSQL += `(${column.precision},${column.scale})`;
|
|
717
|
-
}
|
|
718
|
-
else {
|
|
719
|
-
columnSQL += `(${column.precision})`;
|
|
720
|
-
}
|
|
721
|
-
}
|
|
722
|
-
}
|
|
723
|
-
// 处理NULL约束
|
|
724
|
-
if (!column.nullable) {
|
|
725
|
-
columnSQL += ' NOT NULL';
|
|
726
|
-
}
|
|
727
|
-
// 处理默认值
|
|
728
|
-
if (column.defaultValue) {
|
|
729
|
-
const upperDefault = column.defaultValue.toString().toUpperCase();
|
|
730
|
-
if (['CURRENT_TIMESTAMP', 'CURRENT_DATE', 'CURRENT_TIME'].includes(upperDefault)) {
|
|
731
|
-
columnSQL += ` DEFAULT ${upperDefault}`;
|
|
732
|
-
}
|
|
733
|
-
else {
|
|
734
|
-
columnSQL += ` DEFAULT '${column.defaultValue}'`;
|
|
735
|
-
}
|
|
736
|
-
}
|
|
737
|
-
columnSQL += ')';
|
|
738
|
-
sqlStatements.push(columnSQL + ';');
|
|
739
|
-
// 添加列注释
|
|
740
|
-
if (column.comment) {
|
|
741
|
-
sqlStatements.push(`ALTER TABLE "${tableName}" ("${column.name}" COMMENT '${column.comment}')`);
|
|
742
|
-
}
|
|
743
|
-
});
|
|
744
|
-
// 修改列
|
|
745
|
-
tableDiff.modifiedColumns.forEach((modification) => {
|
|
746
|
-
const { oldColumn, newColumn } = modification;
|
|
747
|
-
// 检查type是否已经包含长度信息(括号)
|
|
748
|
-
const typeHasLength = /\(\d+\)/.test(newColumn.type);
|
|
749
|
-
let columnSQL = `ALTER TABLE "${tableName}" ("${newColumn.name}" ${newColumn.type}`;
|
|
750
|
-
// 处理长度和精度(仅当type中没有指定长度时才添加)
|
|
751
|
-
if (!typeHasLength) {
|
|
752
|
-
if (newColumn.length) {
|
|
753
|
-
columnSQL += `(${newColumn.length})`;
|
|
754
|
-
}
|
|
755
|
-
else if (newColumn.precision) {
|
|
756
|
-
if (newColumn.scale) {
|
|
757
|
-
columnSQL += `(${newColumn.precision},${newColumn.scale})`;
|
|
758
|
-
}
|
|
759
|
-
else {
|
|
760
|
-
columnSQL += `(${newColumn.precision})`;
|
|
761
|
-
}
|
|
762
|
-
}
|
|
763
|
-
}
|
|
764
|
-
// 处理NULL约束
|
|
765
|
-
if (!newColumn.nullable) {
|
|
766
|
-
columnSQL += ' NOT NULL';
|
|
767
|
-
}
|
|
768
|
-
// 处理默认值
|
|
769
|
-
if (newColumn.defaultValue) {
|
|
770
|
-
const upperDefault = newColumn.defaultValue.toString().toUpperCase();
|
|
771
|
-
if (['CURRENT_TIMESTAMP', 'CURRENT_DATE', 'CURRENT_TIME'].includes(upperDefault)) {
|
|
772
|
-
columnSQL += ` DEFAULT ${upperDefault}`;
|
|
773
|
-
}
|
|
774
|
-
else {
|
|
775
|
-
columnSQL += ` DEFAULT '${newColumn.defaultValue}'`;
|
|
776
|
-
}
|
|
777
|
-
}
|
|
778
|
-
columnSQL += ')';
|
|
779
|
-
sqlStatements.push(columnSQL + ';');
|
|
780
|
-
// 修改列注释
|
|
781
|
-
if (newColumn.comment) {
|
|
782
|
-
sqlStatements.push(`ALTER TABLE "${tableName}" ("${newColumn.name}" COMMENT '${newColumn.comment}')`);
|
|
783
|
-
}
|
|
784
|
-
});
|
|
785
|
-
// 删除列
|
|
786
|
-
tableDiff.deletedColumns.forEach((column) => {
|
|
787
|
-
sqlStatements.push(`ALTER TABLE "${tableName}" DROP ("${column.name}")`);
|
|
788
|
-
});
|
|
789
|
-
// 执行SQL语句
|
|
790
|
-
if (sqlStatements.length > 0) {
|
|
791
|
-
await this.executeBatchQuery(dataSource, sqlStatements, { useTransaction: true });
|
|
792
|
-
}
|
|
793
|
-
return { ret: 0, message: '表结构修改成功' };
|
|
794
|
-
}
|
|
795
|
-
catch (error) {
|
|
796
|
-
console.error('SAP HANA修改表结构失败:', error);
|
|
797
|
-
return { ret: 1, message: `修改表结构失败: ${error instanceof Error ? error.message : String(error)}` };
|
|
798
|
-
}
|
|
799
|
-
}
|
|
800
695
|
/**
|
|
801
696
|
* 批量插入数据
|
|
802
697
|
*/
|
|
@@ -831,37 +726,16 @@ class SAPHANADatabaseService extends base_service_1.BaseDatabaseService {
|
|
|
831
726
|
*/
|
|
832
727
|
async createTable(dataSource, databaseName, table) {
|
|
833
728
|
const { name, columns, comment } = table;
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
if (column.defaultValue) {
|
|
842
|
-
const upperDefault = column.defaultValue.toString().toUpperCase();
|
|
843
|
-
if (['CURRENT_TIMESTAMP', 'CURRENT_DATE', 'CURRENT_TIME', 'SYSDATE'].includes(upperDefault)) {
|
|
844
|
-
columnDef += ` DEFAULT ${upperDefault}`;
|
|
845
|
-
}
|
|
846
|
-
else {
|
|
847
|
-
columnDef += ` DEFAULT '${column.defaultValue}'`;
|
|
848
|
-
}
|
|
849
|
-
}
|
|
850
|
-
if (column.isAutoIncrement) {
|
|
851
|
-
columnDef += ' GENERATED BY DEFAULT AS IDENTITY';
|
|
852
|
-
}
|
|
853
|
-
if (column.comment) {
|
|
854
|
-
columnDef += ` COMMENT '${column.comment}'`;
|
|
855
|
-
}
|
|
856
|
-
columnDefs.push(columnDef);
|
|
729
|
+
// 统一走 emitCreateDdl:前端建表 / SQLite 重建 / syncTable 建表共用同一渲染出口。
|
|
730
|
+
// 顺带修复旧实现的既有缺陷:PG/CRDB 的 `int SERIAL` 与内联 COMMENT(语法错误)、
|
|
731
|
+
// SQLite 丢失主键、默认值假值兜底与一律加引号等。
|
|
732
|
+
const canonical = (0, canonical_1.canonicalizeTableEntity)({
|
|
733
|
+
name,
|
|
734
|
+
comment: comment ?? '',
|
|
735
|
+
columns: columns ?? []
|
|
857
736
|
});
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
if (comment) {
|
|
861
|
-
sql += ` COMMENT '${comment}'`;
|
|
862
|
-
}
|
|
863
|
-
sql += ';';
|
|
864
|
-
await dataSource.query(sql);
|
|
737
|
+
const statements = (0, ddl_emitter_1.emitCreateDdl)('sap', canonical, { mssqlDatabase: databaseName });
|
|
738
|
+
await this.executeBatchQuery(dataSource, statements, { useTransaction: true });
|
|
865
739
|
}
|
|
866
740
|
}
|
|
867
741
|
exports.SAPHANADatabaseService = SAPHANADatabaseService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sap.service.js","sourceRoot":"","sources":["../../../../server/service/database/sap.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sap.service.js","sourceRoot":"","sources":["../../../../server/service/database/sap.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iDAAqD;AAQrD,uCAAyB;AACzB,2CAA6B;AAC7B,2DAAsE;AACtE,+DAA8D;AAE9D;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,kCAAmB;IAE7D,eAAe;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,UAAsB;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;;;OASrC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,UAAsB,EAAE,QAAgB;QACtD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;OAYrC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEf,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;gBAC1B,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,UAAsB,EAAE,QAAgB,EAAE,KAAa;QACtE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;OAcrC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAEtB,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;;;OAS/C,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAEtB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YAEjF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ,KAAK,MAAM;gBACjC,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBACpC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;aAC7D,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,UAAsB,EAAE,QAAgB,EAAE,KAAa;QACtE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;OAYrC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAEtB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAU,EAAE,EAAE;gBACrE,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;SAW5C,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAElC,OAAO;oBACL,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;oBAClD,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;oBACzD,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,MAAM;iBAChC,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;YAEJ,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,UAAsB,EAAE,QAAgB,EAAE,KAAa;QAC1E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;OAgBrC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAEtB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,eAAe,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe;gBAC9G,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,WAAW;gBACrC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,WAAW;aACtC,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,UAAsB,EAAE,QAAgB;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;OAOrC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACf,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC3C,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAsB,EAAE,QAAgB;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;OAWrC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEf,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,QAAQ;gBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;aAC3B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAsB,EAAE,QAAgB,EAAE,QAAgB;QAChF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;;OAQrC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YACzB,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,UAAsB,EAAE,QAAgB;QAC1D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;OAWrC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEf,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,GAAG,CAAC,UAAU;aAC3B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,UAAsB,EAAE,QAAgB,EAAE,aAAqB;QAC1F,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;;OAQrC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;YAC9B,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,UAAsB,EAAE,YAAoB,EAAE,OAAa;QAC9E,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,UAAsB,EAAE,YAAoB;QAC7D,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,UAAsB,EAAE,YAAoB;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,SAAS,GAAG,wBAAwB,YAAY,IAAI,CAAC;QACzD,SAAS,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;QAExD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEpF,SAAS,IAAI,WAAW,KAAK,CAAC,IAAI,IAAI,CAAC;YACvC,SAAS,IAAI,uBAAuB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAE3E,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAC7C,IAAI,UAAU,GAAG,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACzE,IAAI,CAAC,MAAM,CAAC,QAAQ;oBAClB,UAAU,IAAI,WAAW,CAAC;gBAC5B,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACtC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;oBAClE,IAAI,YAAY,KAAK,mBAAmB,IAAI,YAAY,KAAK,OAAO,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;wBACxG,UAAU,IAAI,YAAY,YAAY,EAAE,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,UAAU,IAAI,YAAY,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;oBACjG,CAAC;gBACH,CAAC;gBACD,IAAI,MAAM,CAAC,SAAS;oBAClB,UAAU,IAAI,cAAc,CAAC;gBAC/B,OAAO,UAAU,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,SAAS,IAAI,UAAU,CAAC;YAExB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS;oBACpE,SAAS;gBACX,SAAS,IAAI,UAAU,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAChN,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBACpB,SAAS,IAAI,IAAI,CAAC;YAEpB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,SAAS,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAC7a,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBACxB,SAAS,IAAI,IAAI,CAAC;QACtB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAsB,EAAE,QAAiB,EAAE,QAAgB,GAAG;QAC3E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;OAcrC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACZ,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,UAAsB,EAAE,YAAoB,EAAE,OAAa;QAC9E,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC9F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,YAAY,IAAI,SAAS,MAAM,CAAC,CAAC;YAE7E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACjE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAE7C,OAAO,QAAQ,UAAU,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,UAAsB,EAAE,YAAoB,EAAE,QAAgB,EAAE,OAAa;QACjG,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,UAAsB,EAAE,YAAoB,EAAE,SAAiB,EAAE,OAAa;QACvG,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC9F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,SAAS,SAAS,MAAM,CAAC,CAAC;YAE/E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEvD,MAAM,MAAM,GAAG,cAAc,SAAS,IAAI;gBACxC,YAAY,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;YAC7C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAE7C,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;YAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,WAAW,GAAG,IAAI,CAAC;YAEvB,OAAO,WAAW,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,iBAAiB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,SAAS,WAAW,MAAM,EAAE,CAAC;gBACrG,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,WAAW,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACR,CAAC;gBAED,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;wBACtC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC1B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;4BAC1C,OAAO,MAAM,CAAC;wBAChB,CAAC;6BAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;4BACrC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;wBAC1C,CAAC;6BAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;4BACtC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC3B,CAAC;6BAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;4BACjC,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;wBACnE,CAAC;6BAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;4BACrC,IAAI,CAAC;gCACH,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gCAC1C,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;4BAChD,CAAC;4BAAC,MAAM,CAAC;gCACP,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;4BAClD,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;wBACvB,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,QAAQ,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAClK,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAChD,MAAM,IAAI,SAAS,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,oBAAoB,SAAS,UAAU,MAAM,IAAI,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,UAAsB,EAAE,YAAoB,EAAE,SAAiB,EAAE,OAAa;QACvG,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC9F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,SAAS,SAAS,MAAM,CAAC,CAAC;YAE/E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEvD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAClC,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;YAE7F,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;YAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,WAAW,GAAG,IAAI,CAAC;YAEvB,OAAO,WAAW,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,iBAAiB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,SAAS,WAAW,MAAM,EAAE,CAAC;gBACrG,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,WAAW,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACR,CAAC;gBAED,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;wBACtC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC1B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;4BAC1C,OAAO,EAAE,CAAC;wBACZ,CAAC;6BAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;4BACrC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;wBAC1C,CAAC;6BAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;4BACjC,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;wBACnE,CAAC;6BAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;4BACvD,IAAI,CAAC;gCACH,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;4BAC1D,CAAC;4BAAC,MAAM,CAAC;gCACP,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;4BAClD,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;wBACvB,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBACtC,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAChD,MAAM,IAAI,SAAS,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,wBAAwB,SAAS,UAAU,MAAM,IAAI,CAAC,CAAC;YACrE,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,UAAsB,EAAE,YAAoB,EAAE,SAAiB,EAAE,OAAa;QACxG,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC9F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,SAAS,SAAS,OAAO,CAAC,CAAC;YAEhF,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;YAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,WAAW,GAAG,IAAI,CAAC;YACvB,IAAI,OAAO,GAAU,EAAE,CAAC;YAExB,OAAO,WAAW,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,iBAAiB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,SAAS,WAAW,MAAM,EAAE,CAAC;gBACrG,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,WAAW,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACR,CAAC;gBAED,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,IAAI,SAAS,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,UAAU,MAAM,IAAI,CAAC,CAAC;YACtE,CAAC;YAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACvE,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,UAAsB,EAAE,YAAoB,EAAE,SAAiB,EAAE,OAAa;QACzG,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC9F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,SAAS,SAAS,OAAO,CAAC,CAAC;YAEhF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEvD,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;YAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,WAAW,GAAG,IAAI,CAAC;YACvB,IAAI,OAAO,GAAU,EAAE,CAAC;YAExB,OAAO,WAAW,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,iBAAiB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,SAAS,WAAW,MAAM,EAAE,CAAC;gBACrG,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,WAAW,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACR,CAAC;gBAED,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,IAAI,SAAS,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,0BAA0B,SAAS,UAAU,MAAM,IAAI,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAEnD,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3C,MAAM,EAAE,IAAI;gBACZ,GAAG,EAAE,IAAI;aACV,CAAC,CAAC,CAAC;YAEJ,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE3B,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC1C,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,UAAkB;QACvC,OAAO,IAAI,UAAU,GAAG,CAAC;IAC3B,CAAC;IAGD;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,UAAsB,EAAE,YAAoB,EAAE,SAAiB,EAAE,IAAW;QAC3F,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACzC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CACnC,CAAC;QAEF,MAAM,GAAG,GAAG,gBAAgB,SAAS,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;QAE/G,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,UAAsB,EAAE,YAAoB,EAAE,SAAiB,EAAE,IAAS;QACzF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEnD,MAAM,GAAG,GAAG,gBAAgB,SAAS,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,YAAY,GAAG,CAAC;QAEjH,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,UAAsB,EAAE,YAAoB,EAAE,SAAiB;QAC7E,MAAM,GAAG,GAAG,eAAe,SAAS,GAAG,CAAC;QACxC,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,UAAsB,EAAE,YAAoB,EAAE,KAAU;QACxE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAEzC,6DAA6D;QAC7D,yDAAyD;QACzD,8BAA8B;QAC9B,MAAM,SAAS,GAAG,IAAA,mCAAuB,EAAC;YACxC,IAAI;YACJ,OAAO,EAAE,OAAO,IAAI,EAAE;YACtB,OAAO,EAAE,OAAO,IAAI,EAAE;SACvB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,2BAAa,EAAC,KAAK,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;QACpF,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;CACF;AApvBD,wDAovBC"}
|
|
@@ -9,6 +9,8 @@ import {
|
|
|
9
9
|
} from '../../model/database.entity';
|
|
10
10
|
import * as fs from 'fs';
|
|
11
11
|
import * as path from 'path';
|
|
12
|
+
import { canonicalizeTableEntity } from '../../core/schema/canonical';
|
|
13
|
+
import { emitCreateDdl } from '../../core/schema/ddl-emitter';
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
* SAP HANA数据库服务实现
|
|
@@ -711,125 +713,6 @@ export class SAPHANADatabaseService extends BaseDatabaseService {
|
|
|
711
713
|
return `"${identifier}"`;
|
|
712
714
|
}
|
|
713
715
|
|
|
714
|
-
/**
|
|
715
|
-
* 修改表结构
|
|
716
|
-
*/
|
|
717
|
-
async alterTable(dataSource: DataSource, databaseName: string, tableDiff: any): Promise<any> {
|
|
718
|
-
try {
|
|
719
|
-
const tableName = tableDiff.tableName;
|
|
720
|
-
const sqlStatements: string[] = [];
|
|
721
|
-
|
|
722
|
-
// 修改表注释
|
|
723
|
-
if (tableDiff.tableCommentChanged) {
|
|
724
|
-
sqlStatements.push(`ALTER TABLE "${tableName}" COMMENT '${tableDiff.tableComment}'`);
|
|
725
|
-
}
|
|
726
|
-
|
|
727
|
-
// 添加新列
|
|
728
|
-
tableDiff.addedColumns.forEach((column: any) => {
|
|
729
|
-
// 检查type是否已经包含长度信息(括号)
|
|
730
|
-
const typeHasLength = /\(\d+\)/.test(column.type);
|
|
731
|
-
|
|
732
|
-
let columnSQL = `ALTER TABLE "${tableName}" ADD ("${column.name}" ${column.type}`;
|
|
733
|
-
|
|
734
|
-
// 处理长度和精度(仅当type中没有指定长度时才添加)
|
|
735
|
-
if (!typeHasLength) {
|
|
736
|
-
if (column.length) {
|
|
737
|
-
columnSQL += `(${column.length})`;
|
|
738
|
-
} else if (column.precision) {
|
|
739
|
-
if (column.scale) {
|
|
740
|
-
columnSQL += `(${column.precision},${column.scale})`;
|
|
741
|
-
} else {
|
|
742
|
-
columnSQL += `(${column.precision})`;
|
|
743
|
-
}
|
|
744
|
-
}
|
|
745
|
-
}
|
|
746
|
-
|
|
747
|
-
// 处理NULL约束
|
|
748
|
-
if (!column.nullable) {
|
|
749
|
-
columnSQL += ' NOT NULL';
|
|
750
|
-
}
|
|
751
|
-
|
|
752
|
-
// 处理默认值
|
|
753
|
-
if (column.defaultValue) {
|
|
754
|
-
const upperDefault = column.defaultValue.toString().toUpperCase();
|
|
755
|
-
if (['CURRENT_TIMESTAMP', 'CURRENT_DATE', 'CURRENT_TIME'].includes(upperDefault)) {
|
|
756
|
-
columnSQL += ` DEFAULT ${upperDefault}`;
|
|
757
|
-
} else {
|
|
758
|
-
columnSQL += ` DEFAULT '${column.defaultValue}'`;
|
|
759
|
-
}
|
|
760
|
-
}
|
|
761
|
-
|
|
762
|
-
columnSQL += ')';
|
|
763
|
-
sqlStatements.push(columnSQL + ';');
|
|
764
|
-
|
|
765
|
-
// 添加列注释
|
|
766
|
-
if (column.comment) {
|
|
767
|
-
sqlStatements.push(`ALTER TABLE "${tableName}" ("${column.name}" COMMENT '${column.comment}')`);
|
|
768
|
-
}
|
|
769
|
-
});
|
|
770
|
-
|
|
771
|
-
// 修改列
|
|
772
|
-
tableDiff.modifiedColumns.forEach((modification: any) => {
|
|
773
|
-
const { oldColumn, newColumn } = modification;
|
|
774
|
-
|
|
775
|
-
// 检查type是否已经包含长度信息(括号)
|
|
776
|
-
const typeHasLength = /\(\d+\)/.test(newColumn.type);
|
|
777
|
-
|
|
778
|
-
let columnSQL = `ALTER TABLE "${tableName}" ("${newColumn.name}" ${newColumn.type}`;
|
|
779
|
-
|
|
780
|
-
// 处理长度和精度(仅当type中没有指定长度时才添加)
|
|
781
|
-
if (!typeHasLength) {
|
|
782
|
-
if (newColumn.length) {
|
|
783
|
-
columnSQL += `(${newColumn.length})`;
|
|
784
|
-
} else if (newColumn.precision) {
|
|
785
|
-
if (newColumn.scale) {
|
|
786
|
-
columnSQL += `(${newColumn.precision},${newColumn.scale})`;
|
|
787
|
-
} else {
|
|
788
|
-
columnSQL += `(${newColumn.precision})`;
|
|
789
|
-
}
|
|
790
|
-
}
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
// 处理NULL约束
|
|
794
|
-
if (!newColumn.nullable) {
|
|
795
|
-
columnSQL += ' NOT NULL';
|
|
796
|
-
}
|
|
797
|
-
|
|
798
|
-
// 处理默认值
|
|
799
|
-
if (newColumn.defaultValue) {
|
|
800
|
-
const upperDefault = newColumn.defaultValue.toString().toUpperCase();
|
|
801
|
-
if (['CURRENT_TIMESTAMP', 'CURRENT_DATE', 'CURRENT_TIME'].includes(upperDefault)) {
|
|
802
|
-
columnSQL += ` DEFAULT ${upperDefault}`;
|
|
803
|
-
} else {
|
|
804
|
-
columnSQL += ` DEFAULT '${newColumn.defaultValue}'`;
|
|
805
|
-
}
|
|
806
|
-
}
|
|
807
|
-
|
|
808
|
-
columnSQL += ')';
|
|
809
|
-
sqlStatements.push(columnSQL + ';');
|
|
810
|
-
|
|
811
|
-
// 修改列注释
|
|
812
|
-
if (newColumn.comment) {
|
|
813
|
-
sqlStatements.push(`ALTER TABLE "${tableName}" ("${newColumn.name}" COMMENT '${newColumn.comment}')`);
|
|
814
|
-
}
|
|
815
|
-
});
|
|
816
|
-
|
|
817
|
-
// 删除列
|
|
818
|
-
tableDiff.deletedColumns.forEach((column: any) => {
|
|
819
|
-
sqlStatements.push(`ALTER TABLE "${tableName}" DROP ("${column.name}")`);
|
|
820
|
-
});
|
|
821
|
-
|
|
822
|
-
// 执行SQL语句
|
|
823
|
-
if (sqlStatements.length > 0) {
|
|
824
|
-
await this.executeBatchQuery(dataSource, sqlStatements, { useTransaction: true });
|
|
825
|
-
}
|
|
826
|
-
|
|
827
|
-
return { ret: 0, message: '表结构修改成功' };
|
|
828
|
-
} catch (error) {
|
|
829
|
-
console.error('SAP HANA修改表结构失败:', error);
|
|
830
|
-
return { ret: 1, message: `修改表结构失败: ${error instanceof Error ? error.message : String(error)}` };
|
|
831
|
-
}
|
|
832
|
-
}
|
|
833
716
|
|
|
834
717
|
/**
|
|
835
718
|
* 批量插入数据
|
|
@@ -877,46 +760,16 @@ export class SAPHANADatabaseService extends BaseDatabaseService {
|
|
|
877
760
|
*/
|
|
878
761
|
async createTable(dataSource: DataSource, databaseName: string, table: any): Promise<void> {
|
|
879
762
|
const { name, columns, comment } = table;
|
|
880
|
-
|
|
881
|
-
let sql = `CREATE COLUMN TABLE "${name}" (\n`;
|
|
882
|
-
const columnDefs: string[] = [];
|
|
883
763
|
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
if (column.defaultValue) {
|
|
892
|
-
const upperDefault = column.defaultValue.toString().toUpperCase();
|
|
893
|
-
if (['CURRENT_TIMESTAMP', 'CURRENT_DATE', 'CURRENT_TIME', 'SYSDATE'].includes(upperDefault)) {
|
|
894
|
-
columnDef += ` DEFAULT ${upperDefault}`;
|
|
895
|
-
} else {
|
|
896
|
-
columnDef += ` DEFAULT '${column.defaultValue}'`;
|
|
897
|
-
}
|
|
898
|
-
}
|
|
899
|
-
|
|
900
|
-
if (column.isAutoIncrement) {
|
|
901
|
-
columnDef += ' GENERATED BY DEFAULT AS IDENTITY';
|
|
902
|
-
}
|
|
903
|
-
|
|
904
|
-
if (column.comment) {
|
|
905
|
-
columnDef += ` COMMENT '${column.comment}'`;
|
|
906
|
-
}
|
|
907
|
-
|
|
908
|
-
columnDefs.push(columnDef);
|
|
764
|
+
// 统一走 emitCreateDdl:前端建表 / SQLite 重建 / syncTable 建表共用同一渲染出口。
|
|
765
|
+
// 顺带修复旧实现的既有缺陷:PG/CRDB 的 `int SERIAL` 与内联 COMMENT(语法错误)、
|
|
766
|
+
// SQLite 丢失主键、默认值假值兜底与一律加引号等。
|
|
767
|
+
const canonical = canonicalizeTableEntity({
|
|
768
|
+
name,
|
|
769
|
+
comment: comment ?? '',
|
|
770
|
+
columns: columns ?? []
|
|
909
771
|
});
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
sql += '\n)';
|
|
913
|
-
|
|
914
|
-
if (comment) {
|
|
915
|
-
sql += ` COMMENT '${comment}'`;
|
|
916
|
-
}
|
|
917
|
-
|
|
918
|
-
sql += ';';
|
|
919
|
-
|
|
920
|
-
await dataSource.query(sql);
|
|
772
|
+
const statements = emitCreateDdl('sap', canonical, { mssqlDatabase: databaseName });
|
|
773
|
+
await this.executeBatchQuery(dataSource, statements, { useTransaction: true });
|
|
921
774
|
}
|
|
922
775
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQL 类型参数工具。
|
|
3
|
+
*
|
|
4
|
+
* 解决的问题:前端提交的列类型可能只带基础类型名(如 VARCHAR)而长度/精度为空,
|
|
5
|
+
* 直接拼接会生成非法 SQL(MySQL 的 `VARCHAR` 必须带长度、`DECIMAL` 必须带精度)。
|
|
6
|
+
* 这里按数据库补齐默认参数;类型本身已带括号(如 ENUM('a','b')、DECIMAL(10,2))时原样返回。
|
|
7
|
+
*/
|
|
8
|
+
/** 类型是否已自带参数(如 VARCHAR(255)、DECIMAL(10,2)、ENUM('a','b')) */
|
|
9
|
+
export declare function hasTypeParams(type: string): boolean;
|
|
10
|
+
/** 提取类型的基础名称(去掉括号及参数) */
|
|
11
|
+
export declare function baseTypeName(type: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* 构建列类型字符串,按数据库补齐缺失的长度/精度参数。
|
|
14
|
+
*
|
|
15
|
+
* @param databaseType mysql | postgres | mssql | oracle | sqlite
|
|
16
|
+
* @param type 列类型(可能已带参数)
|
|
17
|
+
* @param length 用户填写的长度
|
|
18
|
+
* @param precision 用户填写的精度
|
|
19
|
+
* @param scale 用户填写的小数位
|
|
20
|
+
*/
|
|
21
|
+
export declare function buildColumnType(databaseType: string, type: string, length?: number | string | null, precision?: number | string | null, scale?: number | string | null): string;
|
|
22
|
+
/** 转义 SQL 字符串字面量中的单引号 */
|
|
23
|
+
export declare function escapeSqlString(value: any): string;
|
|
24
|
+
/** 默认值是否为函数/关键字形式(不加引号) */
|
|
25
|
+
export declare function isFunctionDefault(value: any): boolean;
|
|
26
|
+
/** 生成 SQL 默认值字面量(函数原样输出,其余加引号并转义) */
|
|
27
|
+
export declare function formatDefaultLiteral(value: any): string;
|
|
28
|
+
//# sourceMappingURL=sql-type.helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-type.helper.d.ts","sourceRoot":"","sources":["../../../../server/service/database/sql-type.helper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,yBAAyB;AACzB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AASD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAClC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAC7B,MAAM,CAkBR;AAED,yBAAyB;AACzB,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAElD;AAWD,2BAA2B;AAC3B,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAYrD;AAED,qCAAqC;AACrC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAQvD"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SQL 类型参数工具。
|
|
4
|
+
*
|
|
5
|
+
* 解决的问题:前端提交的列类型可能只带基础类型名(如 VARCHAR)而长度/精度为空,
|
|
6
|
+
* 直接拼接会生成非法 SQL(MySQL 的 `VARCHAR` 必须带长度、`DECIMAL` 必须带精度)。
|
|
7
|
+
* 这里按数据库补齐默认参数;类型本身已带括号(如 ENUM('a','b')、DECIMAL(10,2))时原样返回。
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.hasTypeParams = hasTypeParams;
|
|
11
|
+
exports.baseTypeName = baseTypeName;
|
|
12
|
+
exports.buildColumnType = buildColumnType;
|
|
13
|
+
exports.escapeSqlString = escapeSqlString;
|
|
14
|
+
exports.isFunctionDefault = isFunctionDefault;
|
|
15
|
+
exports.formatDefaultLiteral = formatDefaultLiteral;
|
|
16
|
+
/**
|
|
17
|
+
* 默认参数已统一到 core/schema/type-defaults(schema 引擎与此处共用同一份),
|
|
18
|
+
* 避免两处参数漂移;本文件只做 databaseType → DialectKind 的适配。
|
|
19
|
+
*/
|
|
20
|
+
const dialect_1 = require("../../core/dialect");
|
|
21
|
+
const type_defaults_1 = require("../../core/schema/type-defaults");
|
|
22
|
+
/** 把用户/驱动传入的 databaseType(可能是 mariadb、sqlserver 等别名)归一为方言 */
|
|
23
|
+
function defaultFor(databaseType, type) {
|
|
24
|
+
return (0, type_defaults_1.typeParamDefault)((0, dialect_1.getDialectInfo)(databaseType).kind, type);
|
|
25
|
+
}
|
|
26
|
+
/** 类型是否已自带参数(如 VARCHAR(255)、DECIMAL(10,2)、ENUM('a','b')) */
|
|
27
|
+
function hasTypeParams(type) {
|
|
28
|
+
return !!type && type.includes('(');
|
|
29
|
+
}
|
|
30
|
+
/** 提取类型的基础名称(去掉括号及参数) */
|
|
31
|
+
function baseTypeName(type) {
|
|
32
|
+
if (!type)
|
|
33
|
+
return '';
|
|
34
|
+
const match = type.trim().match(/^([a-zA-Z\s]+?)\s*\(/);
|
|
35
|
+
const base = match?.[1] ?? type;
|
|
36
|
+
return base.trim().toLowerCase();
|
|
37
|
+
}
|
|
38
|
+
/** 把用户输入的长度/精度/小数位规整为数字,空值视为未填写 */
|
|
39
|
+
function toNumber(value) {
|
|
40
|
+
if (value === null || value === undefined || value === '')
|
|
41
|
+
return null;
|
|
42
|
+
const num = Number(value);
|
|
43
|
+
return Number.isNaN(num) ? null : num;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 构建列类型字符串,按数据库补齐缺失的长度/精度参数。
|
|
47
|
+
*
|
|
48
|
+
* @param databaseType mysql | postgres | mssql | oracle | sqlite
|
|
49
|
+
* @param type 列类型(可能已带参数)
|
|
50
|
+
* @param length 用户填写的长度
|
|
51
|
+
* @param precision 用户填写的精度
|
|
52
|
+
* @param scale 用户填写的小数位
|
|
53
|
+
*/
|
|
54
|
+
function buildColumnType(databaseType, type, length, precision, scale) {
|
|
55
|
+
if (!type || hasTypeParams(type))
|
|
56
|
+
return type;
|
|
57
|
+
const defaults = defaultFor(databaseType, baseTypeName(type));
|
|
58
|
+
if (!defaults)
|
|
59
|
+
return type;
|
|
60
|
+
if (defaults.precision != null) {
|
|
61
|
+
const p = toNumber(precision) ?? defaults.precision;
|
|
62
|
+
const s = toNumber(scale) ?? defaults.scale;
|
|
63
|
+
return s != null ? `${type}(${p},${s})` : `${type}(${p})`;
|
|
64
|
+
}
|
|
65
|
+
if (defaults.length != null) {
|
|
66
|
+
const l = toNumber(length) ?? defaults.length;
|
|
67
|
+
return l != null ? `${type}(${l})` : type;
|
|
68
|
+
}
|
|
69
|
+
return type;
|
|
70
|
+
}
|
|
71
|
+
/** 转义 SQL 字符串字面量中的单引号 */
|
|
72
|
+
function escapeSqlString(value) {
|
|
73
|
+
return String(value ?? '').replace(/'/g, "''");
|
|
74
|
+
}
|
|
75
|
+
/** 各数据库常见的函数/关键字形式默认值(应原样输出,不加引号) */
|
|
76
|
+
const DEFAULT_KEYWORDS = new Set([
|
|
77
|
+
'current_timestamp', 'now()', 'current_date', 'current_time',
|
|
78
|
+
'localtimestamp', 'localtime', 'current_user',
|
|
79
|
+
'sysdate', 'systimestamp', 'getdate()', 'getutcdate()',
|
|
80
|
+
'sysdatetime()', 'sysdatetimeoffset()', 'sysutcdatetime()',
|
|
81
|
+
'newid()', 'newsequentialid()', 'gen_random_uuid()', 'uuid_generate_v4()'
|
|
82
|
+
]);
|
|
83
|
+
/** 默认值是否为函数/关键字形式(不加引号) */
|
|
84
|
+
function isFunctionDefault(value) {
|
|
85
|
+
if (value === null || value === undefined)
|
|
86
|
+
return false;
|
|
87
|
+
const raw = String(value).trim();
|
|
88
|
+
if (!raw)
|
|
89
|
+
return false;
|
|
90
|
+
const lower = raw.toLowerCase();
|
|
91
|
+
if (lower === 'null')
|
|
92
|
+
return true;
|
|
93
|
+
if (DEFAULT_KEYWORDS.has(lower))
|
|
94
|
+
return true;
|
|
95
|
+
// now() / getdate() / newid() 等零参函数调用
|
|
96
|
+
if (/^[a-z_][a-z0-9_]*\s*\(\s*\)$/.test(lower))
|
|
97
|
+
return true;
|
|
98
|
+
// current_timestamp(6) 等带精度参数的时间函数
|
|
99
|
+
if (/^current_timestamp\s*\(\s*\d+\s*\)$/.test(lower))
|
|
100
|
+
return true;
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
/** 生成 SQL 默认值字面量(函数原样输出,其余加引号并转义) */
|
|
104
|
+
function formatDefaultLiteral(value) {
|
|
105
|
+
if (value === null || value === undefined || String(value).trim() === '') {
|
|
106
|
+
return 'NULL';
|
|
107
|
+
}
|
|
108
|
+
if (isFunctionDefault(value)) {
|
|
109
|
+
return String(value).trim();
|
|
110
|
+
}
|
|
111
|
+
return `'${escapeSqlString(value)}'`;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=sql-type.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-type.helper.js","sourceRoot":"","sources":["../../../../server/service/database/sql-type.helper.ts"],"names":[],"mappings":"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"}
|