54 std::shared_ptr<FileIO> io;
56 std::function<Result<std::optional<PositionDeleteIndex>>(std::string_view)>
57 load_previous_deletes;
69 Status
Delete(std::string_view referenced_data_file, int64_t pos,
70 const std::shared_ptr<PartitionSpec>& spec,
74 Status
Delete(std::string_view referenced_data_file,
76 const std::shared_ptr<PartitionSpec>& spec,
87 std::unique_ptr<Impl> impl_;
89 explicit DVWriter(std::unique_ptr<Impl> impl);
A deletion vector file writer.
Definition dv_writer.h:61
Result< DeleteWriteResult > Metadata()
The result of writing; valid only after Close().
Status Delete(std::string_view referenced_data_file, const PositionDeleteIndex &positions, const std::shared_ptr< PartitionSpec > &spec, const PartitionValues &partition)
Mark all positions in the given index as deleted for a data file.
static Result< std::unique_ptr< DVWriter > > Make(DVWriterOptions options)
Create a new DVWriter.
Status Close()
Write all accumulated deletion vectors to the Puffin file and close.
Status Delete(std::string_view referenced_data_file, int64_t pos, const std::shared_ptr< PartitionSpec > &spec, const PartitionValues &partition)
Mark a row position as deleted for the given data file.
StructLike wrapper for a vector of literals that represent partition values.
Definition partition_values.h:36
Tracks deleted row positions using a bitmap.
Definition position_delete_index.h:42
Define symbol visibility macros for core Iceberg APIs.
Core Apache Iceberg C++ APIs.
Definition arrow_io_util.h:33
std::expected< T, E > Result
Result alias.
Definition result.h:88
Define Result, Status, and error helpers.
Options for creating a DVWriter.
Definition dv_writer.h:52
File metadata for deletion vectors produced by DVWriter.
Definition dv_writer.h:42
std::vector< std::string > referenced_data_files
Data files referenced by the produced deletion vectors.
Definition dv_writer.h:46
std::vector< std::shared_ptr< DataFile > > rewritten_delete_files
Previously written file-scoped delete files merged into the new vectors.
Definition dv_writer.h:48
std::vector< std::shared_ptr< DataFile > > data_files
Deletion vector files produced by the writer.
Definition dv_writer.h:44