你好OrientDB的追随者,2.1语法不适用于2.2。通过母类更新儿童记录
我有一个问题,已经占用了我的时间比我想花的更多。
在2.1,我通过父类的更新能够更新从单一的命令父记录和子记录或刚子记录。但是,在0122中的,它不起作用 ..我在这两种语言中都使用了相同的确切语法。
看看下面的样本数据集
create class Users
create property Users.username
create property Users.password
create class Devices
create property Devices.name
insert into Users (username, password) values('johndoe','randompassword')
update users add Devices = [{
"@type": "d",
"@class": "Devices",
"name": "Note 7"
}]
可以说,我们刚插入的设备类记录结束了一个摆脱了#13:0
在版本2.1,我能够执行下面的语法,以便更新父代和子代记录。 它完美的作品
update users set username = 'johndoethesenior', Devices = [{
"@type": "d",
"@rid": #14:0,
"@version":1,
"@class": "Devices",
"name": "Note 8"
}] where username = 'johndoe'
里面就我的问题。在2.1它完美的作品。然而,在2.2,即使我没有得到一个错误,它显示为更新的记录,在记录设备的名称不从注7改为注8
父记录的变化,从johndoe转到johndoethesenior。
我查看了2.1 - > 2.2的发行说明和更改,找不到任何对此的引用。
我发现了一个bug,还是我忽略了2.2版发布后东方架构中发生了变化的东西。
最后一点,我已经在2.2以上的不同服务器和部署上试过了这个版本。所有人都有相同的行为。
任何关于此事的指导都将得到真正的赞赏。
感谢,
我测试了两个受影响版本上的查询并重现了该问题,并将替代查询作为解决方法。 –
你可以为这个错误打开一个问题吗? –
是的。谢谢,如果你找到解决办法。请让我知道,会非常感激。今天将提交这个bug。 – OpsEngineer