iceberg-cpp
Loading...
Searching...
No Matches
type_fwd.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
26
27namespace iceberg {
28
35enum class TypeId {
36 kStruct,
37 kList,
38 kMap,
39 kBoolean,
40 kInt,
41 kLong,
42 kFloat,
43 kDouble,
44 kDecimal,
45 kDate,
46 kTime,
47 kTimestamp,
48 kTimestampTz,
49 kString,
50 kUuid,
51 kFixed,
52 kBinary,
53};
54
56enum class TimeUnit {
57 kMicrosecond,
58};
59
61class BinaryType;
62class BooleanType;
63class DateType;
64class DecimalType;
65class FixedType;
66class FloatType;
67class DoubleType;
68class IntType;
69class LongType;
70class ListType;
71class MapType;
72class NestedType;
73class PrimitiveType;
74class StringType;
75class StructType;
76class TimeType;
77class TimestampBase;
78class TimestampType;
79class TimestampTzType;
80class Type;
81class UuidType;
82
84class Decimal;
85class Uuid;
86
88class Schema;
89class SchemaField;
90
92class PartitionField;
93class PartitionSpec;
94class PartitionValues;
95
97class SortField;
98class SortOrder;
99
101struct MappedField;
102class MappedFields;
103class NameMapping;
104
106enum class TransformType;
107class Transform;
108class TransformFunction;
109
111struct Namespace;
112struct TableIdentifier;
113
115enum class SnapshotRefType;
116struct MetadataLogEntry;
117struct PartitionStatisticsFile;
118struct Snapshot;
119struct SnapshotLogEntry;
120struct SnapshotRef;
121struct StatisticsFile;
122struct TableMetadata;
123class InheritableMetadata;
124class SnapshotSummaryBuilder;
125
127class BoundPredicate;
128class BoundReference;
129class BoundTransform;
130class Expression;
131class Literal;
132class NamedReference;
133class Term;
134class Transform;
135class UnboundPredicate;
136class UnboundTransform;
137
139class Evaluator;
140class InclusiveMetricsEvaluator;
141class ManifestEvaluator;
142class ResidualEvaluator;
143class StrictMetricsEvaluator;
144
146class ChangelogScanTask;
147class FileScanTask;
148class ScanTask;
149
151class DataTableScan;
152template <typename ScanTaskType>
153class IncrementalScan;
154class IncrementalAppendScan;
155class IncrementalChangelogScan;
156class TableScan;
157
159template <typename ScanType>
160class TableScanBuilder;
161using DataTableScanBuilder = TableScanBuilder<DataTableScan>;
162using IncrementalAppendScanBuilder = TableScanBuilder<IncrementalAppendScan>;
163using IncrementalChangelogScanBuilder = TableScanBuilder<IncrementalChangelogScan>;
164
166enum class ManifestContent;
167struct DataFile;
168struct ManifestEntry;
169struct ManifestFile;
170struct ManifestList;
171struct PartitionFieldSummary;
172class ManifestGroup;
173class ManifestListReader;
174class ManifestListWriter;
175class ManifestReader;
176class ManifestWriter;
177class PartitionSummary;
178
180struct ReaderOptions;
181struct WriterOptions;
182class FileIO;
183class Reader;
184class Writer;
185
187class ArrayLike;
188class MapLike;
189class StructLike;
190class StructLikeAccessor;
191template <bool kValidate>
192class StructLikeSet;
193using UncheckedStructLikeSet = StructLikeSet<false>;
194
196class Catalog;
197class LocationProvider;
198
200class Table;
201class TableProperties;
202
204class TableMetadataBuilder;
205class TableUpdate;
206class TableRequirement;
207class TableUpdateContext;
208class Transaction;
209class TransactionContext;
210
212class ExpireSnapshots;
213class FastAppend;
214class PendingUpdate;
215class SetSnapshot;
216class SnapshotManager;
217class SnapshotUpdate;
218class UpdateLocation;
219class UpdatePartitionSpec;
220class UpdatePartitionStatistics;
221class UpdateProperties;
222class UpdateSchema;
223class UpdateSnapshotReference;
224class UpdateSortOrder;
225class UpdateStatistics;
226
228class DeleteLoader;
229class PositionDeleteIndex;
230
234
235class EncryptedKey;
236
237} // namespace iceberg
TimeUnit
The time unit. In Iceberg V3 nanoseconds are also supported.
Definition type_fwd.h:56
TypeId
A data type.
Definition type_fwd.h:35