Skip to content

feat(table-query): 支持时间戳条件转换#488

Merged
kenlee1988 merged 1 commit into
mainfrom
fix/434-issue
May 22, 2026
Merged

feat(table-query): 支持时间戳条件转换#488
kenlee1988 merged 1 commit into
mainfrom
fix/434-issue

Conversation

@kenlee1988

@kenlee1988 kenlee1988 commented May 22, 2026

Copy link
Copy Markdown
Contributor

Pull Request

What Changed

Brief description of changes:

  • 为 MariaDB 和 PostgreSQL 的日期字段条件比较增加毫秒时间戳转换支持
  • 新增通用时间戳值归一化逻辑,统一处理 float64float32intint32uintuint32 等数值类型
  • 将日期字段的 gt / gte / lt / lte / range / out_range / between 条件转换为数据库专用日期表达式
  • 重构原有 between 日期处理逻辑,移除重复的时间戳格式化代码
  • 补充 MariaDB、PostgreSQL 条件转换测试,以及指标即时查询时间窗口映射测试

Why


How

  • Key implementation points:
    • MariaDB 使用 FROM_UNIXTIME(?/1000) 构建日期字段比较表达式
    • PostgreSQL 使用 to_timestamp(?/1000) 构建日期字段比较表达式
    • 日期字段单值比较和范围比较统一走数据库专用 helper
    • 非日期字段仍保持原有参数化比较逻辑
    • 指标即时查询会将时间窗口映射为 VEGA resource data 的 range filter condition
  • Breaking changes (API, config, database, etc.): 无 API、配置或数据库变更。

Testing

  • Unit tests passed locally
  • Integration tests passed locally
  • Verified in test environment

Test notes:

  • 按要求未运行测试;本次仅查看变更并更新 PR 描述。

Risk & Rollback

  • Potential risks: 时间戳转换默认按毫秒处理,若调用方传入秒级时间戳会得到错误日期;日期字段比较 SQL 表达式变化需要关注数据库时区设置对查询结果的影响。当前 PR mergeable_state 为 blocked,需要合并前确认阻塞原因。
  • Rollback plan: 回滚 MariaDB/PostgreSQL 条件转换 helper 与日期字段分支调整,并移除新增测试即可恢复旧行为。

Additional Notes

  • Changed files: 5 files
  • Additions/deletions: +332 / -56
  • Main areas: MariaDB/PostgreSQL table condition conversion and metric query tests

1.  新增通用时间戳值归一化函数,统一处理不同数值类型的时间戳
2.  为MariaDB和PostgreSQL分别封装数据库专用的日期比较表达式生成函数
3.  重构单条件比较(gt/gte/lt/lte)和范围条件(range/out_range/between)的日期类型处理逻辑,移除重复代码
4.  新增对应数据库的单元测试验证时间戳条件转换正确性
5.  补充指标查询服务中即时查询的时间窗口转换测试用例
@kenlee1988 kenlee1988 changed the title feat: 为MariaDB和PostgreSQL添加时间戳类型条件转换支持 feat(table-query): 支持时间戳条件转换 May 22, 2026
@kenlee1988 kenlee1988 self-assigned this May 22, 2026
@kenlee1988 kenlee1988 merged commit b9b35fb into main May 22, 2026
2 checks passed
@kenlee1988 kenlee1988 deleted the fix/434-issue branch May 22, 2026 07:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants