mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-08-21 16:34:21 +08:00
✨ feat(query-editor): 结果页列元数据跨库加载并实心化保存按钮
- 结果集携带 metadataDbName/TableName,列类型注释从真实库表加载 - 只读查询也解析 tableRef,避免结果页丢元数据 - 选择列底色与固定列对齐;保存按钮改为蓝色实心主按钮样式 - 独立结果窗/还原路径同步元数据字段
This commit is contained in:
@@ -6549,6 +6549,9 @@ const QueryEditor: React.FC<{ tab: TabData; isActive?: boolean }> = ({ tab, isAc
|
||||
columns: cols,
|
||||
messages: resultMessages,
|
||||
tableName: tableRef?.tableName,
|
||||
// 跨库/跨 schema 查询时,列类型与注释必须从真实表所在库加载
|
||||
metadataDbName: tableRef?.metadataDbName,
|
||||
metadataTableName: tableRef?.metadataTableName,
|
||||
pkColumns: plan?.pkColumns || [],
|
||||
editLocator,
|
||||
readOnly: forceReadOnlyResult || !editLocator || editLocator.readOnly,
|
||||
@@ -7758,7 +7761,8 @@ const QueryEditor: React.FC<{ tab: TabData; isActive?: boolean }> = ({ tab, isAc
|
||||
id: windowId,
|
||||
sourceQueryTabId: tab.id,
|
||||
connectionId: currentConnectionId || tab.connectionId || '',
|
||||
dbName: currentDb || tab.dbName || '',
|
||||
// 独立窗也要带上结果表元数据所属库,否则列类型/注释会丢
|
||||
dbName: target.metadataDbName || currentDb || tab.dbName || '',
|
||||
title,
|
||||
...(preferred?.x !== undefined ? { x: preferred.x } : {}),
|
||||
...(preferred?.y !== undefined ? { y: preferred.y } : {}),
|
||||
@@ -7774,7 +7778,9 @@ const QueryEditor: React.FC<{ tab: TabData; isActive?: boolean }> = ({ tab, isAc
|
||||
columns: target.columns,
|
||||
messages: target.messages,
|
||||
resultType: target.resultType,
|
||||
tableName: target.tableName,
|
||||
tableName: target.metadataTableName || target.tableName,
|
||||
metadataDbName: target.metadataDbName,
|
||||
metadataTableName: target.metadataTableName,
|
||||
pkColumns: target.pkColumns || [],
|
||||
editLocator: target.editLocator as any,
|
||||
readOnly: target.readOnly !== false,
|
||||
@@ -7811,6 +7817,8 @@ const QueryEditor: React.FC<{ tab: TabData; isActive?: boolean }> = ({ tab, isAc
|
||||
messages: Array.isArray(restored.messages) ? restored.messages : undefined,
|
||||
resultType: restored.resultType === 'message' ? 'message' : 'grid',
|
||||
tableName: restored.tableName,
|
||||
metadataDbName: restored.metadataDbName,
|
||||
metadataTableName: restored.metadataTableName,
|
||||
pkColumns: Array.isArray(restored.pkColumns) ? restored.pkColumns : [],
|
||||
editLocator: restored.editLocator,
|
||||
readOnly: restored.readOnly !== false,
|
||||
|
||||
Reference in New Issue
Block a user