The GitHub Actions job "C++ Linter" on 
iceberg-cpp.git/data_file_writers_factory_new has succeeded.
Run started by GitHub user shangxinli (triggered by shangxinli).

Head commit for run:
e05193c536ea3ea1bb3d0c7a9cd55448372afe23 / Xinli Shang <[email protected]>
feat: add FileWriterFactory with separated writer files

Add FileWriterFactory to create data and delete writers, with
comprehensive improvements per review feedback.

File Organization:
- Separate DataWriter to data_writer.h/.cc
- Separate PositionDeleteWriter to position_delete_writer.h/.cc
- Separate EqualityDeleteWriter to equality_delete_writer.h/.cc
- Separate FileWriterFactory to file_writer_factory.h/.cc
- Keep only FileWriter base interface in writer.h/.cc

Key Features:
- Input validation for all factory methods (path, schema, spec)
- Thread safety documentation (NOT thread-safe)
- State management in stub implementations (is_closed tracking)
- Support for Parquet and Avro formats
- Pass-by-value + std::move for sink parameters

Implementation:
- FileWriterFactory directly creates writers (true factory pattern)
- Writers use friend pattern - only factory can construct them
- Internal MakeXxxInternal functions handle cross-file construction
- Stub implementations validate inputs before returning NotImplemented

Related to #441

Report URL: https://github.com/apache/iceberg-cpp/actions/runs/20623631005

With regards,
GitHub Actions via GitBox

Reply via email to