Hello, Calcite community.

Recently, I have been improving the adaptation of Arrow in Calcite and have 
solved many problems.
But I am a little confused when adapting Arrow data types. For example, there 
are some very strange types in Arrow, which make me unclear how to convert them 
into the corresponding types in Calcite, such as LargeUtf8, LargeBinary, etc. I 
don’t know whether these types need to be adapted.

I tried to look at the code of datafusion over the weekend, but it is clear 
that datafusion’s adaptation of these special types is not necessarily suitable 
for Calcite, but some seem to comply with datafusion standards, such as 
timestamp and time types. I am trying to determine the standards with the 
datafusion community

Does Calcite have any suggestions for the adaptation of these special types? 
Should I adapt all Arrow data types later?

All arrow type:
{code:java}
public static enum ArrowTypeID {
    Null(Type.Null),
    Struct(Type.Struct_),
    List(Type.List),
    LargeList(Type.LargeList),
    FixedSizeList(Type.FixedSizeList),
    Union(Type.Union),
    Map(Type.Map),
    Int(Type.Int),
    FloatingPoint(Type.FloatingPoint),
    Utf8(Type.Utf8),
    LargeUtf8(Type.LargeUtf8),
    Binary(Type.Binary),
    LargeBinary(Type.LargeBinary),
    FixedSizeBinary(Type.FixedSizeBinary),
    Bool(Type.Bool),
    Decimal(Type.Decimal),
    Date(Type.Date),
    Time(Type.Time),
    Timestamp(Type.Timestamp),
    Interval(Type.Interval),
    Duration(Type.Duration),
    NONE(Type.NONE);
}
{code}


Best wishes, 
Cancai Cai

Reply via email to