apache / apache/iceberg-cpp

case insensitive field matching behavior different from iceberg-python and iceberg-java

未关闭
#613 7 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。