OrientDB网络二进制协议 - 创建CLASS时返回什么?

时间:2016-08-08 13:34:46

标签: orientdb orientdb2.2

创建类时输出的最后两个字节(包装记录的一部分,一部分不是)的含义是什么?

我发出命令“CREATE CLASS Foo EXTENDS V”。这是输出(注释我对协议的理解):

Writing byte (1 byte): 0 [OChannelBinaryServer] # success
Writing int (4 bytes): 43 [OChannelBinaryServer] # session id 43
Writing byte (1 byte): 119 [OChannelBinaryServer] # w - this is a wrapped record
Writing short (2 bytes): 0 [OChannelBinaryServer] # this is a full record
Writing byte (1 byte): 100 [OChannelBinaryServer] # d - record is a document
Writing short (2 bytes): -1 [OChannelBinaryServer] # cluster id null
Writing long (8 bytes): -1 [OChannelBinaryServer] # cluster position null
Writing int (4 bytes): 0 [OChannelBinaryServer] # version 0
Writing bytes (4+16=20 bytes): [0, 0, 12, 114, 101, 115, 117, 108, 116, 0, 0, 0,
  15, 1, 0, 84] [OChannelBinaryServer] # the record, what is 84?
Writing byte (1 byte): 0 [OChannelBinaryServer] # what is this?

记录本身解码为名为“result”的字段。 result的值是一个整数,编码为varint 84,解码为42.然后有一个0的尾随字节。

42的结果值是什么意思? 尾随0是什么意思?

请注意我使用的是协议版本36。

谢谢!

1 个答案:

答案 0 :(得分:0)

CREATE CLASS返回的数字是数据库中的类数。至于最后的0,我不知道。

斯科特