feat(grid): align query result editing

This commit is contained in:
t8y2 committed 2026-06-23 17:07:30 +08:00
1 parent a630d27cc8
commit 5c4c87a042
8 files changed
+98 -20

No files matched your search

@@ -71,7 +71,7 @@ import { buildTableDeleteTemplate, buildTableInsertTemplate, buildTableSelectTem
import { connectionFilePath, defaultSqliteBackupFileName, isMemorySqlitePath, sqliteBackupSourcePath } from "@/lib/connectionFile";
import { revealPathInFileManager } from "@/lib/tauri";
import { clearActiveTableReferencePayload, createTableReferencePayload, createTableReferenceDropEvent, setActiveTableReferencePayload, type QueryEditorTableReferencePayload } from "@/lib/queryEditorTableDrop";
import { editablePrimaryKeys, usesSyntheticRowIdKey } from "@/lib/tableEditing";
import { editableRowIdentifierColumns, usesSyntheticRowIdKey } from "@/lib/tableEditing";
import { supportsDatabaseCreation, supportsDatabaseSearch, supportsFieldLineage, supportsObjectBrowserTreeNode, supportsSchemaDiagram, supportsSqlFileExecution, supportsTableImport, supportsTableTruncate, supportsTableStructureEditing, usesTreeSchemaMode } from "@/lib/databaseCapabilities";
import { copyNameForTreeNode, objectSourceKindForTreeNode, sidebarSelectionCopyAction, treeNodeRowAction, treeNodeRowDoubleClickAction } from "@/lib/treeNodeClick";
import { formatSqlInsert } from "@/lib/exportFormats";
@@ -936,6 +936,7 @@ async function openData() {
});
try {
const nextColumns = await api.getColumns(node.connectionId, node.database, querySchema, node.label);
const indexes = await api.listIndexes(node.connectionId, node.database, querySchema, node.label).catch(() => []);
if (!isCurrentDataTab()) {
console.info("[DBX][openData:metadata:stale]", {
traceId,
@@ -945,7 +946,7 @@ async function openData() {
});
return;
}
const nextPrimaryKeys = editablePrimaryKeys(effectiveDbType, nextColumns, tableType);
const nextPrimaryKeys = editableRowIdentifierColumns(effectiveDbType, nextColumns, indexes, tableType);
queryStore.setTableMeta(tabId, {
schema: tableSchema,
tableName: node.label,