【已解决】koca的异构数据库兼容是否支持mariadb

KOCA版本 :3.6.0
KOCA模块 :异构数据库兼容
模块版本 :3.6.0
场景 :项目中,把mysql依赖替换为mariadb依赖
问题 :项目中使用了异构数据库兼容功能,例如DB_NUM_TO_CHAR(num),原先使用mysql的依赖时,可以正常转化成CONVERT(num,char),当我使用mariadb时,却转化成了cast(num as varchar),如何解决?
报错细节 :


2

尝试解决方案:

koca异构数据库函数兼容 3.6.0,未支持mariadb,默认使用其它数据库类型的函数装换,导致以上结果。
如需支持,因为mariadb语法与mysql基本一致,框架需要额外注册mariadb 对应mysql函数转换实现。
现在正在处理

  • 如果使用的数据库是MariaDB时

1、把 koca-hdb-function 的版本换成 3.6.4-SNAPSHOT

<dependency>
	<groupId>com.szkingdom.koca.base</groupId>
	<artifactId>koca-hdb-function</artifactId>
	<version>3.6.4-SNAPSHOT</version>
</dependency>

2、然后在配置文件中加上如下,开启 mariadb 转 mysql 的函数设置:

koca:
  jdbc:
    sql-function:
      replace:
        db-type-convert:
          mariadb: mysql