MCPcopy Create free account
hub / github.com/apache/paimon-rust / plan

Method plan

crates/paimon/src/table/table_scan.rs:373–379  ·  view source on GitHub ↗

Plan the full scan: resolve snapshot (via options or latest), then read manifests and build DataSplits. Time travel is resolved from table options: - only one of `scan.version`, `scan.timestamp-millis` may be set - `scan.version` → tag name (if exists) → snapshot id (if parseable) → error - `scan.timestamp-millis` → find the latest snapshot <= that timestamp - otherwise → read the latest snapshot

(&self)

Source from the content-addressed store, hash-verified

371 ///
372 /// Reference: [TimeTravelUtil.tryTravelToSnapshot](https://github.com/apache/paimon/blob/master/paimon-core/src/main/java/org/apache/paimon/table/source/snapshot/TimeTravelUtil.java)
373 pub async fn plan(&self) -> crate::Result<Plan> {
374 let snapshot = match self.resolve_snapshot().await? {
375 Some(snapshot) => snapshot,
376 None => return Ok(Plan::new(Vec::new())),
377 };
378 self.plan_snapshot(snapshot).await
379 }
380
381 async fn resolve_snapshot(&self) -> crate::Result<Option<Snapshot>> {
382 let file_io = self.table.file_io();

Calls 2

resolve_snapshotMethod · 0.80
plan_snapshotMethod · 0.80