lszskye opened a new pull request, #111: URL: https://github.com/apache/paimon-cpp/pull/111
## Implement TableRead and FallbackDataSplit for Table Source Module ### Summary Add the implementation of `TableRead` and introduce `FallbackDataSplit` to support reading data from Paimon tables, including fallback branch reading capabilities. ### New Classes **`TableRead` (table_read.cpp)** — The core entry point for reading data from a Paimon table. `TableRead::Create` constructs the appropriate table reader based on the `ReadContext`: - Resolves the table schema from the schema manager or from a user-provided specific schema. - Merges user options with table schema options. - Dispatches to `AppendOnlyTableRead` for append-only tables or `KeyValueTableRead` for primary-key tables. - Supports fallback branch reading: when `scan-fallback-branch` is configured, creates a `FallbackTableRead` that wraps both the primary and fallback branch readers. - Supports system table reading by detecting and delegating to the appropriate `SystemTable` implementation. - `CreateReader` concatenates readers from multiple splits into a single `ConcatBatchReader`. **`FallbackDataSplit`** — A decorator over `DataSplit` that marks whether a split originates from the fallback branch. Wraps an existing `DataSplit` and exposes `IsFallback()` to indicate its origin, enabling the read layer to apply branch-specific read logic. ### Tests - `data_split_test.cpp` - `fallback_data_split_test.cpp` - `table_read_test.cpp` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
