driver-go
driver-go copied to clipboard
taos go driver
采用的官方示例 # 自编译: go build -o tdengine-sync main.go 报错 github.com/taosdata/driver-go/v2/wrapper ../../../../../go/pkg/mod/github.com/taosdata/driver-go/[email protected]/wrapper/stmt.go:46:58: could not determine kind of name for C.TAOS_BIND # 交叉编译: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o tdengine-sync main.go 报错...
macOS:14.4 Linux的C/C++交叉编译工具:FiloSottile/musl-cross/musl-cross taos-client:TDengine-client-3.2.1.0-macOS-x64 编译指令:CGO_ENABLED=1 CC="x86_64-linux-musl-gcc" CGO_CFLAGS=-I/usr/local/include GOOS=linux GOARCH=amd64 go build 结果报错: `/usr/local/go/pkg/tool/darwin_amd64/link: running x86_64-linux-musl-gcc failed: exit status 1 /usr/local/Cellar/musl-cross/0.9.9_2/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: cannot find -ltaos collect2: error: ld returned 1 exit status` 请问应该怎么操作才可以在macOS上交叉编译出linux的可执行文件
# github.com/taosdata/driver-go/v3/wrapper E:\1.work\pkg\mod\github.com\taosdata\driver-go\[email protected]\wrapper\block.go:48:13: could not determine kind of name for C.taos_write_raw_block_with_fields_with_reqid E:\1.work\pkg\mod\github.com\taosdata\driver-go\[email protected]\wrapper\block.go:41:13: could not determine kind of name for C.taos_write_raw_block_with_reqid
websocket: bad handshake 于是把源码里面的内容加了一个rest/ws就可以连上了,要怎么改才能连接上 
修改参数化查询的参数中,没有对[]byte和string类型的参数添加引号的问题,并对转义字符进行简易处理。
common.InterpolateParams函数没有对[]byte和string类型的arg参数添加引号和对转义字符处理,希望可以像myslq的驱动那样处理
root/go/pkg/mod/github.com/taosdata/driver-go/[email protected]/wrapper/asynccb.go:7:10: fatal error: taos.h: No such file or directory #include ^~~~~~~~ compilation terminated.
集群和客户端版本为 2.6.0.34. 在客户端节点进入集群,select报错:  在服务端进入集群,执行select正常:  客户端程序写入也是一样的报错.
数据量比较大时,查询数据时报错 `panic({0xe79ae0, 0x114af40}) /go/src/runtime/panic.go:844 +0x258 github.com/taosdata/driver-go/v3/common/parser.rawConvertBinary(0xe71560?, 0xc000422270?, 0x7fb3220c8130?) /go/pkg/mod/github.com/taosdata/driver-go/[email protected]/common/parser/block.go:200 +0x59 github.com/taosdata/driver-go/v3/common/parser.ReadRow({0xc0003e0140, 0x13, 0xc0003e0140?}, 0x7fb2f005f4d5, 0x64, 0x0, {0xc001888c78, 0x13, 0xe75820?}, 0x0) /go/pkg/mod/github.com/taosdata/driver-go/[email protected]/common/parser/block.go:291 +0x14b github.com/taosdata/driver-go/v3/taosSql.(*rows).Next(0xc001424ae0, {0xc0003e0140, 0x13, 0x13}) /go/pkg/mod/github.com/taosdata/driver-go/[email protected]/taosSql/rows.go:79 +0x165 `
集群情况: 版本为2.0.20.12, 3 dnode, 3 mnode 数据库副本数为2 集群配置: wallevel 2 fsync 0 测试方式: 使用taosc/restful的方式,每次创建超级表一张, 子表100张,不重复创建,每次测试写200W行数据. 测试结果: 1. 宕机master vnode节点时存在RPO不等于0的情况,查询到的实际写入的数据量都是大于应用侧统计的成功数的. 2. 宕机master vnode节点后数据库一直处于不可用状态. 问题点: 1. 为什么实际写入的数据量会比应用侧成功写入的数量多?(单线程一次写一条也测试过,一样的结果) 2. 是配置上的问题导致的这种现象吗?