运行 SQL 来自 Go 的 Tarantool 中的查询是静默的(没有错误)

Running SQL queries in Tarantool from Go are silent (no errors)

我尝试使用官方 Tarantool 客户端从 Golang 应用程序 运行 SQL 查询。我知道如何做到这一点的唯一方法是使用 conn.Eval 如下所示。但我没有收到任何错误。我可以删除不存在的表,插入具有重复键的行。我永远不会发现哪里出了问题。

resp, err := conn.Eval("box.execute([[TRUNCATE TABLE not_exists;]])", []interface{}{})
// err is always nil
// resp.Error is always empty

您能否指出获取错误的方法或 运行 SQL 查询的正确方法。

感谢提问!

我已经和团队谈过,我们有两种选择供您选择。这是第一个:

  resp, err := conn.Eval("return box.execute([[TRUNCATE TABLE \"not_exists\";]])", []interface{}{})
      
  if len(resp.Tuples()) > 1 {
  fmt.Println("Error", resp.Tuples()[1])  
  }else{
  fmt.Println("Result", resp.Tuples()[0])  
  }

这是第二个:

 r, err := tnt.Eval("local data, err = box.execute(...) return data or box.error(err)", []interface{}{
  `TRUNCATE table "not_exists";`,
 })
 if err != nil {
  log.Fatalln(err)
 }

希望对您有所帮助!如果没有 - 请告诉我,我们会再调查一次。