This is an automated email from the ASF dual-hosted git repository.
yuxia pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss-rust.git
The following commit(s) were added to refs/heads/main by this push:
new eae7b20 [doc] Update doc after rust / c++ panic fixes (#395)
eae7b20 is described below
commit eae7b207247c39504a5ba92c87579b31e2c36747
Author: Keith Lee <[email protected]>
AuthorDate: Sun Mar 1 04:03:40 2026 +0000
[doc] Update doc after rust / c++ panic fixes (#395)
---
website/docs/user-guide/rust/api-reference.md | 37 +++++++++++-----------
website/docs/user-guide/rust/data-types.md | 14 ++++----
website/docs/user-guide/rust/example/index.md | 2 +-
website/docs/user-guide/rust/example/log-tables.md | 10 +++---
.../user-guide/rust/example/partitioned-tables.md | 2 +-
.../user-guide/rust/example/primary-key-tables.md | 6 ++--
6 files changed, 36 insertions(+), 35 deletions(-)
diff --git a/website/docs/user-guide/rust/api-reference.md
b/website/docs/user-guide/rust/api-reference.md
index 3d72f55..d539a86 100644
--- a/website/docs/user-guide/rust/api-reference.md
+++ b/website/docs/user-guide/rust/api-reference.md
@@ -383,24 +383,25 @@ Implements the `InternalRow` trait (see below).
## `InternalRow` trait
-| Method
| Description |
-|--------------------------------------------------------------------------------|-----------------------------------------|
-| `fn get_boolean(&self, idx: usize) -> bool`
| Get boolean value |
-| `fn get_byte(&self, idx: usize) -> i8`
| Get tinyint value |
-| `fn get_short(&self, idx: usize) -> i16`
| Get smallint value |
-| `fn get_int(&self, idx: usize) -> i32`
| Get int value |
-| `fn get_long(&self, idx: usize) -> i64`
| Get bigint value |
-| `fn get_float(&self, idx: usize) -> f32`
| Get float value |
-| `fn get_double(&self, idx: usize) -> f64`
| Get double value |
-| `fn get_string(&self, idx: usize) -> &str`
| Get string value |
-| `fn get_decimal(&self, idx: usize, precision: usize, scale: usize) ->
Decimal` | Get decimal value |
-| `fn get_date(&self, idx: usize) -> Date`
| Get date value |
-| `fn get_time(&self, idx: usize) -> Time`
| Get time value |
-| `fn get_timestamp_ntz(&self, idx: usize, precision: u32) -> TimestampNtz`
| Get timestamp value |
-| `fn get_timestamp_ltz(&self, idx: usize, precision: u32) -> TimestampLtz`
| Get timestamp with local timezone value |
-| `fn get_bytes(&self, idx: usize) -> &[u8]`
| Get bytes value |
-| `fn get_binary(&self, idx: usize, length: usize) -> &[u8]`
| Get fixed-length binary value |
-| `fn get_char(&self, idx: usize, length: usize) -> &str`
| Get fixed-length char value |
+| Method
| Description |
+|----------------------------------------------------------------------------------------|-----------------------------------------|
+| `fn is_null_at(&self, idx: usize) -> Result<bool>`
| Check if a field is null |
+| `fn get_boolean(&self, idx: usize) -> Result<bool>`
| Get boolean value |
+| `fn get_byte(&self, idx: usize) -> Result<i8>`
| Get tinyint value |
+| `fn get_short(&self, idx: usize) -> Result<i16>`
| Get smallint value |
+| `fn get_int(&self, idx: usize) -> Result<i32>`
| Get int value |
+| `fn get_long(&self, idx: usize) -> Result<i64>`
| Get bigint value |
+| `fn get_float(&self, idx: usize) -> Result<f32>`
| Get float value |
+| `fn get_double(&self, idx: usize) -> Result<f64>`
| Get double value |
+| `fn get_string(&self, idx: usize) -> Result<&str>`
| Get string value |
+| `fn get_decimal(&self, idx: usize, precision: usize, scale: usize) ->
Result<Decimal>` | Get decimal value |
+| `fn get_date(&self, idx: usize) -> Result<Date>`
| Get date value |
+| `fn get_time(&self, idx: usize) -> Result<Time>`
| Get time value |
+| `fn get_timestamp_ntz(&self, idx: usize, precision: u32) ->
Result<TimestampNtz>` | Get timestamp value |
+| `fn get_timestamp_ltz(&self, idx: usize, precision: u32) ->
Result<TimestampLtz>` | Get timestamp with local timezone value |
+| `fn get_bytes(&self, idx: usize) -> Result<&[u8]>`
| Get bytes value |
+| `fn get_binary(&self, idx: usize, length: usize) -> Result<&[u8]>`
| Get fixed-length binary value |
+| `fn get_char(&self, idx: usize, length: usize) -> Result<&str>`
| Get fixed-length char value |
## `ChangeType`
diff --git a/website/docs/user-guide/rust/data-types.md
b/website/docs/user-guide/rust/data-types.md
index fe050bf..143fe34 100644
--- a/website/docs/user-guide/rust/data-types.md
+++ b/website/docs/user-guide/rust/data-types.md
@@ -67,14 +67,14 @@ use fluss::row::InternalRow;
for record in scan_records {
let row = record.row();
- if row.is_null_at(0) {
+ if row.is_null_at(0)? {
// field is null
}
- let id: i32 = row.get_int(0);
- let name: &str = row.get_string(1);
- let score: f32 = row.get_float(2);
- let date: Date = row.get_date(3);
- let ts: TimestampNtz = row.get_timestamp_ntz(4, 6);
- let decimal: Decimal = row.get_decimal(5, 10, 2);
+ let id: i32 = row.get_int(0)?;
+ let name: &str = row.get_string(1)?;
+ let score: f32 = row.get_float(2)?;
+ let date: Date = row.get_date(3)?;
+ let ts: TimestampNtz = row.get_timestamp_ntz(4, 6)?;
+ let decimal: Decimal = row.get_decimal(5, 10, 2)?;
}
```
diff --git a/website/docs/user-guide/rust/example/index.md
b/website/docs/user-guide/rust/example/index.md
index dcee87b..e35c8dc 100644
--- a/website/docs/user-guide/rust/example/index.md
+++ b/website/docs/user-guide/rust/example/index.md
@@ -48,7 +48,7 @@ async fn main() -> Result<()> {
let records = scanner.poll(Duration::from_secs(5)).await?;
for record in records {
let row = record.row();
- println!("id={}, name={}", row.get_int(0), row.get_string(1));
+ println!("id={}, name={}", row.get_int(0)?, row.get_string(1)?);
}
Ok(())
diff --git a/website/docs/user-guide/rust/example/log-tables.md
b/website/docs/user-guide/rust/example/log-tables.md
index f5a4d0e..7c01cf1 100644
--- a/website/docs/user-guide/rust/example/log-tables.md
+++ b/website/docs/user-guide/rust/example/log-tables.md
@@ -70,8 +70,8 @@ for (bucket, bucket_records) in records.records_by_buckets() {
let row = record.row();
println!(
" event_id={}, event_type={} @ offset={}",
- row.get_int(0),
- row.get_string(1),
+ row.get_int(0)?,
+ row.get_string(1)?,
record.offset()
);
}
@@ -82,9 +82,9 @@ for record in records {
let row = record.row();
println!(
"event_id={}, event_type={}, timestamp={} @ offset={}",
- row.get_int(0),
- row.get_string(1),
- row.get_long(2),
+ row.get_int(0)?,
+ row.get_string(1)?,
+ row.get_long(2)?,
record.offset()
);
}
diff --git a/website/docs/user-guide/rust/example/partitioned-tables.md
b/website/docs/user-guide/rust/example/partitioned-tables.md
index 3edf4d8..40bd4d6 100644
--- a/website/docs/user-guide/rust/example/partitioned-tables.md
+++ b/website/docs/user-guide/rust/example/partitioned-tables.md
@@ -208,7 +208,7 @@ key.set_field(2, 1i64); // zone (partition column)
let result = lookuper.lookup(&key).await?;
if let Some(row) = result.get_single_row()? {
- println!("Found: score={}", row.get_long(3));
+ println!("Found: score={}", row.get_long(3)?);
}
```
diff --git a/website/docs/user-guide/rust/example/primary-key-tables.md
b/website/docs/user-guide/rust/example/primary-key-tables.md
index 5b299cc..9e81979 100644
--- a/website/docs/user-guide/rust/example/primary-key-tables.md
+++ b/website/docs/user-guide/rust/example/primary-key-tables.md
@@ -104,9 +104,9 @@ let result = lookuper.lookup(&key).await?;
if let Some(row) = result.get_single_row()? {
println!(
"Found: id={}, name={}, age={}",
- row.get_int(0),
- row.get_string(1),
- row.get_long(2)
+ row.get_int(0)?,
+ row.get_string(1)?,
+ row.get_long(2)?
);
} else {
println!("Record not found");