Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Feature] Support Lance file format

Closed
#313 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
45/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
cmake, cpp, java, rust

Research direction

Start by reading the existing Mosaic Rust FFI integration and lifecycle patterns, then compare the Java reference module at paimon-lance and inspect the existing file format interfaces. Done means an optional disabled-by-default CMake integration supports Lance reads and writes, required projections and row selection, row metadata, logical-type validation, round-trip tests, and Java/C++ compatibility fixtures.

Written by the indexing model from the issue text.

Description

Search before asking
  • I searched in the issues and found nothing similar.
Motivation

Apache Paimon Java supports Lance as a data file format through the paimon-lance module. Paimon C++ currently cannot read or write tables configured with file.format=lance, which prevents Java and C++ engines from interoperating on those tables.

Solution

Add optional Lance file format support to Paimon C++, aligned with the Java implementation and Lance 0.39.0:

  • register a Lance file format factory behind a disabled-by-default CMake option;
  • support reading and writing Lance files through the existing file format interfaces;
  • support column projection, precise row selection, row counts, and file row-id reporting;
  • validate the same supported and unsupported logical types as Java;
  • add C++ round-trip tests and Java/C++ compatibility fixtures in both directions.

The implementation should follow the existing Mosaic Rust FFI integration and lifecycle patterns.

Anything else?

Java reference module: https://github.com/apache/paimon/tree/master/paimon-lance

Are you willing to submit a PR?
  • I am willing to submit a PR!
Dominant language
C++
Stars
65
Forks
29
Avg merge
2d 4h
Merged PRs (30d)
78

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/paimon-cpp

All issues in apache/paimon-cpp

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.