lookup查询yield type属性的时候出现的问题;

查询语句:
LOOKUP ON phone WHERE phone.name== “*******” YIELD phone.name AS name, phone.type as type
type属性是在修改tag的时候新加进去的,int属性,未设置默认值;
该节点为修改tag之前添加的节点,在alter之后,fetch节点属性发现该type属性已经显示为0;
fetch 可以 yield 出 type属性,而在lookup查询中,yield phone.type 触发以上错误,导致graphd进程中断;
也许需要rebuild下index,似乎是个多版本的bug
1 个赞
流程是插数据, 加一个没有默认值的字段, rebuild index, look up?
索引是建立在了name上,如果查询是:
LOOKUP ON phone WHERE phone.name== “*******” YIELD phone.name AS name
这个是没有问题的。但是如果加上新家的属性type的话:
LOOKUP ON phone WHERE phone.name== “*******” YIELD phone.name AS name, phone.type as type
这个查询是会让graphd服务挂掉的。。
大概明白问题了, 你新加了type字段以后, LOOKUP ON phone WHERE phone.name== “*”这么用是没问题的, 但是这个index在lookup中不能加type字段, 一方面index只建在name上, 另一方面因为加字段本身不会去改storage的数据(通过fetch看到的0, 是固定的默认值, 并不是真的写入到storage中), 所以这个时候你想直接通过look up查type是会遇到问题. 当然, crash的问题之后会修复, 感谢反馈.
1 个赞