iceberg-cpp
Loading...
Searching...
No Matches
iceberg
deletes
position_delete_index.h
Go to the documentation of this file.
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one
3
* or more contributor license agreements. See the NOTICE file
4
* distributed with this work for additional information
5
* regarding copyright ownership. The ASF licenses this file
6
* to you under the Apache License, Version 2.0 (the
7
* "License"); you may not use this file except in compliance
8
* with the License. You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing,
13
* software distributed under the License is distributed on an
14
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
* KIND, either express or implied. See the License for the
16
* specific language governing permissions and limitations
17
* under the License.
18
*/
19
20
#pragma once
21
24
25
#include <cstdint>
26
#include <memory>
27
28
#include "
iceberg/deletes/roaring_position_bitmap.h
"
29
#include "iceberg/iceberg_data_export.h"
30
31
namespace
iceberg {
32
38
class
ICEBERG_DATA_EXPORT
PositionDeleteIndex
{
39
public
:
40
PositionDeleteIndex
() =
default
;
41
~PositionDeleteIndex
() =
default
;
42
45
void
Delete(int64_t pos);
46
50
void
Delete(int64_t pos_start, int64_t pos_end);
51
55
bool
IsDeleted(int64_t pos)
const
;
56
58
bool
IsEmpty()
const
;
59
61
int64_t Cardinality()
const
;
62
65
void
Merge(
const
PositionDeleteIndex
& other);
66
67
private
:
68
RoaringPositionBitmap
bitmap_;
69
};
70
71
}
// namespace iceberg
iceberg::PositionDeleteIndex
Tracks deleted row positions using a bitmap.
Definition
position_delete_index.h:38
iceberg::RoaringPositionBitmap
A bitmap that supports positive 64-bit positions, optimized for cases where most positions fit in 32 ...
Definition
roaring_position_bitmap.h:48
roaring_position_bitmap.h
Generated by
1.9.8