public interface TupleMetadata extends Propertied, Iterable<ColumnMetadata>
Models the physical schema of a row set showing the logical hierarchy of fields with map fields as first-class fields. Map members appear as children under the map, much as they appear in the physical value-vector implementation.
In the future, this structure will also gather metadata useful for vector processing such as expected widths and so on.
Modifier and Type | Field and Description |
---|---|
static String |
IS_STRICT_SCHEMA_PROP |
static com.fasterxml.jackson.databind.ObjectReader |
READER |
static com.fasterxml.jackson.databind.ObjectWriter |
WRITER |
DRILL_PROP_PREFIX
Modifier and Type | Method and Description |
---|---|
ColumnMetadata |
add(MaterializedField field)
Add a new column to the schema.
|
int |
addColumn(ColumnMetadata column) |
MaterializedField |
column(int index) |
MaterializedField |
column(String name) |
TupleMetadata |
copy() |
String |
fullName(ColumnMetadata column)
Full name of the column.
|
String |
fullName(int index) |
int |
index(String name) |
boolean |
isEmpty() |
boolean |
isEquivalent(TupleMetadata other) |
default String |
jsonString()
Converts current
TupleMetadata implementation into JSON string representation. |
ColumnMetadata |
metadata(int index) |
ColumnMetadata |
metadata(String name) |
static TupleMetadata |
of(String jsonString)
Converts given JSON string into
TupleMetadata instance. |
ColumnMetadata |
parent() |
void |
replace(ColumnMetadata replaceWith) |
int |
size() |
List<MaterializedField> |
toFieldList()
Return the schema as a list of MaterializedField objects
which can be used to create other schemas.
|
List<ColumnMetadata> |
toMetadataList()
Returns schema as list of ColumnMetadata objects
which can be used to create JSON schema object.
|
booleanProperty, booleanProperty, hasProperties, intProperty, intProperty, pluginPrefix, properties, property, property, removeProperty, setBooleanProperty, setIntProperty, setProperties, setProperty
forEach, iterator, spliterator
static final com.fasterxml.jackson.databind.ObjectWriter WRITER
static final com.fasterxml.jackson.databind.ObjectReader READER
static final String IS_STRICT_SCHEMA_PROP
ColumnMetadata add(MaterializedField field)
field
- materialized fieldint addColumn(ColumnMetadata column)
int size()
boolean isEmpty()
int index(String name)
ColumnMetadata metadata(int index)
ColumnMetadata metadata(String name)
MaterializedField column(int index)
MaterializedField column(String name)
boolean isEquivalent(TupleMetadata other)
ColumnMetadata parent()
List<MaterializedField> toFieldList()
List<ColumnMetadata> toMetadataList()
String fullName(ColumnMetadata column)
String fullName(int index)
TupleMetadata copy()
void replace(ColumnMetadata replaceWith)
default String jsonString()
TupleMetadata
implementation into JSON string representation.IllegalStateException
- if unable to convert current instance into JSON stringstatic TupleMetadata of(String jsonString)
TupleMetadata
instance.
TupleMetadata
implementation is determined by present type property. For example: "type":"tuple_schema".
If given JSON string is untyped, used default implementation: TupleSchema
.jsonString
- tuple metadata in JSON string representationTupleMetadata
instance, null if given JSON string is null or emptyIllegalArgumentException
- if unable to deserialize given JSON stringCopyright © 1970 The Apache Software Foundation. All rights reserved.