This is an automated email from the ASF dual-hosted git repository.

JingsongLi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/paimon-rust.git


The following commit(s) were added to refs/heads/main by this push:
     new 4a66e95c docs: fix Go predicate usage comments and document 
with_row_ranges (#689)
4a66e95c is described below

commit 4a66e95c01e569d8895139bfe5163e38d6c91ba5
Author: jackylee <[email protected]>
AuthorDate: Sun Aug 9 21:06:12 2026 +0800

    docs: fix Go predicate usage comments and document with_row_ranges (#689)
---
 bindings/go/predicate.go   | 10 +++++-----
 docs/src/python-binding.md | 12 ++++++++++++
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/bindings/go/predicate.go b/bindings/go/predicate.go
index d39b6840..e8d36de0 100644
--- a/bindings/go/predicate.go
+++ b/bindings/go/predicate.go
@@ -105,22 +105,22 @@ func StringDatum(v string) Datum {
 }
 
 // Date represents a date value as epoch days since 1970-01-01.
-// Usage: table.PredicateEqual("dt", paimon.Date(19000))
+// Usage: pb.Eq("dt", paimon.Date(19000))
 type Date int32
 
 // Time represents a time-of-day value as milliseconds since midnight.
-// Usage: table.PredicateEqual("t", paimon.Time(3600000))
+// Usage: pb.Eq("t", paimon.Time(3600000))
 type Time int32
 
 // Timestamp represents a timestamp without timezone (millis + sub-millis 
nanos).
-// Usage: table.PredicateEqual("ts", paimon.Timestamp{Millis: 1700000000000, 
Nanos: 0})
+// Usage: pb.Eq("ts", paimon.Timestamp{Millis: 1700000000000, Nanos: 0})
 type Timestamp struct {
        Millis int64
        Nanos  int32
 }
 
 // LocalZonedTimestamp represents a timestamp with local timezone semantics.
-// Usage: table.PredicateEqual("lzts", paimon.LocalZonedTimestamp{Millis: 
1700000000000, Nanos: 0})
+// Usage: pb.Eq("lzts", paimon.LocalZonedTimestamp{Millis: 1700000000000, 
Nanos: 0})
 type LocalZonedTimestamp struct {
        Millis int64
        Nanos  int32
@@ -155,7 +155,7 @@ func NewDecimal(unscaled int64, precision, scale uint32) 
Decimal {
 }
 
 // Bytes represents a binary value.
-// Usage: table.PredicateEqual("data", paimon.Bytes(someSlice))
+// Usage: pb.Eq("data", paimon.Bytes(someSlice))
 type Bytes []byte
 
 // toDatum converts a Go value to a Datum for predicate comparison.
diff --git a/docs/src/python-binding.md b/docs/src/python-binding.md
index bc4aa3ee..ab6a3cd6 100644
--- a/docs/src/python-binding.md
+++ b/docs/src/python-binding.md
@@ -229,6 +229,18 @@ rb.with_limit(100)
 !!! warning
     `with_limit` is a scan-planning hint, not an exact row cap. When all rows 
fall within a single split, the entire split is returned regardless of the 
limit value. Callers should apply application-level limiting if an exact upper 
bound is required.
 
+## Row Ranges
+
+Use `with_row_ranges` to restrict a Data Evolution scan to inclusive row ID 
ranges. Each range is a `(from, to)` tuple; `from` must not exceed `to`.
+
+```python
+rb = table.new_read_builder()
+rb.with_row_ranges([(0, 99), (200, 299)])
+```
+
+!!! warning
+    An empty list selects **zero** rows, not all rows. Format tables are not 
supported and raise `NotImplementedError`.
+
 ## Case Sensitivity
 
 Use `with_case_sensitive` to control whether column-name matching in 
projections and predicates is case-sensitive. Defaults to `True` (exact match). 
Set to `False` for case-insensitive matching (ASCII case-folding).

Reply via email to