[enhancement](array-type) Split Array Offsets and String Offsets (#12341)

In old Doris version string offsets are 32bit, but it is not enough for Array type.
If we change string offsets from 32bit to 64bit, there will be problem if we upgrade BE one by one. Because at the same time 32bit Offsets and 64 bit Offsets String will exist at the same time.
As a result, we separate the Codes for Array Offsets.
Co-authored-by: cambyzju <zhuxiaoli01@baidu.com>
This commit is contained in:
camby
2022-09-06 11:18:27 +08:00
committed by GitHub
parent 53b79d5a8c
commit cf5d194fe1
20 changed files with 191 additions and 169 deletions

View File

@ -176,7 +176,7 @@ struct ArrayAggregateImpl {
template <typename Element>
static bool execute_type(ColumnPtr& res_ptr, const DataTypePtr& type, const IColumn* data,
const ColumnArray::Offsets& offsets) {
const ColumnArray::Offsets64& offsets) {
using ColVecType = ColumnVectorOrDecimal<Element>;
using ResultType = ArrayAggregateResult<Element, operation>;
using ColVecResultType = ColumnVectorOrDecimal<ResultType>;