Пример #1
0
        internal static void GetColumnTypeShape(ColumnType type,
                                                out Column.VectorKind vecKind,
                                                out ColumnType itemType,
                                                out bool isKey)
        {
            if (type is VectorType vectorType)
            {
                if (vectorType.IsKnownSize)
                {
                    vecKind = Column.VectorKind.Vector;
                }
                else
                {
                    vecKind = Column.VectorKind.VariableVector;
                }

                itemType = vectorType.ItemType;
            }
            else
            {
                vecKind  = Column.VectorKind.Scalar;
                itemType = type;
            }

            isKey = itemType is KeyType;
            if (isKey)
            {
                itemType = PrimitiveType.FromType(itemType.RawType);
            }
        }