|
iceberg-cpp
|
A field schema partner to carry projection information. More...
#include <schema_util.h>
Classes | |
| struct | ExtraAttributes |
| Format-specific attributes for the field. For example, for Parquet it might store column id and level info of the projected leaf field. More... | |
Public Types | |
| enum class | Kind { kProjected , kMetadata , kConstant , kDefault , kNull } |
| How the field is projected. More... | |
| using | From = std::variant< std::monostate, size_t, Literal > |
| A variant to indicate how to set the value of the field. | |
Public Attributes | |
| Kind | kind |
| The kind of projection of the field it partners with. | |
| From | from |
| The source to set the value of the field. | |
| std::vector< FieldProjection > | children |
| The children of the field if it is a nested field. | |
| std::shared_ptr< ExtraAttributes > | attributes |
| Format-specific attributes for the field. | |
A field schema partner to carry projection information.
| using iceberg::FieldProjection::From = std::variant<std::monostate, size_t, Literal> |
A variant to indicate how to set the value of the field.
std::monostate is used to indicate that the field is not projected. size_t is used to indicate the field index in the source schema on the same nesting level when kind is kProjected. Literal is used to indicate the value of the field when kind is kConstant or kDefault.
|
strong |
How the field is projected.