case insensitive field matching behavior different from iceberg-python and iceberg-java
- 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