最近sourceforge页面调整,导致有些下载链接无法显示
amoeba for mysql 1.0.0-beta版本下载地址 : http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/1.0.0-BETA/amoeba-mysql-1.0.0-BETA.zip/download
amoeba for aladdin 0.7.0-beata 版本下载地址:http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20Aladdin/0.7.0-BETA/amoeba-aladdin-0.7.0-BETA.zip/download
<p>下载最新的amoeba-mysql-1.0.0-BETA试用发现select version();不支持了,amoeba-mysql-0.32都正常。<br />
错误日志:<br />
2009-07-27 15:32:35,823 ERROR handler.MySqlCommandDispatcher - messageDispate error<br />
java.lang.RuntimeException: error,unknown statement:[select version()]<br />
at com.meidusa.amoeba.route.AbstractQueryRouter.selectPool(AbstractQueryRouter.java:461)<br />
at com.meidusa.amoeba.mysql.parser.MysqlQueryRouter.selectPool(MysqlQueryRouter.java:54)<br />
at com.meidusa.amoeba.route.AbstractQueryRouter.doRoute(AbstractQueryRouter.java:258)<br />
at com.meidusa.amoeba.mysql.handler.MySqlCommandDispatcher.handleMessage(MySqlCommandDispatcher.java:70)<br />
at com.meidusa.amoeba.mysql.net.MysqlClientConnection$2$1.run(MysqlClientConnection.java:162)<br />
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)<br />
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)<br />
at java.lang.Thread.run(Thread.java:619)</p>
--------------以下是回复内容-------------------
如果发现未知函数,可采用在 function.xml中增加如下内容,比如VERSION 函数,采用UnknowableFunction 类替代,即可避免解析错误问题
<function name=”VERSION” class=”com.meidusa.amoeba.parser.function.UnknowableFunction”/>
hi,我在用amoeba时,这个sql “select * from (member)” 就出错,改成 “select * from member” 就没问题了,请问这个问题有计划fix吗
———————以下是回复内容—————————
这种sql建议还是 去掉括号吧~~
ERROR 1044 (42000): error,unknown statement:[select count(*) from user_profile up where exists(select * from user_login_log where user_id=up.user_id)]
含EXISTS解析错误!! 急救!!!
—————————————–以下是回复内容————————————————————–
这次咋都出现 unknown statement 了….估计跟javaCC插件升级有关系,这个bug将在下月初修复发布,先谢啦
经过博主的指导成功解决select version();的问题。
但在使用amoeba-mysql-1.0.0-BETA过程还发现以前版本能够正常执行的SQL语句在这个版本中会返回“error,unknown statement:”这样的错误。
比如执行一些语句和discuz里用到的一些语句:
1:SELECT groupid, type, grouptitle FROM cdb_usergroups ORDER BY (creditshigher’0′ || creditslower’0′), creditslower;
2:SELECT uid, COUNT(*) AS count FROM cdb_sessions GROUP BY uid=’0′;
3:INSERT INTO cdb_threadsmod (tid, uid, username, dateline, action, expiration, status) VALUES (’1679374′, ‘193262′, ‘椋炶垷’, ‘1248835442′, ‘MOV’, ‘0′, ‘1′), (’1679382′, ‘193262′, ‘椋炶垷’, ‘1248835442′, ‘MOV’, ‘0′, ‘1′); 这条是多组VALUES 有问题,如果只有一组正常
——————————-以下是回复内容———————————-
现在有点郁闷了…..order by 与group by 使用上了条件..难度增加了不少
关于多values的insert 建议别使用,未来数据切分就麻烦了, 下个版本将修复这个内容
多谢 RZhome提供了那么好的sql bug样例