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
22#include <cstdint>
23
28
29namespace iceberg {
30
37enum class TypeId {
38 kStruct,
39 kList,
40 kMap,
41 kBoolean,
42 kInt,
43 kLong,
44 kFloat,
45 kDouble,
46 kDecimal,
47 kDate,
48 kTime,
49 kTimestamp,
50 kTimestampTz,
51 kTimestampNs,
52 kTimestampTzNs,
53 kString,
54 kUuid,
55 kFixed,
56 kBinary,
58 kVariant,
59 kGeometry,
60 kGeography,
61};
62
64enum class TimeUnit {
65 kMicrosecond,
66 kNanosecond,
67};
68
70enum class EdgeAlgorithm {
71 kSpherical,
72 kVincenty,
73 kThomas,
74 kAndoyer,
75 kKarney,
76};
77
79class BinaryType;
80class BooleanType;
81class DateType;
82class DecimalType;
83class FixedType;
84class FloatType;
85class DoubleType;
86class IntType;
87class LongType;
88class ListType;
89class MapType;
90class NestedType;
91class PrimitiveType;
92class StringType;
93class StructType;
94class TimeType;
95class TimestampBase;
96class TimestampType;
97class TimestampTzType;
98class TimestampNsType;
99class TimestampTzNsType;
100class Type;
101class UnknownType;
102class UuidType;
103class VariantType;
104class GeographyType;
105class GeometryType;
106
108class Decimal;
109class Literal;
110class Uuid;
111
113class Schema;
114class SchemaField;
115
117class PartitionField;
118class PartitionSpec;
119class PartitionValues;
120
122class SortField;
123class SortOrder;
124
126struct MappedField;
127class MappedFields;
128class NameMapping;
129
131enum class TransformType;
132class Transform;
133class TransformFunction;
134
136struct Namespace;
137struct TableIdentifier;
138
140enum class SnapshotRefType;
141struct MetadataLogEntry;
142struct PartitionStatisticsFile;
143struct Snapshot;
144struct SnapshotLogEntry;
145struct SnapshotRef;
146struct StatisticsFile;
147struct TableMetadata;
148class InheritableMetadata;
149class SnapshotSummaryBuilder;
150
152class BoundPredicate;
153class BoundReference;
154class BoundTransform;
155class Expression;
156class Literal;
157class NamedReference;
158class Term;
159class Transform;
160class UnboundPredicate;
161class UnboundTransform;
162
164class Evaluator;
165class InclusiveMetricsEvaluator;
166class ManifestEvaluator;
167class ResidualEvaluator;
168class StrictMetricsEvaluator;
169
171class ChangelogScanTask;
172class FileScanTask;
173class ScanTask;
174
176class DataTableScan;
177template <typename ScanTaskType>
178class IncrementalScan;
179class IncrementalAppendScan;
180class IncrementalChangelogScan;
181class TableScan;
182
184template <typename ScanType>
185class TableScanBuilder;
186using DataTableScanBuilder = TableScanBuilder<DataTableScan>;
187using IncrementalAppendScanBuilder = TableScanBuilder<IncrementalAppendScan>;
188using IncrementalChangelogScanBuilder = TableScanBuilder<IncrementalChangelogScan>;
189
191enum class ManifestContent;
192struct DataFile;
193struct ManifestEntry;
194struct ManifestFile;
195struct ManifestList;
196struct PartitionFieldSummary;
197class ManifestGroup;
198class ManifestListReader;
199class ManifestListWriter;
200class ManifestReader;
201class ManifestWriter;
202class PartitionSummary;
203
205struct ReaderOptions;
206struct WriterOptions;
207struct StorageCredential;
208class FileIO;
209class StorageCredentialProvider;
210class Reader;
211class Writer;
212
213class InputFile;
214class OutputFile;
215class PositionOutputStream;
216class SeekableInputStream;
217
219class ArrayLike;
220class MapLike;
221class StructLike;
222class StructLikeAccessor;
223template <bool kValidate>
224class StructLikeSet;
225using UncheckedStructLikeSet = StructLikeSet<false>;
226
228class Catalog;
229class LocationProvider;
230class SessionCatalog;
231struct SessionContext;
232
234class Executor;
235template <typename T>
236class Stream;
237
239class MetricsReporter;
240class ScanMetrics;
241class CommitMetrics;
242
244class Table;
245class TableProperties;
246struct FieldLabel;
247struct Labels;
248
250class TableMetadataBuilder;
251class TableUpdate;
252class TableRequirement;
253class TableUpdateContext;
254class Transaction;
255class TransactionContext;
256
258class CherryPickOperation;
259class DeleteFiles;
260class ExpireSnapshots;
261class FastAppend;
262class MergeAppend;
263class OverwriteFiles;
264class PendingUpdate;
265class ReplacePartitions;
266class RewriteFiles;
267class RewriteManifests;
268class RowDelta;
269class SetSnapshot;
270class SnapshotManager;
271class SnapshotUpdate;
272class UpdateLocation;
273class UpdatePartitionSpec;
274class UpdatePartitionStatistics;
275class UpdateProperties;
276class UpdateSchema;
277class UpdateSnapshotReference;
278class UpdateSortOrder;
279class UpdateStatistics;
280
282class DeleteLoader;
283class PositionDeleteIndex;
284
286enum class MetadataTableKind : uint8_t;
287
288class HistoryTable;
289class MetadataScanBuilder;
290class MetadataTable;
291class MetadataScan;
292class MetadataScanTask;
293class MetadataScanTaskReader;
294class RefsTable;
295class SnapshotsTable;
296
298struct EncryptedKey;
299
300} // namespace iceberg
Core Apache Iceberg C++ APIs.
Definition arrow_io_util.h:34
ManifestContent
The type of files tracked by the manifest, either data or delete files; 0 for all v1 manifests.
Definition manifest_list.h:78
TimeUnit
The time unit. In Iceberg V3 nanoseconds are also supported.
Definition type_fwd.h:64
EdgeAlgorithm
The algorithm used to interpolate geography edges.
Definition type_fwd.h:70
TransformType
Transform types used for partitioning.
Definition transform.h:40
SnapshotRefType
The type of snapshot reference.
Definition snapshot.h:44
TypeId
A data type.
Definition type_fwd.h:37
MetadataTableKind
Iceberg metadata tables exposed by Table::Inspect().
Definition metadata_table.h:40