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