Skip to content

Fix/measure rename bug#362

Merged
LoganLCX merged 3 commits intoVisActor:mainfrom
LoganLCX:fix/measure-rename-bug
Mar 5, 2026
Merged

Fix/measure rename bug#362
LoganLCX merged 3 commits intoVisActor:mainfrom
LoganLCX:fix/measure-rename-bug

Conversation

@LoganLCX
Copy link
Collaborator

@LoganLCX LoganLCX commented Mar 5, 2026

问题描述

在前面的修复 #361 中,虽然已将所有操作改为使用 field 而非 alias 来作为measure的唯一标识符,但SQL查询结果的列名仍然使用了 alias。这导致当两个measures被重命名为相同的alias时,SQL会生成重复的列名,后者覆盖前者,导致两个measure显示相同的数值。

解决方案

改用 field 而不是 alias 作为SQL列名,确保唯一性。这样与VSeed层已经使用field作为id保持一致。

修改内容

  1. packages/vquery/src/sql-builder/builders/select.ts

    • 所有SELECT表达式现在使用 field 作为SQL别名而非 alias
    • 确保SQL列名总是唯一的
  2. practices/professional/src/utils/demoConnector.ts

    • 从查询结果读取数据时改为使用 field 而不是 alias
  3. practices/professional/src/utils/localConnector.ts

    • 同样改为使用 field 来读取SQL结果数据

- 修复 dslToSQL.ts:添加别名到字段的映射逻辑
- 支持 groupBy、orderBy、having 中的别名自动解析为实际字段
- 更新所有 vquery 单元测试快照(30+ 测试)
- 更新 demoConnector/localConnector:从 field 读取,映射回 alias 返回
- 所有测试通过:151 passed, 60 test files passed
@LoganLCX LoganLCX merged commit 1266a27 into VisActor:main Mar 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants