eldenmoon commented on PR #69995:
URL: https://github.com/apache/doris/pull/69995#issuecomment-6597234087

   感谢评审。逐条对照 `ee6ce712a03` 的代码核实过,处理如下:
   
   **F-01(Major):已修复,见 f95c5034e79。**
   - 修法:开启 `variant_escape_dots_in_keys` 时,两处 `VariantType.toSql` 显式输出 
`"variant_enable_nested_group" = "false"`;未开启转义的列输出不变。
   - 测试:
     - FE UT:在"会话默认 nested=true"和"无会话"两种情况下做类型往返。
     - 回归:在 `default_variant_enable_nested_group=true` 下做 CREATE TABLE LIKE 和 
SHOW CREATE 重放。
     - 之前 `check_coverage_fe` 没过,这次补了 IndexDefinition 等处的 FE UT。
   
   **F-02(Minor):本 PR 不改。**
   `aggregate_path_to_stats` 和 `aggregate_variant_extended_info` 原本就各自加载一遍 
segment,新校验沿用同样的做法,而且只在存在转义列时才执行。要让三处共享加载,需要一起重构,留作后续。
   
   **F-03(Minor):本 PR 不改。**
   只有同一查询同时引用 `v['a.b']` 和 `v['a']['b']` 时,才会少一条 CAST 标量下推,结果是正确的。改成按 slot id 
归组会动到所有 scan 共用的路径,留作后续 PR。
   
   **F-04(既有缺陷):单独修复,见 #70060。**
   - master ASAN 构建上的实测结果:
     - V3 表第一次导入,`v[p]` 就读出 NULL。
     - 评审给的三 rowset 场景,第一次 FULL compaction 就在统计计算处失败,报 `ColumnNullable` 到 
`ColumnMap` 的转换错误。这一处不区分 V2 和 V3。
     - key 含 doc 保留名时,读端会从 `std::stoi` 抛异常。
   - #70060 的修法:
     - 统一改为只识别 writer 生成的精确内部列名。
     - 读端把旧 V3 segment 里被错误内嵌的普通子列重新读出来,只在打开 segment 时多一点元数据处理,没有逐行开销。
   - 不在该 PR 范围内:key 完全等于内部列名的情况。
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to