apache / apache/iceberg-cpp

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

Offen
#613 7 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
221
Forks
124
Ø Merge
1 T. 16 Std.
Gemergte PRs (30 T.)
21

Beschreibung

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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit der Implementierung von GetFieldByName und dem durch apache/iceberg-cpp#180 eingeführten Verhalten. Vergleiche die Übereinstimmung ohne Berücksichtigung der Groß-/Kleinschreibung mit den Python- und Java-Implementierungen von Iceberg, wobei ein Spaltenname mit U+0130 als Beispiel verwendet wird. Als abgeschlossen gilt die Aufgabe, wenn iceberg-cpp Unicode- und Multibyte-Namen konsistent mit diesen Implementierungen verarbeitet und eine Abdeckung für das Beispiel vorhanden ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
databases
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.