nicholasren / open-replicator

Automatically exported from code.google.com/p/open-replicator
0 stars 0 forks source link

插入语句包括负数发生错误,如-1 #3

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
插入语句为insert into test8 values(1,1,1,1,1,1,-1,1,-1,'1','2011-11-11 
11:11:11','1',4,'a\t00','ni',0x79efaa,'1')     
时发生错误。

错误类型为IllegalArgumentException。信息为invalid value: 65535

位置在AbstractEventParser的129行:
case MySQLConstants.TYPE_SHORT: 
columns.add(ShortColumn.valueOf(is.readInt(2))); break;

这是java中的有符号数与mysql中的无符号之间的冲突,读取到��
�日志不能判断到底是有符号数还是无符号数。建议作者将返�
��值全部设置为byte数组,并且附带列的类型信息和表的名称��
�信息。这样就不会有符号数的烦恼了。并且在商业逻辑中可�
��根据数据库的元信息进行操作,这样更灵活不会出错。

Original issue reported on code.google.com by yaoxiang...@gmail.com on 21 May 2013 at 8:24

GoogleCodeExporter commented 9 years ago

Original comment by whitesoc...@gmail.com on 12 May 2014 at 11:27