S02026

错误代码

S02026

报错信息

Function [xxx] cannot be used with CONTEXT BY. RefId:S02026

错误原因

在 context by 查询中,select 子句不允许对列应用 toArray,distinct 等计算结果是向量的聚合函数。若使用了这些函数,会出现该报错,见下例:

def fun(a) {
    return array(INT[],0,2).append!([1 2])
}
re = fun([1,2,3])

arr = 1..10
id = take(1..5,10)
t = table(arr, id)

select toArray(fun(arr)) from t context by id; // throw exception
select distinct(arr) from t context by id; // throw exception

解决方案

检查 context by 查询的 select 子句中应用的函数是否为计算结果是向量的聚合函数。