首页 > 数据库技术 > 详细

mysql udf args 的长度计算

时间:2020-05-26 16:44:54      阅读:51      评论:0      收藏:0      [点我收藏+]

1 首先援引一个问题

mysql udf中,入参的args->args在5.7版本以上中,内核alloc args之前会做一次bzero(memset),这样就解决了表中字段作为变量传参udf函数时,字符串长度不准确的问题;
在5.7版本以下的内核中,使用strlen或者sizeof计算出来的args字节数是错误的,问题就是alloc args之前未做bzero;

贴图可以看出来这个问题
技术分享图片

在实际中,p可以看,字段内容已经发生问题了
技术分享图片

2 如何解决(5.7以上内核版本不需要理会这个事,主要是5.7以下版本)

使用args->lengths[x]这个做统计就可以了,他是每次alloc的字节数最后一次更新,他是准确的
技术分享图片

mysql udf args 的长度计算

原文:https://www.cnblogs.com/liuzhuan23/p/12966371.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!