2016-08-08 28 views
1

Was bedeuten die letzten zwei Bytes der Ausgabe (ein Teil des umgebrochenen Datensatzes, einer nicht) beim Erstellen einer Klasse?OrientDB Network Binary Protocol - Was wird beim Erstellen einer CLASS zurückgegeben?

Ich gab den Befehl "CREATE CLASS Foo EXTENDS V". Dies ist der Ausgang (kommentierte mit meinem Verständnis des Protokolls):

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? 

Der Datensatz selbst dekodiert auf ein Feld mit dem Namen „Ergebnis“. Der Wert von result ist eine Ganzzahl, codiert als eine Varint 84, die zu 42 decodiert. Dann gibt es ein nachkommendes Byte von 0.

Was bedeutet der Ergebniswert von 42? Was bedeutet die abschließende 0?

Bitte beachten Sie, dass ich auf der Protokollversion bin 36.

Dank!

Antwort

0

Die von CREATE CLASS zurückgegebene Zahl ist die Anzahl der Klassen in der Datenbank. Was die 0 am Ende angeht, habe ich keine Ahnung.

Scott