fix(iris): prevent unsupported comment statements

This commit is contained in:
t8y2 committed 2026-07-22 12:54:38 +08:00
1 parent 0b86d8278d
commit 155eac6656
7 files changed
+249 -22

No files matched your search

@@ -28,6 +28,21 @@ describe("tableStructureCapabilities", () => {
expect(getTableStructureCapabilities("postgres", "postgres").alterStrategy).toBe("direct");
});
it("disables persisted comment editing for IRIS without disabling other structure changes", () => {
expect(getTableStructureCapabilities("iris", "iris")).toMatchObject({
comment: false,
addColumn: true,
dropColumn: true,
renameColumn: true,
alterType: true,
alterNullability: true,
alterDefault: true,
});
expect(getTableStructureCapabilities("oracle", "oracle").comment).toBe(true);
expect(getTableStructureCapabilities("oceanbase-oracle", "oceanbase-oracle").comment).toBe(true);
expect(getTableStructureCapabilities("dameng", "dameng").comment).toBe(true);
});
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,12 @@ const oracleCapabilities = capabilities({
indexType: true,
});
const irisCapabilities = capabilities({
...oracleCapabilities,
// IRIS exposes %DESCRIPTION at definition time but cannot alter persisted descriptions.
comment: false,
});
const h2Capabilities = capabilities({
dialect: "h2",
createTable: true,
@@ -318,7 +324,7 @@ const capabilityByType: Partial<Record<DatabaseType, TableStructureCapabilities>
oracle: oracleCapabilities,
dameng: oracleCapabilities,
"oceanbase-oracle": oracleCapabilities,
iris: oracleCapabilities,
iris: irisCapabilities,
yashandb: oracleCapabilities,
xugu: oracleCapabilities,
h2: h2Capabilities,