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 Literal;
108class Uuid;
109
111class Schema;
112class SchemaField;
113
115class PartitionField;
116class PartitionSpec;
117class PartitionValues;
118
120class SortField;
121class SortOrder;
122
124struct MappedField;
125class MappedFields;
126class NameMapping;
127
129enum class TransformType;
130class Transform;
131class TransformFunction;
132
134struct Namespace;
135struct TableIdentifier;
136
138enum class SnapshotRefType;
139struct MetadataLogEntry;
140struct PartitionStatisticsFile;
141struct Snapshot;
142struct SnapshotLogEntry;
143struct SnapshotRef;
144struct StatisticsFile;
145struct TableMetadata;
146class InheritableMetadata;
147class SnapshotSummaryBuilder;
148
150class BoundPredicate;
151class BoundReference;
152class BoundTransform;
153class Expression;
154class Literal;
155class NamedReference;
156class Term;
157class Transform;
158class UnboundPredicate;
159class UnboundTransform;
160
162class Evaluator;
163class InclusiveMetricsEvaluator;
164class ManifestEvaluator;
165class ResidualEvaluator;
166class StrictMetricsEvaluator;
167
169class ChangelogScanTask;
170class FileScanTask;
171class ScanTask;
172
174class DataTableScan;
175template <typename ScanTaskType>
176class IncrementalScan;
177class IncrementalAppendScan;
178class IncrementalChangelogScan;
179class TableScan;
180
182template <typename ScanType>
183class TableScanBuilder;
184using DataTableScanBuilder = TableScanBuilder<DataTableScan>;
185using IncrementalAppendScanBuilder = TableScanBuilder<IncrementalAppendScan>;
186using IncrementalChangelogScanBuilder = TableScanBuilder<IncrementalChangelogScan>;
187
189enum class ManifestContent;
190struct DataFile;
191struct ManifestEntry;
192struct ManifestFile;
193struct ManifestList;
194struct PartitionFieldSummary;
195class ManifestGroup;
196class ManifestListReader;
197class ManifestListWriter;
198class ManifestReader;
199class ManifestWriter;
200class PartitionSummary;
201
203struct ReaderOptions;
204struct WriterOptions;
205struct StorageCredential;
206class FileIO;
207class Reader;
208class Writer;
209
210class InputFile;
211class OutputFile;
212class PositionOutputStream;
213class SeekableInputStream;
214
216class ArrayLike;
217class MapLike;
218class StructLike;
219class StructLikeAccessor;
220template <bool kValidate>
221class StructLikeSet;
222using UncheckedStructLikeSet = StructLikeSet<false>;
223
225class Catalog;
226class LocationProvider;
227class SessionCatalog;
228struct SessionContext;
229
231class Executor;
232
234class MetricsReporter;
235class ScanMetrics;
236class CommitMetrics;
237
239class Table;
240class TableProperties;
241
243class TableMetadataBuilder;
244class TableUpdate;
245class TableRequirement;
246class TableUpdateContext;
247class Transaction;
248class TransactionContext;
249
251class DeleteFiles;
252class ExpireSnapshots;
253class FastAppend;
254class MergeAppend;
255class OverwriteFiles;
256class PendingUpdate;
257class ReplacePartitions;
258class RewriteFiles;
259class RowDelta;
260class SetSnapshot;
261class SnapshotManager;
262class SnapshotUpdate;
263class UpdateLocation;
264class UpdatePartitionSpec;
265class UpdatePartitionStatistics;
266class UpdateProperties;
267class UpdateSchema;
268class UpdateSnapshotReference;
269class UpdateSortOrder;
270class UpdateStatistics;
271
273class DeleteLoader;
274class PositionDeleteIndex;
275
277class HistoryTable;
278class MetadataTable;
279class SnapshotsTable;
280
282struct EncryptedKey;
283
284} // namespace iceberg
Core Apache Iceberg C++ APIs.
Definition arrow_io_util.h:33
ManifestContent
The type of files tracked by the manifest, either data or delete files; 0 for all v1 manifests.
Definition manifest_list.h:77
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
TransformType
Transform types used for partitioning.
Definition transform.h:39
SnapshotRefType
The type of snapshot reference.
Definition snapshot.h:43
TypeId
A data type.
Definition type_fwd.h:35