Files
dbx/crates/dbx-core
zipgandzipg 0adef6e16a fix(export): 分页导出按列名对齐每一页,修复字段错位 (#9583)
Schemaless 引擎(Elasticsearch/Easysearch)的列集合是按每个响应里的文档现算的,
因此 select * 的不同分页可能给出不同的列顺序或列集合。查询结果导出把表头冻结在
第一页,却按位置写入后续页的行,导致第二页起的值落到错误的列里(#9522 反馈的
"导出字段错位",例如 beta 的值被写进 alpha 列)。

- 新增 export_column_remap/realign_page_cells/realign_page_rows:后续页按列名映射到
  冻结表头,列名缺失时填 NULL,列顺序不同也能正确还原;
- 列类型同样按列名对齐,保证按页的日期/时间格式化使用正确的类型;
- spatial_values 随行一起对齐,保持与单元格的 SRID 对应关系;
- 第一页仍是表头来源,新增列(表头里没有的列)与被删除的列都会被忽略,行为与写出
  表头保持一致。

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-09-19 15:23:22 +08:00
..