yield语句

版本: 2.6.2
为啥yield语句加一个 == 1的判断就会SIGSEGV,整个storage服务挂掉,日志没有打印错误。看文档opencyper和ngql中yield使用方法不一样,可以帮忙解答一下吗



把语句脱敏,纯文本复制过来下。以及,你进行了一个 string 类型的大小比较?(bookable <= ‘1’)

UPSERT VERTEX ON hotel “hotel_123456” SET hotel_id = “123456”,bookable = “1” WHEN bookable <= ‘1’ YIELD bookable == ‘1’

hotel tag schema:
CREATE TAG hotel ( hotel_id string NULL, bookable string NULL ) ttl_duration = 0, ttl_col = “”, comment = “酒店信息”

UPSERT VERTEX ON hotel “hotel_123456” SET hotel_id = “123456”,bookable == “1” WHEN bookable <= ‘1’ YIELD hotel_id as hotel_id

试试这个

这个试过了,也没问题。就是yield bookable == '1’会有问题

这个是表达式啊,应该是不支持的 @MuYi

3.5.0 版本执行是没问题的

1 个赞

看文档,2.6.2 也是支持表达式返回的

那就是 yield 不支持?:thinking: 你看的是 return 的文档。

yield bookable == '1’ as res 这样返回试试呢

还是不行呀 :sweat_smile: