Class MetadataUtils
java.lang.Object
org.apache.drill.exec.record.metadata.MetadataUtils
A collection of utility methods for working with column and tuple metadata.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ColumnMetadatacloneMapWithSchema(ColumnMetadata source, TupleMetadata members) static ColumnMetadatadiffMap(ColumnMetadata map, ColumnMetadata other) static TupleMetadatadiffTuple(TupleMetadata base, TupleMetadata subtend) static TupleSchemafromColumns(List<ColumnMetadata> columns) Create a tuple given the list of columns that make up the tuple.static ColumnMetadatafromField(MaterializedField field) Create a column metadata object that holds the givenMaterializedField.static TupleSchemafromFields(Iterable<MaterializedField> fields) static ColumnMetadatafromView(MaterializedField field) static booleanhasDynamicColumns(TupleMetadata schema) static booleanstatic booleanstatic booleanisScalar(TypeProtos.MinorType type) static booleanisScalar(ColumnMetadata col) static booleanisWildcard(ColumnMetadata col) static ColumnMetadatanewDecimal(String name, TypeProtos.DataMode mode, int precision, int scale) static ColumnMetadatanewDecimal(String name, TypeProtos.MinorType type, TypeProtos.DataMode mode, int precision, int scale) static DictColumnMetadatastatic DictColumnMetadatanewDict(MaterializedField field) static DictColumnMetadatanewDict(MaterializedField field, TupleSchema schema) static DictColumnMetadatanewDictArray(String name) static ColumnMetadatanewDynamic(String name) static MapColumnMetadatastatic MapColumnMetadatanewMap(String name, TypeProtos.DataMode dataMode, TupleMetadata schema) static MapColumnMetadatanewMap(String name, TupleMetadata schema) static MapColumnMetadatanewMap(MaterializedField field) static MapColumnMetadatanewMap(MaterializedField field, TupleSchema schema) Create a column metadata object for a map column, given theMaterializedFieldthat describes the column, and a list of column metadata objects that describe the columns in the map.static ColumnMetadatanewMapArray(String name) static ColumnMetadatanewMapArray(String name, TupleMetadata schema) static RepeatedListColumnMetadatanewRepeatedList(String name, ColumnMetadata child) static PrimitiveColumnMetadatanewScalar(String name, TypeProtos.MajorType type) static PrimitiveColumnMetadatanewScalar(String name, TypeProtos.MinorType type, TypeProtos.DataMode mode) static PrimitiveColumnMetadatanewScalar(String name, TypeProtos.MinorType type, TypeProtos.DataMode mode, boolean schemaForUnknown) static VariantColumnMetadatanewVariant(String name, TypeProtos.DataMode cardinality) static VariantColumnMetadatanewVariant(MaterializedField field, VariantSchema schema) static ColumnMetadatawildcard()
-
Constructor Details
-
MetadataUtils
public MetadataUtils()
-
-
Method Details
-
fromFields
-
fromField
Create a column metadata object that holds the givenMaterializedField. The type of the object will be either a primitive, map or dict column, depending on the field's type. The logic here mimics the code as written, which is very messy in some places.- Parameters:
field- the materialized field to wrap- Returns:
- the column metadata that wraps the field
-
fromView
-
fromColumns
Create a tuple given the list of columns that make up the tuple. Creates nested maps as needed.- Parameters:
columns- list of columns that make up the tuple- Returns:
- a tuple metadata object that contains the columns
-
newMap
Create a column metadata object for a map column, given theMaterializedFieldthat describes the column, and a list of column metadata objects that describe the columns in the map.- Parameters:
field- the materialized field that describes the map columnschema- metadata that describes the tuple of columns in the map- Returns:
- a map column metadata for the map
-
newMap
-
newMap
-
newMap
-
newDict
-
newDict
-
newDict
-
newVariant
-
newVariant
-
newRepeatedList
-
newMapArray
-
newMap
public static MapColumnMetadata newMap(String name, TypeProtos.DataMode dataMode, TupleMetadata schema) -
newMapArray
-
newDictArray
-
newScalar
public static PrimitiveColumnMetadata newScalar(String name, TypeProtos.MinorType type, TypeProtos.DataMode mode) -
newScalar
public static PrimitiveColumnMetadata newScalar(String name, TypeProtos.MinorType type, TypeProtos.DataMode mode, boolean schemaForUnknown) -
newScalar
-
newDecimal
public static ColumnMetadata newDecimal(String name, TypeProtos.DataMode mode, int precision, int scale) -
newDecimal
public static ColumnMetadata newDecimal(String name, TypeProtos.MinorType type, TypeProtos.DataMode mode, int precision, int scale) -
isScalar
-
isScalar
-
isComplex
-
newDynamic
-
wildcard
-
isWildcard
-
cloneMapWithSchema
-
diffMap
-
diffTuple
-
hasDynamicColumns
-
isRepeatedList
-