jackylee-ch opened a new pull request, #796:
URL: https://github.com/apache/paimon-rust/pull/796

   ### Purpose
   
   Follow-up to #496, which added the read-time case-sensitivity switch to the 
core,
   the C ABI and Python and left "Go's own opt-in case-insensitive API" to a
   follow-up. Measured from Go, fixture columns lowercase:
   
   ```
   NewRead() after WithProjection([ID NAME]) -> Column ID does not exist in 
table ...
   pb.Eq("ID", 1)                            -> Column 'ID' not found in schema 
fields ["id", "name"]
   ```
   
   Neither half is reachable from Go, and the first message names the column 
absent
   when only its case differs.
   
   ### Brief change log
   
   `ReadBuilder.WithCaseSensitive` covers projection. Predicates need their own
   switch, because the core resolves a column when the predicate is built, so
   `Table.PredicateBuilderWithCaseSensitive` carries the choice into every 
predicate
   a builder produces — setting only the read-builder flag would leave the 
second
   line above failing. The additive `paimon_predicate_*_with_case_sensitive` 
entry
   points are bound for the ten predicates Go already exposes, with the default 
path
   still calling the plain symbols. The six operators C gained in #523 but Go 
never
   bound stay out of scope.
   
   `bool` is this binding's first non-pointer scalar narrower than four bytes:
   declared as a 1-byte type, written as an explicit 0/1 since a Rust `bool` 
admits
   no other byte, and silently degrading to case-sensitive if got wrong.
   
   ### Tests
   
   Asserted in both directions: unset and `true` still reject uppercase names,
   `false` resolves them, records come back with the schema's own spelling, and 
both
   call orders agree. Each of the three predicate argument shapes has a case.
   
   ### API and Format
   
   Two new Go methods. No ABI, wire or storage change; the C symbols already 
exist.
   
   ### Documentation
   
   One `go-binding.md` section per half.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to