fix(oracle): avoid rowid for view data

This commit is contained in:
t8y2 committed 2026-06-12 21:02:32 +08:00
1 parent c6e50f80f2
commit 0d63fcd3a3
8 files changed
+46 -8

No files matched your search

@@ -27,7 +27,7 @@ export function useDataGridActions(activeTab: ComputedRef<QueryTab | undefined>)
const config = connectionStore.getConfig(tab.connectionId);
const effectiveDbType = effectiveDatabaseTypeForConnection(config);
const tableMeta = tableMetaForDataTab(tab);
const primaryKeys = tab.tableMeta ? editablePrimaryKeys(effectiveDbType, tab.tableMeta.columns) : (tableMeta?.primaryKeys ?? []);
const primaryKeys = tab.tableMeta ? editablePrimaryKeys(effectiveDbType, tab.tableMeta.columns, tab.tableMeta.tableType) : (tableMeta?.primaryKeys ?? []);
if (tab.tableMeta && primaryKeys.join("\0") !== tab.tableMeta.primaryKeys.join("\0")) {
tab.tableMeta.primaryKeys = primaryKeys;
}
@@ -55,10 +55,11 @@ export function useDataGridActions(activeTab: ComputedRef<QueryTab | undefined>)
const config = connectionStore.getConfig(tab.connectionId);
const querySchema = connectionObjectTreeQuerySchema(config, tab.database, tableMeta.schema);
const columns = await api.getColumns(tab.connectionId, tab.database, querySchema, tableMeta.tableName);
const primaryKeys = editablePrimaryKeys(effectiveDatabaseTypeForConnection(config), columns);
const primaryKeys = editablePrimaryKeys(effectiveDatabaseTypeForConnection(config), columns, tableMeta.tableType);
queryStore.setTableMeta(tab.id, {
schema: tableMeta.schema,
tableName: tableMeta.tableName,
tableType: tableMeta.tableType,
columns,
primaryKeys,
});
@@ -59,6 +59,7 @@ async function openTableTarget(target: NavigationTarget) {
queryStore.setTableMeta(tabId, {
schema: target.schema,
tableName: target.tableName,
tableType: "TABLE",
columns,
primaryKeys,
});
@@ -76,6 +77,7 @@ async function openTableTarget(target: NavigationTarget) {
queryStore.setTableMeta(tabId, {
schema: target.schema,
tableName: target.tableName,
tableType: "TABLE",
columns: [],
primaryKeys: [],
});
@@ -89,6 +91,7 @@ async function openTableTarget(target: NavigationTarget) {
queryStore.setTableMeta(tabId, {
schema: target.schema,
tableName: target.tableName,
tableType: "TABLE",
columns,
primaryKeys,
});
@@ -150,7 +153,7 @@ export function useNavigationTargets(dialogs: { showFieldLineageDialog: { value:
queryStore.setTableMeta(tab.id, {
...tab.tableMeta!,
columns,
primaryKeys: editablePrimaryKeys(effectiveDatabaseTypeForConnection(connection), columns),
primaryKeys: editablePrimaryKeys(effectiveDatabaseTypeForConnection(connection), columns, tab.tableMeta!.tableType),
});
if (tab.id === queryStore.activeTabId) await reloadData();
} catch (e: any) {