@PublicEvolving public abstract class DataType extends Object implements AbstractDataType<DataType>, Serializable
The DataType class has two responsibilities: declaring a logical type and giving hints
about the physical representation of data to the planner. While the logical type is mandatory,
hints are optional but useful at the edges to other APIs.
The logical type is independent of any physical representation and is close to the "data type"
terminology of the SQL standard. See LogicalType and
its subclasses for more information about available logical types and their properties.
Physical hints are required at the edges of the table ecosystem. Hints indicate the data
format that an implementation expects. For example, a data source could express that it produces
values for logical timestamps using a Timestamp class instead of using LocalDateTime. With this information, the runtime is able to convert the produced
class into its internal data format. In return, a data sink can declare the data format it
consumes from the runtime.
| 限定符和类型 | 字段和说明 |
|---|---|
protected Class<?> |
conversionClass |
protected LogicalType |
logicalType |
| 限定符和类型 | 方法和说明 |
|---|---|
abstract <R> R |
accept(DataTypeVisitor<R> visitor) |
boolean |
equals(Object o) |
abstract List<DataType> |
getChildren() |
Class<?> |
getConversionClass()
Returns the corresponding conversion class for representing values.
|
LogicalType |
getLogicalType()
Returns the corresponding logical type.
|
int |
hashCode() |
String |
toString() |
bridgedTo, notNull, nullableprotected final LogicalType logicalType
protected final Class<?> conversionClass
public LogicalType getLogicalType()
LogicalTypepublic Class<?> getConversionClass()
LogicalType.getDefaultConversion()public abstract <R> R accept(DataTypeVisitor<R> visitor)
Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.