让 MySQLCC 支持MySQL 5.0

公司上了MySQL 5.0, 随之而来的不是用的有多爽的问题, 而是一直用的很顺手的mysqlcc...不行了, 其表现形式为经常会在状态栏中提示 "[192.168.22.72] ERROR 1146: Table 'rimkpi.1' doesn't exist" 之类的。 选出数据来也不能在表格中直接修改了,到底mysqlcc出了啥问题呢?
 
经过观察,发现在MySQL 5.0上 EXPLAIN 语句的结果和4.1一下的版本不同了。4.1以前的返回的结果第一个字段是tablename, 而4.1以后和5.0的返回的是id号(一般情况下就是1了),第三个字段才是tablename。看来是这里出了问题,不过怎么会在4.1上可以,5.0反而不行了呢? 很不爽,于是去MySQL的官方网站把mysqlcc的source拖了一份下来,用Source-Navigator跟了一把,发现原来是在CQueryWindow.cpp的execQuery的方法(line 447)中的一段白痴代码:

default_table  =  explain_query -> row(mysql() -> mysql() -> version().major  >=   4   &&  
              mysql()
-> mysql() -> version().minor  >=   1   ?   2  :  0 );

 

如果版本号是5.0的话,这个判断的结果是0,如果是4.1或者5.1的话,就是1了。正确的代码至少也应该是

default_table  =  explain_query -> row(
    ( mysql()
-> mysql() -> version().major  ==   4   &&  mysql() -> mysql() -> version().minor  >=   1  )  ||  
    ( mysql()
-> mysql() -> version().major  >=   5  )  ?   2  :  0 );


 
真是...大概开源就这点好处了。 mysqlcc现在已经不再继续维护了,看来只能自己找到mysql的开发包重新编译个自用版本的mysqlcc了,哈哈

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值