fix(oceanbase-oracle): complete tables across schemas

This commit is contained in:
Mo-Moore authored and GitHub committed 2026-09-24 16:16:18 +08:00
1 parent 53184faf87
commit a73bc4df69
10 files changed
+574 -22

No files matched your search

+3 -3
View File
@@ -104,7 +104,7 @@ import {
type ConnectionExportProtection,
} from "@/lib/connection/connectionConfigTransfer";
import type { SqlCompletionColumn, SqlCompletionForeignKey, SqlCompletionObject, SqlCompletionTable } from "@/lib/sql/sqlCompletion";
import { usesOracleCurrentSchemaCompletion } from "@/lib/sql/oracleCompletionSession";
import { usesOracleCurrentSchemaCompletion, isOracleCompletionDatabase } from "@/lib/sql/oracleCompletionSession";
import { mergeSqlObjectNavigationType, sqlObjectNavigationTypeFromTableType } from "@/lib/sql/sqlNavigation";
import * as api from "@/lib/backend/api";
import { oracleDatabaseLinksFromResult, oracleDatabaseLinksSql, supportsOracleDatabaseLinks } from "@/lib/database/oracleDatabaseLinks";
@@ -7997,7 +7997,7 @@ export const useConnectionStore = defineStore("connection", () => {
requestRevision = completionCacheRevision(connectionId, database),
matchMode: CompletionAssistantMatchMode = "prefix",
): Promise<SqlCompletionTable[]> {
const oracleAssistant = getConfig(connectionId)?.db_type === "oracle";
const oracleAssistant = isOracleCompletionDatabase(getConfig(connectionId)?.db_type);
const preferredSchema = oracleAssistant ? completionPreferredSchema(connectionId, globalSearch ? currentSchema : (schema ?? currentSchema)) : schema?.trim() || undefined;
const objectKinds: CompletionAssistantObjectKind[] = ["table", "view"];
const response = await completionAssistantSearch(
@@ -8033,7 +8033,7 @@ export const useConnectionStore = defineStore("connection", () => {
matchMode: CompletionAssistantMatchMode = "prefix",
): Promise<SqlCompletionObject[]> {
const databaseType = getConfig(connectionId)?.db_type;
const oracleAssistant = databaseType === "oracle";
const oracleAssistant = isOracleCompletionDatabase(databaseType);
const requestedSchema = schema?.trim() || currentSchema?.trim() || undefined;
const sequenceOnly = objectKinds.length === 1 && objectKinds[0] === "sequence";
const preferredSchema = oracleAssistant ? completionPreferredSchema(connectionId, currentSchema) : requestedSchema || (!sequenceOnly && databaseType === "postgres" ? "public" : databaseType === "mysql" ? database : undefined);