driver-go icon indicating copy to clipboard operation
driver-go copied to clipboard

发现这里应该是有问题的,这里判断sql语句有?就标识为参数,但是有一种情况,假如插入的值本身就有?的情况下,就会出现问题

Open wenj91 opened this issue 3 years ago • 8 comments

https://github.com/taosdata/driver-go/blob/41787fd5b8baacabb95e16ecda2b45283dfe85d2/taosSql/connection.go#L42

例如: create table if not exists MD5_fa0f7ac06608830346a51c03de15eaf2 using http_client_requests_seconds_sum tags("339ac2bfa5fd9d673a96f112ea0e738d","false","xxx","xx.com","xxxx","dev","127.0.0.1","xx-service","GET","APP","xxx","200","xxx","xxx","/uu/get?corpid={1}&corpsecret={2}")

这种情况是不是就会出现问题了

wenj91 avatar Dec 01 '21 02:12 wenj91

通用问题还是直接提到 TDengine 仓库可以比较快的有人响应

sangshuduo avatar Dec 01 '21 02:12 sangshuduo

通用问题还是直接提到 TDengine 仓库可以比较快的有人响应

这个并不是通用问题,这个是驱动问题

wenj91 avatar Dec 01 '21 04:12 wenj91

@wenj91 参照 mysql 实现 https://github.com/go-sql-driver/mysql/blob/6cf3092b0e12f6e197de3ed6aa2acfeac322a9bb/connection.go#L198-L295

huskar-t avatar Dec 02 '21 09:12 huskar-t

@wenj91 参照 mysql 实现 https://github.com/go-sql-driver/mysql/blob/6cf3092b0e12f6e197de3ed6aa2acfeac322a9bb/connection.go#L198-L295

不,这只是其中一部分实现,它后续还有处理的,不单单是用strings.Count(query, "?")来简单判断参数个数的,这样必然会出现bug

wenj91 avatar Dec 02 '21 13:12 wenj91

@wenj91 欢迎提交pr

huskar-t avatar Dec 02 '21 13:12 huskar-t

@wenj91 欢迎提交pr

https://github.com/wenj91/taos-driver/blob/320f402a7c3e3bf52028c88ba0d0274d3f3d4cdd/util_sql.go#L123-L235 这是我实现部分,不过还经过大量测试,等我测试完全再提一个pr吧

wenj91 avatar Dec 04 '21 06:12 wenj91

@wenj91 欢迎提交pr

https://github.com/wenj91/taos-driver/blob/320f402a7c3e3bf52028c88ba0d0274d3f3d4cdd/util_sql.go#L123-L235 这是我实现部分,不过还经过大量测试,等我测试完全再提一个pr吧

我看着这部分实现,情况考虑的还是不够,我觉得这个应该由C接口来负责语法解析并返回参数数量 @sangshuduo @hjxilinx @dapan1121

huskar-t avatar Dec 05 '21 14:12 huskar-t

@wenj91 欢迎提交pr

https://github.com/wenj91/taos-driver/blob/320f402a7c3e3bf52028c88ba0d0274d3f3d4cdd/util_sql.go#L123-L235 这是我实现部分,不过还经过大量测试,等我测试完全再提一个pr吧

我看着这部分实现,情况考虑的还是不够,我觉得这个应该由C接口来负责语法解析并返回参数数量 @sangshuduo @hjxilinx @dapan1121

如果能由C接口返回更好,因为MySQL就这么做的

wenj91 avatar Dec 06 '21 00:12 wenj91