fix(types): make RowKind short string parsing case-insensitive - #15
Conversation
|
Thank you for the contribution. This fix looks correct and addresses the case-sensitivity issue. We have a utility function, |
@lxy-9602 Thank you for the feedback. That sounds good to me. I’m happy to wait until Thanks again! |
|
@slfan1989 Hello, |
@lxy-9602 Thanks for the reminder and for reviewing the fix! I have rebased the branch onto the latest main and updated the PR to use StringUtils::ToUpperCase from #23. I also moved FromShortString into row_kind.cpp to avoid adding the StringUtils dependency to the header. Verified the RowKind parsing behavior locally. |
leaves12138
left a comment
There was a problem hiding this comment.
Re-reviewed the latest RowKind change. Moving FromShortString to the .cpp and normalizing via StringUtils::ToUpperCase looks good, and the added lowercase short-string test covers the intended behavior. I do not see blockers.

Purpose
Linked issue: close #14
Make
RowKind::FromShortStringconsistent with Java Paimon'sRowKind.fromShortStringbehavior.Java Paimon normalizes the input to uppercase before matching, so lowercase short strings such as
+i,-u,+u, and-dare accepted. This PR updates paimon-cpp to accept the same lowercase variants.Tests
Added unit test coverage for lowercase RowKind short strings:
+imaps toINSERT-umaps toUPDATE_BEFORE+umaps toUPDATE_AFTER-dmaps toDELETEAPI and Format
No.
This change does not affect public API headers under include/, storage format, or protocol.
Documentation
No.
This is a compatibility bug fix and does not introduce a new feature.
Generative AI tooling