apache / apache/iceberg-cpp

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

Open
#613 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
221
Forks
124
Avg merge
1d 16h
Merged PRs (30d)
21

Description

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.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the GetFieldByName implementation and the behavior introduced by apache/iceberg-cpp#180. Compare case-insensitive matching with the Python and Java Iceberg implementations, using a column name containing U+0130 as the example. Done means iceberg-cpp handles Unicode and multibyte names consistently with those implementations, with coverage for the example.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.