写点什么

【YashanDB 知识库】崖山 BIT 类型对 MYSQL 兼容问题

作者:YashanDB
  • 2025-01-10
    广东
  • 本文字数:775 字

    阅读完需:约 3 分钟

本文内容来自 YashanDB 官网,原文内容请见 https://www.yashandb.com/newsinfo/7901517.html?templateId=1718516


**【问题分类】**功能兼容


**【关键字】**YAS-07202、YAS_MY ERROR,bit


【问题描述】


本项目的架构是 hadoop+hive+yashandb


使用崖山数据库,将 mysql 相关的创建表语句进行初始化同步


使用崖山 23.3 版本兼容 mysql 数据库,新建表和查询表都出现问题


查询报错


mysql> SELECT DISTINCT 'org.apache.hadoop.hive.metastore.model.MTable' AS NUCLEUS_TYPE,A0.CREATE_TIME,A0.LAST_ACCESS_TIME,A0.OWNER,A0.OWNER_TYPE,A0.RETENTION,A0.IS_REWRITE_ENABLED,A0.TBL_NAME,A0.TBL_TYPE,A0.TBL_ID FROM TBLS A0 LEFT OUTER JOIN DBS B0 ON A0.DB_ID = B0.DB_ID ;


ERROR 7202 (HY000): YAS-07202 plugin execution error, YAS_MY error, unsupported datatypemysql> SELECT DISTINCT 'org.apache.hadoop.hive.metastore.model.MTable' AS NUCLEUS_TYPE,A0.CREATE_TIME,A0.LAST_ACCESS_TIME,A0.OWNER,A0.OWNER_TYPE,A0.RETENTION,A0.IS_REWRITE_ENABLED,A0.TBL_NAME,A0.TBL_TYPE,A0.TBL_ID FROM TBLS A0 LEFT OUTER JOIN DBS B0 ON A0.DB_ID = B0.DB_ID ;


ERROR 7202 (HY000): YAS-07202 plugin execution error, YAS_MY error, unsupported datatype



创建表报错



初步分析是 mysql 类型不兼容,出现相关报错


分别从 jdbc 层,表定义和字段类型等进行分析


【问题原因分析】


相关的查询表的结构如下



通过定位 mysql 创建语法,将可能出现字段类型兼容问题定位在 mediumtext -->clob 和 bit -- >bit


上面。通过修改对比和研发进行联合分析发现,崖山 bit 类型和 mysql bit 类型,看着是兼容的,实际上是不兼容的


定位到 bit 类型是不兼容之后,全部将 bit 类型替换成 boolean 之后,相关的查询和创建新表的问题都没有了




【解决/规避方法】


全部将 bit 类型替换成 boolean 之后,相关的查询和创建新表的问题都没有了

发布于: 刚刚阅读数: 6
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
【YashanDB知识库】崖山BIT类型对MYSQL兼容问题_数据库_YashanDB_InfoQ写作社区