56 void Delete(int64_t pos_start, int64_t pos_end);
78 const std::vector<std::shared_ptr<DataFile>>&
delete_files()
const {
95 std::shared_ptr<DataFile> delete_file);
103 void BulkAddForKey(int32_t key, std::span<const uint32_t> positions);
107 std::vector<uint32_t>& scratch);
110 std::vector<std::shared_ptr<DataFile>> delete_files_;
Tracks deleted row positions using a bitmap.
Definition position_delete_index.h:42
friend void ICEBERG_EXPORT ForEachPositionDelete(std::span< const int64_t > positions, PositionDeleteIndex &target, std::vector< uint32_t > &scratch)
Apply positions to target as deletes; semantically equivalent to calling target.Delete(pos) for each ...
void Delete(int64_t pos)
Mark a position as deleted.
void Merge(const PositionDeleteIndex &other)
Merge another index into this one.
void Delete(int64_t pos_start, int64_t pos_end)
Mark a range of positions as deleted [pos_start, pos_end).
bool IsDeleted(int64_t pos) const
Check if a position is deleted.
bool IsEmpty() const
Check if the index is empty (no positions deleted).
static Result< PositionDeleteIndex > Deserialize(std::span< const uint8_t > blob, std::shared_ptr< DataFile > delete_file)
Deserialize a deletion-vector-v1 blob into an index.
int64_t Cardinality() const
Get the number of deleted positions.
Result< std::vector< uint8_t > > Serialize()
Serialize the index into a deletion-vector-v1 blob.
const std::vector< std::shared_ptr< DataFile > > & delete_files() const
The delete files whose positions were merged into this index.
Definition position_delete_index.h:78
A bitmap that supports positive 64-bit positions, optimized for cases where most positions fit in 32 ...
Definition roaring_position_bitmap.h:52
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.