jackylee-ch commented on code in PR #796:
URL: https://github.com/apache/paimon-rust/pull/796#discussion_r3987836068


##########
bindings/go/predicate.go:
##########
@@ -253,8 +253,14 @@ var errConsumedPredicate = fmt.Errorf("paimon: predicate 
already consumed or nil
 // PredicateBuilder creates filter predicates for a table.
 // It holds a Go-level reference to the Table and does not own any C resources,
 // so there is no Close() method.
+//
+// caseSensitive is baked into every predicate this builder produces: the core
+// resolves a column when the predicate is constructed, so it cannot be changed
+// afterwards. Use Table.PredicateBuilder for exact matching or
+// Table.PredicateBuilderWithCaseSensitive to opt out.
 type PredicateBuilder struct {
-       table *Table
+       table         *Table
+       caseSensitive bool

Review Comment:
   Not Go-only: the split is core's and the C ABI's, both merged in #496, whose 
description left Go's half to a follow-up. Python needs a single switch only 
because its filter is a dict converted at `with_filter` time; Go's `WithFilter` 
takes an already-resolved handle, so the flag has to sit on the builder that 
produces the predicate.
   
   Collapsed it into `PredicateBuilder.WithCaseSensitive` in 23e53fa so both 
halves share one switch name and `Table` gains no method. `go test ./...` in 
bindings/go green, including a new test pinning that neither switch reaches the 
other.
   



-- 
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