支持用户自定义函数(UDF)

需求反馈

【需求涉及的问题场景】

  • 一些银行数据计算的场景需要一些 SQL 函数,标准的 MySQL 函数不支持,比如 Oracle 里面的 months_add,months_between,还有二分法迭代计算公式函数等,这些都需要 udf 来实现,之前在 Hive 和 Spark 上可以用 UDF 实现,这块业务想转到 TiDB,目前这个问题是比较大的障碍

【期望的需求行为】

  • 支持 UDF 后,可以方便地把 Hive 等应用迁移到TiDB

【需求可替代方案】

  • 写很多代码实现相关逻辑

【背景信息】

【需求涉及的问题场景】
1、转型用户
原有的数据库支持自定义函数,较多的业务场景使用自定义函数或者存储过程实现,目的是在保证标准的同时,便于各个客户能够个性化的进行改造使用,减少代码上的修改兼容等。
转型TiDB后,进行了一个漫长而痛苦的改造过程,原来常用的农历和公历转换、金额大小写转换、假期获取、字符串根据分隔字符转换为表等自定义函数,都一一放到了代码层去解决。
对于转型用户来说,体验不好,也大大降低了系统的灵活性。
2、原生用户
对于原生用户影响较小,主要是开发人员需要转变思维。

【期望的需求行为】
TiDB可以支持UDF,便于第三方应用数据库的成功转型。

【需求可替代方案】
目前采取的方式是将这部分操作转移到代码中,由程序处理。

【背景信息】
数据库开发人员可用的数据库资源减少,更多的依赖软件方或者程序开发。