case insensitive field matching behavior different from iceberg-python and iceberg-java
- 主要言語
- C++
- スター
- 221
- フォーク
- 124
- 平均マージ
- 1日 16時間
- マージ済み PR(30日)
- 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