mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-08-15 19:24:23 +08:00
## 背景与问题 Kafka、MQTT 和 RocketMQ 的 `GetColumns` 会读取最多 20 条实际消息并推断动态字段。查看字段元数据因此可能产生等待、订阅或 Broker 消费活动,并要求额外消息读取权限。 ## 变更点 - Kafka、MQTT 和 RocketMQ 的 `GetColumns` 只返回静态消息字段,不再调用 `FetchMessages` - `GetAllColumns` 继续复用静态 `GetColumns`,批量字段加载也不会读取消息 - 保留显式 `SELECT` 查询消息及其动态结果字段行为 - 为三类消息服务补充回归断言,验证字段元数据读取次数为 0,并精确校验静态字段集合 ## 影响范围 - 字段元数据与自动补全不再展示从样本消息推断出的动态字段 - 实际查询结果仍会根据消息内容返回动态字段 - 不影响显式消息查询、发布及 Topic 元数据能力 ## 验证 - `go test ./internal/db -run "Test(KafkaGetColumnsReturnsStaticFieldsWithoutFetchingMessages|MQTTQueryExecAndColumns|RocketMQQueryExecAndColumns)$" -count=1` - `go test ./internal/db -count=1` - 独立对抗性代码审查通过;审查发现的字段断言子串误匹配已改为精确匹配 Closes #898