case insensitive field matching behavior different from iceberg-python and iceberg-java
未关闭
- 主要语言
- C++
- 星标
- 221
- 派生
- 124
- 平均合并
- 1 天 16 小时
- 30 天内合并 PR
- 21
描述
https://github.com/apache/iceberg-cpp/pull/180 added support for `GetFieldByName` with `case_sensitive` argument. Its behavior is different from Python and Java Iceberg implementations which could result in inconsistent behavior when used together.
Python/Java are unicode/multibyte aware. iceberg-cpp is not. An example where this breaks e.g. column names containing e.g. "Latin Capital Letter I with Dot Above" https://www.compart.com/en/unicode/U+0130.
Does not affect me directly at this moment.
贡献指南
这个仓库没有索引到贡献指南
调研方向
从 GetFieldByName 的实现以及 apache/iceberg-cpp#180 引入的行为开始。以包含 U+0130 的列名为例,将不区分大小写的匹配与 Python 和 Java Iceberg 实现进行比较。完成的标准是 iceberg-cpp 能够以与这些实现一致的方式处理 Unicode 和多字节名称,并且为该示例提供覆盖。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- cpp
- 领域
- databases
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100