xormplus / xorm

xorm是一个简单而强大的Go语言ORM库,通过它可以使数据库操作非常简便。本库是基于原版xorm的定制增强版本,为xorm提供类似ibatis的配置文件及动态SQL支持,支持AcitveRecord操作
BSD 3-Clause "New" or "Revised" License
1.55k stars 222 forks source link

链接kingshard代理查询时,有些数据表的select查询,无法正确返回。错误信息:busy buffer #37

Closed mjiulee closed 5 years ago

mjiulee commented 5 years ago

场景:

应用 - > 代理 --->目标数据库 webapp (xormplus) - > kingshard -- > targetMysql

大部分表正常,某几个表就是查不出来。 我这里列个不能查的表 type AppUserCouponCate struct { Id string xorm:"varchar(64) pk" // ID CateCode string xorm:"varchar(127) notnull unique" // 编号 CateTitle string xorm:"varchar(127) notnull" // 标题 CateBrief string xorm:"varchar(255) notnull" // 简介 CatePrice int xorm:"default 0" // 价值 StartAt JsonTime xorm:"notnull" // 开始日期 ExpireAt JsonTime xorm:"notnull" // 结束日期 CreateDate JsonTime xorm:"notnull created" // 创建时间 }

语句:engine.SQL(sql, params...).Query().List() 最终sql语句: SELECT t1.* FROM tb_app_user_coupon_cate as t1 ORDER BY t1.create_date asc LIMIT 0, 10

查询结果返回空,然后sql log爆了这个错误:

[mysql] 2019/06/08 21:05:48 packets.go:455: busy buffer [mysql] 2019/06/08 21:05:48 packets.go:455: busy buffer

xormplus commented 5 years ago

和xorm无关,这应该是数据库驱动以及你数据库链接大小设置之类的问题。 你参见一下这个issue https://github.com/go-sql-driver/mysql/issues/314

mjiulee commented 5 years ago

已经放弃kingshard了,挺多坑