标签:tab cli operator 介绍 auto field array 使用 模板
ClickHouse 架构概述之Field介绍
盛年不重来,一日难再晨,及时当勉励,岁月不待人
尽管如此,有时候也可能需要处理单个值。表示单个值,可以使用 Field。Field 是 UInt64、Int64、Float64、String 和 Array 组成的联合。IColumn 拥有 operator[] 方法来获取第 n 个值成为一个 Field,同时也拥有 insert 方法将一个 Field 追加到一个列的末尾。这些方法并不高效,因为它们需要处理表示单一值的临时 Field 对象,但是有更高效的方法比如 insertFrom 和 insertRangeFrom 等。
Field 中并没有足够的关于一个表(table)的特定数据类型的信息。比如,UInt8、UInt16、UInt32 和 UInt64 在 Field 中均表示为 UInt64。
Field对应的代码目录位置在dbms\src\Core下的Field.cpp和Field.h
Field的作用在于可以将Null、UInt64、Int64、Float64、UInt128、Int128、String、Array、Tuple、Decimal32、Decimal64、Decimal128和AggregateFunctionState这些类型都用Field模板类来表示,达到更通用和高效的目的。
支持等于、小于、大于、小于等于、大于等于、==和不等于等算法,对应的类如下图所示:

标签:tab cli operator 介绍 auto field array 使用 模板
原文地址:https://www.cnblogs.com/snake-fly/p/12541912.html