Я пытаюсь понять, как CouchDB вычисляет идентификатор ревизии для документа. Из источника я замечаю, что он рассчитывается по этому коду:
couch_util:md5(term_to_binary([Deleted, OldStart, OldRev, Body, Atts2]))
И я знаю, что если я создаю новый пустой документ без вложений, CouchDB всегда дает ему ревизию 1-967a00dff5e02add41819138abb3284d, которая в десятичном выражении << 150,122,0,223,245,224,42,221,65,129,145,56,171,179,40,77 >> .
Однако, если я наберу в командной строке erlang следующее (false для удаленного, 0 для OldStart, 0 для OldRev, пустое тело и никаких вложений):
erlang:md5(term_to_binary([false, 0, 0, [], []])).
Я всегда получаю
<<26,196,244,40,211,149,193,185,214,6,230,61,54,138,62,132>>
назад.
Так что же я здесь делаю не так - как я могу определить реальную ревизию, которую генерирует кушетка?