ignite诡异的错误,谁知道怎么解决?

一张表,非常简单,cardid playerid cfgid 这三个字段,查询一个玩家的数据,调用

select * from playercardmailable where playerid=15800003305 limit 0, 10;

执行很正常。

加一个条件:

select * from playercardmailable where playerid=15800003305 and cfgid=52 limit 0, 10;

就报错:Invalid flag value: 82

select * from playercardmailable where playerid=15800003305 and cfgid=52 limit 10, 10 [90027-197] (state=42000,code=1001)
0: jdbc:ignite:thin://localhost:4000> select * from playercardmailable where playerid=15800003305 limit 0, 10;
'CARDID','PLAYERID','CFGID'
'183146648891903854','15800003305','54'
'183146653186871151','15800003305','2053'
'183146979604385695','15800003305','2042'
'183781054237215753','15800003305','49'
'183781509503749863','15800003305','57'
'183781522388651770','15800003305','58'
'183787135881526221','15800003305','58'
'183787144471460815','15800003305','58'
'183787157356362730','15800003305','2056'
'183787273320479905','15800003305','78'
10 rows selected (0.024 seconds)
0: jdbc:ignite:thin://localhost:4000> select * from playercardmailable where playerid=15800003305 and cfgid=52 limit 10, 10;
Error: Failed to parse query. Deserialization failed, cause: "class org.apache.ignite.IgniteCheckedException: Invalid flag value: 82"; SQL statement:
select * from playercardmailable where playerid=15800003305 and cfgid=52 limit 10, 10 [90027-197] (state=42000,code=1001)

这是什么鸟?标准的sql命令都不支持吗?

继续,再验证一下:

执行:select * from playercardmailable where cfgid=52 limit 10, 10;

还是报错!

0: jdbc:ignite:thin://localhost:4000> select * from playercardmailable where cfgid=52 limit 10, 10;
Error: Failed to parse query. Deserialization failed, cause: "class org.apache.ignite.IgniteCheckedException: Invalid flag value: 82"; SQL statement:
select * from playercardmailable where cfgid=52 limit 10, 10 [90027-197] (state=42000,code=1001)

这是什么情况?难道ignite和cfgid这个字段名字有仇?

 

 

=================================================================================================

后记:这个问题基本上无法解决,原因是cfgid这个字段内存储了非整形的数据!很奇怪的一个bug,不知道ignite是怎么做类型检验的,

这个非整形数据应该是通过程序用jdbc的接口写进去的,怎么写进去的暂时还不清楚。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值