fix(dameng): support primary key editing
This commit is contained in:
1 parent
66f94f23f1
commit
f80fdcdfa7
6 files changed
+778
-168
No files matched your search
@@ -43,6 +43,12 @@ describe("tableStructureCapabilities", () => {
|
||||
expect(getTableStructureCapabilities("dameng", "dameng").comment).toBe(true);
|
||||
});
|
||||
|
||||
it("enables alter primary key for Dameng without enabling it for Oracle", () => {
|
||||
expect(getTableStructureCapabilities("dameng", "dameng").alterPrimaryKey).toBe(true);
|
||||
expect(getTableStructureCapabilities("oracle", "oracle").alterPrimaryKey).toBe(false);
|
||||
expect(getTableStructureCapabilities("oceanbase-oracle", "oceanbase-oracle").alterPrimaryKey).toBe(false);
|
||||
});
|
||||
|
||||
it("uses local-only column reordering for editable databases without physical reorder support", () => {
|
||||
for (const databaseType of ["sqlserver", "postgres", "sqlite", "oracle", "dameng", "duckdb", "informix"] as const) {
|
||||
expect(supportsLocalTableColumnReorder(databaseType, databaseType)).toBe(true);
|
||||
|
||||
@@ -190,6 +190,13 @@ const oracleCapabilities = capabilities({
|
||||
indexType: true,
|
||||
});
|
||||
|
||||
// Dameng (DM8): ALTER TABLE ... DROP PRIMARY KEY / ADD PRIMARY KEY is official DDL.
|
||||
// Keep separate from oracleCapabilities so UI cannot enable PK edit without BE drop SQL.
|
||||
const damengCapabilities = capabilities({
|
||||
...oracleCapabilities,
|
||||
alterPrimaryKey: true,
|
||||
});
|
||||
|
||||
const irisCapabilities = capabilities({
|
||||
...oracleCapabilities,
|
||||
// IRIS exposes %DESCRIPTION at definition time but cannot alter persisted descriptions.
|
||||
@@ -323,7 +330,7 @@ const capabilityByType: Partial<Record<DatabaseType, TableStructureCapabilities>
|
||||
duckdb: duckdbCapabilities,
|
||||
sqlserver: sqlserverCapabilities,
|
||||
oracle: oracleCapabilities,
|
||||
dameng: oracleCapabilities,
|
||||
dameng: damengCapabilities,
|
||||
"oceanbase-oracle": oracleCapabilities,
|
||||
iris: irisCapabilities,
|
||||
yashandb: oracleCapabilities,
|
||||
|
||||
Reference in new issue
Block a user