如何在UDX函数agg_concatenate中增加结果字符串的最大长度

时间:2019-04-04 16:45:20

标签: c++ aggregate-functions vertica

如何在Vertica中agg_concatenate用户定义的函数中增加结果字符串的最大长度?我有204行,其中一列的代码类似于“ ABCD”(每个代码为4个字符长),需要将其连接在一起。但是结果只有162。

我尝试修改Concatenate.cpp文件并乘以input_len * 1000 符合

intermediateTypeMetaData.addVarchar(input_len*1000);

然后,我编译了名为Concatenate_New.cpp的新文件。我遵循以下链接中给出的命令:

aggregate function to concatenate strings in Vertica

运行查询时,它会显示类似

的错误

[代码:5861,SQL状态:VP001] [Vertica] VJDBC错误:在[Concatenate_new.cpp:91]的用户功能agg_concatenate_new中调用终止()时出错,错误代码:0,消息:计算聚合输出时发生异常: [用户代码导致Vertica引发异常“试图将1019字节的字符串复制到810字节的VString对象; VString太小”]

那么,如何增加VString的大小?

0 个答案:

没有答案