Skip to content

feat: Introduce docs for paimon-rust#157

Merged
XiaoHongbo-Hope merged 6 commits intoapache:mainfrom
JingsongLi:docs
Mar 30, 2026
Merged

feat: Introduce docs for paimon-rust#157
XiaoHongbo-Hope merged 6 commits intoapache:mainfrom
JingsongLi:docs

Conversation

@JingsongLi
Copy link
Copy Markdown
Contributor

Purpose

Introduce docs.

Brief change log

Tests

API and Format

Documentation

Copy link
Copy Markdown
Contributor

@QuakeWang QuakeWang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @JingsongLi, I have reviewed the documents and left some minor comments.

Comment thread docs/src/getting-started.md Outdated
[dependencies]
paimon = "0.0.0"
paimon-datafusion = "0.0.0"
datafusion = "46"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
datafusion = "46"
datafusion = "52"

The DataFusion version here is out of date. The integration crate currently depends on 52.3.0 — using "46" will cause API incompatibility at compile time. Please update to datafusion = "52".

Comment thread docs/README.md Outdated

# Documentation

This directory contains the source files for the Apache Paimon Rust documentation site, built with [MkDocs](https://www.mkdocs.org/) and the [Material for MkDocs](https://squidfun.github.io/mkdocs-material/) theme.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This directory contains the source files for the Apache Paimon Rust documentation site, built with [MkDocs](https://www.mkdocs.org/) and the [Material for MkDocs](https://squidfun.github.io/mkdocs-material/) theme.
This directory contains the source files for the Apache Paimon Rust documentation site, built with [MkDocs](https://www.mkdocs.org/) and the [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) theme.

Comment thread docs/src/getting-started.md Outdated
let read_builder = table.new_read_builder();

// Step 1: Scan — produces a Plan containing DataSplits
let scan = read_builder.new_scan();
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This example will not compile. new_scan() borrows read_builder immutably and the returned TableScan<'a> keeps that borrow alive as long as scan is in scope. Calling read_builder.new_read() on line 119 while scan still holds the borrow will be rejected by the borrow checker. Split the two phases into separate scopes:

  // Scan phase — borrow ends when this block exits
  let plan = {
      let scan = read_builder.new_scan();
      scan.plan().await?
  };

  // Read phase
  let reader = read_builder.new_read()?;
  let mut stream = reader.to_arrow(plan.splits())?;

Comment thread docs/src/contributing.md Outdated
cargo fmt

# Lint
cargo clippy
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The project CI runs cargo clippy --all-targets --workspace -- -D warnings. Running cargo clippy locally without -D warnings may pass while CI fails, creating a confusing contributor experience. Please align this with the actual CI command.

Copy link
Copy Markdown
Contributor

@luoyuxia luoyuxia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JingsongLi Thanks for the great pr. The website style/theme looks well. Just left minor comments.

Comment thread docs/mkdocs.yml Outdated

site_name: Apache Paimon Rust
site_description: The Rust implementation of Apache Paimon
site_url: https://paimon.apache.org/paimon-rust/
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seem it's not available now.
Another question is do we need a separate website to hold the docs just like cpp client https://alibaba.github.io/paimon-cpp/index.html

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will add this in paimon-web project.

Comment thread docs/src/releases.md
- REST Catalog client
- Apache DataFusion integration
- Partitioned table support
- C FFI bindings
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also add go bindings?

Comment thread docs/src/releases.md Outdated
Planned features:

- Paimon table format reader
- Local filesystem and S3 storage backends
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we also support oss

Comment thread docs/src/index.md Outdated
Key features:

- Native Rust reader for Paimon table format
- Support for local filesystem and S3 storage backends
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dito: we also support oss

Comment thread docs/src/getting-started.md Outdated

while let Some(batch) = stream.next().await {
let batch = batch?;
println!("Got batch with {} rows", batch.num_rows());
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: may be print the record batch

 println!("RecordBatch: {batch:#?}");

Comment thread docs/src/architecture.md Outdated

The core crate implements the Paimon table format, including:

- **Catalog** — REST Catalog client for discovering and managing databases and tables
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Catalog**REST Catalog client for discovering and managing databases and tables
- **Catalog** — Catalog client for discovering and managing databases and tables

Since not only rest catalog, but also filesystem catalog

Copy link
Copy Markdown
Contributor

@luoyuxia luoyuxia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Comment thread .asf.yaml Outdated
protected_branches:
main:
required_pull_request_reviews:
required_approving_review_count: 0
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
required_approving_review_count: 0
required_approving_review_count: 1

I think this value is at least 1. Please verify this is the intended value before merging.

Copy link
Copy Markdown
Contributor Author

@JingsongLi JingsongLi Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just test review override.

This setting makes merging cumbersome, as two committers must participate in order to merge the code.

@JingsongLi JingsongLi closed this Mar 29, 2026
@JingsongLi JingsongLi reopened this Mar 29, 2026
Copy link
Copy Markdown
Contributor

@QuakeWang QuakeWang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@XiaoHongbo-Hope XiaoHongbo-Hope merged commit 102e4f0 into apache:main Mar 30, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants