feat(gaussdb): allow clearing query schema
This commit is contained in:
3 files changed
+8
-6
No files matched your search
@@ -39,7 +39,7 @@ export const SCHEMA_AWARE_TYPES = new Set<DatabaseType>([
|
|||||||
|
|
||||||
export const SINGLE_DATABASE_TYPES = new Set<DatabaseType>(["oracle", "dameng", "firebird", "oceanbase-oracle", "access", "questdb"]);
|
export const SINGLE_DATABASE_TYPES = new Set<DatabaseType>(["oracle", "dameng", "firebird", "oceanbase-oracle", "access", "questdb"]);
|
||||||
|
|
||||||
export const CLEARABLE_QUERY_SCHEMA_TYPES = new Set<DatabaseType>(["oracle", "dameng", "oceanbase-oracle"]);
|
export const CLEARABLE_QUERY_SCHEMA_TYPES = new Set<DatabaseType>(["oracle", "dameng", "gaussdb", "oceanbase-oracle"]);
|
||||||
|
|
||||||
export const FETCH_FIRST_TYPES = new Set<DatabaseType>(["oracle", "dameng"]);
|
export const FETCH_FIRST_TYPES = new Set<DatabaseType>(["oracle", "dameng"]);
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -33,12 +33,14 @@ test("visible schema menu capability preserves adjacent database families", () =
|
|||||||
assert.equal(canConfigureVisibleSchemasForTreeNode("mysql", "database", "app"), false);
|
assert.equal(canConfigureVisibleSchemasForTreeNode("mysql", "database", "app"), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("only Oracle-compatible single-database schemas can be cleared from query tabs", () => {
|
test("only explicitly supported query schemas can be cleared from query tabs", () => {
|
||||||
assert.equal(supportsClearableQuerySchema("oracle"), true);
|
assert.equal(supportsClearableQuerySchema("oracle"), true);
|
||||||
assert.equal(supportsClearableQuerySchema("dameng"), true);
|
assert.equal(supportsClearableQuerySchema("dameng"), true);
|
||||||
|
assert.equal(supportsClearableQuerySchema("gaussdb"), true);
|
||||||
assert.equal(supportsClearableQuerySchema("oceanbase-oracle"), true);
|
assert.equal(supportsClearableQuerySchema("oceanbase-oracle"), true);
|
||||||
assert.equal(supportsClearableQuerySchema("mysql"), false);
|
assert.equal(supportsClearableQuerySchema("mysql"), false);
|
||||||
assert.equal(supportsClearableQuerySchema("postgres"), false);
|
assert.equal(supportsClearableQuerySchema("postgres"), false);
|
||||||
|
assert.equal(supportsClearableQuerySchema("opengauss"), false);
|
||||||
assert.equal(supportsClearableQuerySchema("sqlserver"), false);
|
assert.equal(supportsClearableQuerySchema("sqlserver"), false);
|
||||||
assert.equal(supportsClearableQuerySchema("jdbc"), false);
|
assert.equal(supportsClearableQuerySchema("jdbc"), false);
|
||||||
});
|
});
|
||||||
+4
-4
@@ -49,9 +49,9 @@ function oracleConn(id: string): ConnectionConfig {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function oracleCompatibleConn(id: string, dbType: "oracle" | "dameng" | "oceanbase-oracle"): ConnectionConfig {
|
function clearableQuerySchemaConn(id: string, dbType: "oracle" | "dameng" | "gaussdb" | "oceanbase-oracle"): ConnectionConfig {
|
||||||
return {
|
return {
|
||||||
...oracleConn(id),
|
...conn(id),
|
||||||
db_type: dbType,
|
db_type: dbType,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -4246,7 +4246,7 @@ test("closing a data tab releases its tab-scoped client session", async () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
for (const dbType of ["oracle", "dameng", "oceanbase-oracle"] as const) {
|
for (const dbType of ["oracle", "dameng", "gaussdb", "oceanbase-oracle"] as const) {
|
||||||
test(`clearing a ${dbType} query schema releases its tab-scoped client session`, async () => {
|
test(`clearing a ${dbType} query schema releases its tab-scoped client session`, async () => {
|
||||||
const restoreStorage = installMemoryStorage();
|
const restoreStorage = installMemoryStorage();
|
||||||
setActivePinia(createPinia());
|
setActivePinia(createPinia());
|
||||||
@@ -4255,7 +4255,7 @@ for (const dbType of ["oracle", "dameng", "oceanbase-oracle"] as const) {
|
|||||||
const originalFetch = globalThis.fetch;
|
const originalFetch = globalThis.fetch;
|
||||||
const connectionId = `${dbType}-1`;
|
const connectionId = `${dbType}-1`;
|
||||||
|
|
||||||
connectionStore.addEphemeralConnection(oracleCompatibleConn(connectionId, dbType));
|
connectionStore.addEphemeralConnection(clearableQuerySchemaConn(connectionId, dbType));
|
||||||
const tabId = store.createTab(connectionId, "SERVICE", "Query", "query", "REPORTING");
|
const tabId = store.createTab(connectionId, "SERVICE", "Query", "query", "REPORTING");
|
||||||
const closedSessions: any[] = [];
|
const closedSessions: any[] = [];
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user