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 kTimestampNs,
50 kTimestampTzNs,
51 kString,
52 kUuid,
53 kFixed,
54 kBinary,
56 kVariant,
57 kGeometry,
58 kGeography,
59};
60
62enum class TimeUnit {
63 kMicrosecond,
64 kNanosecond,
65};
66
68enum class EdgeAlgorithm {
69 kSpherical,
70 kVincenty,
71 kThomas,
72 kAndoyer,
73 kKarney,
74};
75
77class BinaryType;
78class BooleanType;
79class DateType;
80class DecimalType;
81class FixedType;
82class FloatType;
83class DoubleType;
84class IntType;
85class LongType;
86class ListType;
87class MapType;
88class NestedType;
89class PrimitiveType;
90class StringType;
91class StructType;
92class TimeType;
93class TimestampBase;
94class TimestampType;
95class TimestampTzType;
96class TimestampNsType;
97class TimestampTzNsType;
98class Type;
99class UnknownType;
100class UuidType;
101class VariantType;
102class GeographyType;
103class GeometryType;
104
106class Decimal;
107class Uuid;
108
110class Schema;
111class SchemaField;
112
114class PartitionField;
115class PartitionSpec;
116class PartitionValues;
117
119class SortField;
120class SortOrder;
121
123struct MappedField;
124class MappedFields;
125class NameMapping;
126
128enum class TransformType;
129class Transform;
130class TransformFunction;
131
133struct Namespace;
134struct TableIdentifier;
135
137enum class SnapshotRefType;
138struct MetadataLogEntry;
139struct PartitionStatisticsFile;
140struct Snapshot;
141struct SnapshotLogEntry;
142struct SnapshotRef;
143struct StatisticsFile;
144struct TableMetadata;
145class InheritableMetadata;
146class SnapshotSummaryBuilder;
147
149class BoundPredicate;
150class BoundReference;
151class BoundTransform;
152class Expression;
153class Literal;
154class NamedReference;
155class Term;
156class Transform;
157class UnboundPredicate;
158class UnboundTransform;
159
161class Evaluator;
162class InclusiveMetricsEvaluator;
163class ManifestEvaluator;
164class ResidualEvaluator;
165class StrictMetricsEvaluator;
166
168class ChangelogScanTask;
169class FileScanTask;
170class ScanTask;
171
173class DataTableScan;
174template <typename ScanTaskType>
175class IncrementalScan;
176class IncrementalAppendScan;
177class IncrementalChangelogScan;
178class TableScan;
179
181template <typename ScanType>
182class TableScanBuilder;
183using DataTableScanBuilder = TableScanBuilder<DataTableScan>;
184using IncrementalAppendScanBuilder = TableScanBuilder<IncrementalAppendScan>;
185using IncrementalChangelogScanBuilder = TableScanBuilder<IncrementalChangelogScan>;
186
188enum class ManifestContent;
189struct DataFile;
190struct ManifestEntry;
191struct ManifestFile;
192struct ManifestList;
193struct PartitionFieldSummary;
194class ManifestGroup;
195class ManifestListReader;
196class ManifestListWriter;
197class ManifestReader;
198class ManifestWriter;
199class PartitionSummary;
200
202struct ReaderOptions;
203struct WriterOptions;
204struct StorageCredential;
205class FileIO;
206class Reader;
207class Writer;
208
209class InputFile;
210class OutputFile;
211class PositionOutputStream;
212class SeekableInputStream;
213
215class ArrayLike;
216class MapLike;
217class StructLike;
218class StructLikeAccessor;
219template <bool kValidate>
220class StructLikeSet;
221using UncheckedStructLikeSet = StructLikeSet<false>;
222
224class Catalog;
225class LocationProvider;
226class SessionCatalog;
227struct SessionContext;
228
230class Table;
231class TableProperties;
232
234class TableMetadataBuilder;
235class TableUpdate;
236class TableRequirement;
237class TableUpdateContext;
238class Transaction;
239class TransactionContext;
240
242class DeleteFiles;
243class ExpireSnapshots;
244class FastAppend;
245class MergeAppend;
246class OverwriteFiles;
247class PendingUpdate;
248class RewriteFiles;
249class RowDelta;
250class SetSnapshot;
251class SnapshotManager;
252class SnapshotUpdate;
253class UpdateLocation;
254class UpdatePartitionSpec;
255class UpdatePartitionStatistics;
256class UpdateProperties;
257class UpdateSchema;
258class UpdateSnapshotReference;
259class UpdateSortOrder;
260class UpdateStatistics;
261
263class DeleteLoader;
264class PositionDeleteIndex;
265
267class HistoryTable;
268class MetadataTable;
269class SnapshotsTable;
270
272struct EncryptedKey;
273
274} // namespace iceberg
TimeUnit
The time unit. In Iceberg V3 nanoseconds are also supported.
Definition type_fwd.h:62
EdgeAlgorithm
The algorithm used to interpolate geography edges.
Definition type_fwd.h:68
TypeId
A data type.
Definition type_fwd.h:35