From cb13a9f436d6a8acb10df15c49e149e1cfb1b52f Mon Sep 17 00:00:00 2001 From: Kirill Smelkov <kirr@nexedi.com> Date: Mon, 6 Mar 2017 13:23:26 +0300 Subject: [PATCH] . --- t/neo/storage/fs1/py/gen-testdata | 29 +- t/neo/storage/fs1/testdata/1.fs | Bin 9971 -> 11053 bytes t/neo/storage/fs1/testdata/1.fs.index | Bin 83 -> 99 bytes t/neo/storage/fs1/testdata_expect_test.go | 658 +++++++++++++--------- 4 files changed, 422 insertions(+), 265 deletions(-) diff --git a/t/neo/storage/fs1/py/gen-testdata b/t/neo/storage/fs1/py/gen-testdata index 421396d9..2e44bb2a 100755 --- a/t/neo/storage/fs1/py/gen-testdata +++ b/t/neo/storage/fs1/py/gen-testdata @@ -97,14 +97,19 @@ def main(): {"x-generator": "zodb/py2 (undo %s)" % ul["id"]}) # delete an object - #obj = random.choice(root.values()) - #txn = precommit(u"root%i\nYour\nRoyal\nMagesty " % i, - # u"delete %i\nalpha beta gamma\n\nqqq ..." % i, - # {"x-generator": "zodb/py2 (delete %s)" % hex64(obj._p_oid)}) - #stor.tpc_begin(txn) - #stor.deleteObject(obj._p_oid, obj._p_serial, txn) - #stor.tpc_vote(txn) - #stor.tpc_finish(txn) + name = random.choice(root.keys()) + obj = root[name] + root[name] = Object("%s%i*" % (name, i)) + # NOTE user/ext are kept empty on purpose - to also test this case + commit(u"", u"predelete %s" % unpack64(obj._p_oid), {}) + + txn = precommit(u"root%i\nYour\nRoyal\nMagesty " % i, + u"delete %i\nalpha beta gamma\n\nqqq ..." % i, + {"x-generator": "zodb/py2 (delete %s)" % unpack64(obj._p_oid)}) + stor.tpc_begin(txn) + stor.deleteObject(obj._p_oid, obj._p_serial, txn) + stor.tpc_vote(txn) + stor.tpc_finish(txn) # close db & rest not to get conflict errors after we touched stor # directly a bit. everything will be reopened on next iteration. @@ -188,8 +193,12 @@ def main(): plen = dh.plen if plen == 0: rawdata = p64(dh.back) # back-pointer or 0 (= delete) - data = "[]byte(%s)" % escapeqq(drec.data) - datatid = hex64(drec.data_txn) # XXX vs .data = None ? + if drec.data is None: + data = "/* deleted */ nil" + datatid = "/* deleted */ 0" + else: + data = "[]byte(%s)" % escapeqq(drec.data) + datatid = hex64(drec.data_txn) else: rawdata = drec.data data = "/* same as ^^^ */ nil" diff --git a/t/neo/storage/fs1/testdata/1.fs b/t/neo/storage/fs1/testdata/1.fs index c73acc657815f1579d7e7bf9c0aa2903151516a0..e428e84a346250ad65b42d6b78547fd7f7c0db39 100644 GIT binary patch delta 2221 zcmai#ZD?C%6vuCxtj%)QHCgUWa+@@{d2MgAU31fAx=I;!XdPSJDz<b?H*VLoZgi&U zBAWTK7bz$fy7s`d;zU6hxMfa;2;#8SiQp!F@IytkT6|%%A2#uAf`ZRmlA9D}KlI$3 z`~RJDo+tl2&u{5s|AiMtXTQvG9M5rM<C&q%XeOVLlW<v7AaA=5I$X`L&mzDz+W>s- z3YmPMHHx}<f1*8Cry>mfnfmJ{uAD2L>6Ykct|)U77vhxhY&M^;?an?vZhJ6W&_``) zeI#=@UyxasgiRkEdsLSPGkIMe(GMNcZMIx4C#$Lozt%ekoJX=lgLjM-l5$&VF6A(5 z%GFgjb#&3@uCLh;D?<?z3qQVd6--tqyo46`1#cH{f@;NkXmn43ZVif>nkX-ko5Jij zrxG((0TONnZo2IP`p8x+JWEMW43V-sqp4aAy3})in6&*A!Qabv0VgQ5F2~?Y1Rl}U zWDWe&-|H_Dc&}%(fIm<`TE*f+7=$Yxr}>w+&cc$Xi!2O1)AyWvfeDxK!d#lVv8KU| zhm{?q!K6f|!wJT`N@Meh(sZdB`1i&$vjh$|EAVurNj!%$lv;Z?jb4e+gPOXjhQ9S- z^k+i9kLacbyMPlEa<H+z7YID8sdv`E|Bk)cLEv65{W5Wa&C8;%2d~+$sdrVg#kx@F z7?ql);al%Um=l`<hOGD+ed}AK5&i#a#?rY)Z|k$Nj1?Sa3DPd!)Bw9(dC7`QVyIB! ze2Zj$T~jxgXE04;ZT*+8UxjJj2}gZ#wD=~GWGLsoMWg=-m~WIVX!RQW8B)O8qQGJc zFE!u-{6v6R&^1Zr0SA%q$MTb51>Qw+QrW)gG&7uko=MMEDz`@z*y+c<MneeKyv$;r z$EZ}k7fFL=T=X(hUPsC~k*5omW?!Kq&fmt=-{Hb=Ghl(eQ7^pAuYu!%I5H)w?ceTU z&hkxBb+CZdo*`7+V67RvywE?VX373|<v9A)ARK2X*8CZbAty|)!=}~@)*^K4c>&&# zw;)g21@z2Z<<%KiByEu;HG{1PxPBjWkhVL6@ycG~EJXu*Xbks|5_qo-?jj{LhvOJ2 zaUGQ)lj98Q{0PIB@Z@epSA4+{I`z>M^~H0cI2j)&82lHFk*CNW&qXYP;g}+HXMU|j zdbfnxrsE97f*;cu6-%3*G#pg~-x8f1Cir^@$9snptm!9=e!JY<a8?m|>w@hfp?f22 z;W)$aIE}Gwc;PS~ahmUc{slP63$TpT#HJ`gMO@$yrv3ppbE6+X(r|8(X6eob$VCg= z`*sa%9Zz>vE{A&T9`u%3Ee5ny>ocr&IYih<+y|KGU7mnc?8wo+1KSStb{p!M*jwhk z)(x~kTX(q-dngUfUBX2FX)|-3>7a}hyz!1rmDp-!ON?`nH%fg;@IMDnt7$bHckKwT zt}axf4RzS%ozV=J_d!hUdEf-|cGcyr-RAPvZhv|2T6uY=D&Nnl>ZUR~3fiA64ZR{3 F{{wT<_HF<G delta 1594 zcmZXUOK1~O6o#j1ZHu9HS|^Wb9-T?jCIb?kq^3RyQWaa&f{KWUE~+((P&Bx6A??DI zg4Baz#Tplaply92Dpjfr1+lF{7lq<R@r4@~x=?)HbIwgV#Mzw8Kj%B=+<X6<(H&pA zZ=Up23_`)zR@Gx2O~NIQ1zW8R6*bUMsl$zsyTS#JtT?<4bpv=KaH!Vj>#>u|@~)&p zPsO0?#EX&9s~tL+0S~P6$Kj=0)llFB&svT?5A@WUUOQ=*SmiXbw|7qDh@BJcaGk25 zz>IcWvLk{ueEaQWstmrjFnfpKyxy+i3j>XLj{bEB!fSnT)%f^Bg)(cK;!sdk4F#EX zQpP!IbHGlvm9=@?w`w!N1p(vwP+-Wnhohdy^?B^%@-p^m_&ykcEcFz>hh%z$V^eLh zXQqsM{wni<dQJu6uqU8uC@{2WwS)^W5Qu8+W#sh0-87NC!8p{{s2U1PG|X}gWT<V< zPOd0}XVU3@f`1Aamx=;I`U441;Zns>t}J6`-`$#o0n-a-!-*LBiSv~jJZJpK@7`w| zgT3&i&hQIA+4F`{&S3KEbIWw9w6r-vOF%((m!=5*fj8lp=CBiyZ#u_vL_Qbfu*<Ex zupX+6H)J`6&cm%}Omi5D@b^EK+#!6Q!HrRnL>I?!iW;Zq7f<BpYu6Pbe+v?Qi~>Kt zZ<3r83#L2ZFc`sKc3aSIuK91%gf4v+9OD|zxzeUNoJK{y)m<H;3G7IMjt&K;f*y{B zLUga#a);lD{yx$2f#?^4#tVW1Q%zeWeE|j=O`m`rmLvH0kt=C}_eT?CRum-sk)zp0 zt@jGr;W?y7U6DvX(SHS9JTp=m4ZW2mrs>Qawj;cH=JF(LZS}%XECHumRSg9ujCUL( z2XXRB@dpA6nk`7RSYpb0!Ev$T~dZ54Ilm{nrT6cj}2q)44GRZYzdO9vSnxn}et zWs1E_!Aiq|T&paqeF{j+MCIYdGV?`e4C_qXqB-@U3tUQx+~yy#SEV`o%mAE<=QnNJ zez>!}J3D`yDsjugoBYMv{fxF8lC?^q*j;&uMC8{w=t>-0zpZaq-+>NCy=wVYTBW6l P3$zw*Z>e5!NafK#&mMK` diff --git a/t/neo/storage/fs1/testdata/1.fs.index b/t/neo/storage/fs1/testdata/1.fs.index index 77c06500928d53debee0f59dda205a149cff175c..1600ce0363b170cb2fb74aef6f2555ae67641fbb 100644 GIT binary patch literal 99 zcmea()z;GpWn%z?&;TIC$iT$F%)r9H%D~3J&cMOI36j#(0FfGJK%{smh*bRvCgVY* Z)@Kl@!44voCxS>tO%SQ2Rifvo2LP9F2{-@% literal 83 zcmebMtfr?C%EkZ&p$<Tbk%5VUnSq6Ym4S_c9V9Gz1VqZ!fJh|?5UKhFL@GZ6k@8|7 OQf()gy`e<UPY(cXxCxm6 diff --git a/t/neo/storage/fs1/testdata_expect_test.go b/t/neo/storage/fs1/testdata_expect_test.go index ef72aa27..0c0f4ef0 100644 --- a/t/neo/storage/fs1/testdata_expect_test.go +++ b/t/neo/storage/fs1/testdata_expect_test.go @@ -3,16 +3,18 @@ package fs1 import "../../zodb" -const _1fs_indexTopPos = 9971 +const _1fs_indexTopPos = 11053 var _1fs_indexEntryv = [...]indexEntry{ - { 0, 5572}, - { 1, 7804}, - { 2, 8728}, - { 3, 9716}, - { 4, 9190}, - { 5, 7958}, - { 6, 9913}, - { 7, 8112}, + { 0, 10536}, + { 1, 10444}, + { 2, 5973}, + { 3, 9721}, + { 4, 9567}, + { 5, 10995}, + { 6, 10247}, + { 7, 9105}, + { 8, 8489}, + { 9, 10794}, } var _1fs_dbEntryv = [...]dbEntry{ @@ -938,40 +940,40 @@ var _1fs_dbEntryv = [...]dbEntry{ TxnHeader{ Pos: 5500, LenPrev: 196, - Len: 409, + Len: 350, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbacce81b533, + Tid: 0x0285cbaca8f5c2cc, Status: ' ', - User: []byte("user1.0"), - Description: []byte("step 1.0"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (a)s."), + User: []byte(""), + Description: []byte("predelete 2"), + Extension: []byte(""), }, }, []txnEntry{ { DataHeader{ - Pos: 5572, + Pos: 5534, Oid: 0, - Tid: 0x0285cbacce81b533, + Tid: 0x0285cbaca8f5c2cc, PrevRevPos: 2635, TxnPos: 5500, - DataLen: 216, + DataLen: 196, }, - []byte("cpersistent.mapping\nPersistentMapping\nq\x01.}q\x02U\x04dataq\x03}q\x04(U\x01a(U\x08\x00\x00\x00\x00\x00\x00\x00\x07q\x05c__main__\nObject\nq\x06tQU\x01c(U\x08\x00\x00\x00\x00\x00\x00\x00\x02q\x07h\x06tQU\x01b(U\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x08h\x06tQU\x01e(U\x08\x00\x00\x00\x00\x00\x00\x00\x05q\th\x06tQU\x01d(U\x08\x00\x00\x00\x00\x00\x00\x00\x04q\nh\x06tQU\x01g(U\x08\x00\x00\x00\x00\x00\x00\x00\x06q\x0bh\x06tQU\x01f(U\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0ch\x06tQus."), + []byte("cpersistent.mapping\nPersistentMapping\nq\x01.}q\x02U\x04dataq\x03}q\x04(U\x01c(U\x08\x00\x00\x00\x00\x00\x00\x00\x07q\x05c__main__\nObject\nq\x06tQU\x01b(U\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x07h\x06tQU\x01e(U\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x08h\x06tQU\x01d(U\x08\x00\x00\x00\x00\x00\x00\x00\x04q\th\x06tQU\x01g(U\x08\x00\x00\x00\x00\x00\x00\x00\x06q\nh\x06tQU\x01f(U\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0bh\x06tQus."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, { DataHeader{ - Pos: 5830, + Pos: 5772, Oid: 7, - Tid: 0x0285cbacce81b533, + Tid: 0x0285cbaca8f5c2cc, PrevRevPos: 0, TxnPos: 5500, - DataLen: 29, + DataLen: 28, }, - []byte("c__main__\nObject\nq\x01.U\x04a1.0q\x02."), + []byte("c__main__\nObject\nq\x01.U\x03c0*q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -979,14 +981,44 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 5909, - LenPrev: 409, + Pos: 5850, + LenPrev: 350, + Len: 181, + TxnInfo: zodb.TxnInfo{ + Tid: 0x0285cbacada74119, + Status: ' ', + User: []byte("root0\nYour\nRoyal\nMagesty "), + Description: []byte("delete 0\nalpha beta gamma\n\nqqq ..."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x13zodb/py2 (delete 2)s."), + }, + }, + + []txnEntry{ + { + DataHeader{ + Pos: 5973, + Oid: 2, + Tid: 0x0285cbacada74119, + PrevRevPos: 4413, + TxnPos: 5850, + DataLen: 0, + }, + []byte("\x00\x00\x00\x00\x00\x00\x00\x00"), + /* deleted */ nil, + /* deleted */ 0, + }, + }, + }, + { + TxnHeader{ + Pos: 6031, + LenPrev: 181, Len: 151, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbacd3333380, + Tid: 0x0285cbacd7e4b1cc, Status: ' ', - User: []byte("user1.1"), - Description: []byte("step 1.1"), + User: []byte("user1.0"), + Description: []byte("step 1.0"), Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (d)s."), }, }, @@ -994,14 +1026,14 @@ var _1fs_dbEntryv = [...]dbEntry{ []txnEntry{ { DataHeader{ - Pos: 5981, + Pos: 6103, Oid: 4, - Tid: 0x0285cbacd3333380, + Tid: 0x0285cbacd7e4b1cc, PrevRevPos: 5442, - TxnPos: 5909, + TxnPos: 6031, DataLen: 29, }, - []byte("c__main__\nObject\nq\x01.U\x04d1.1q\x02."), + []byte("c__main__\nObject\nq\x01.U\x04d1.0q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1009,14 +1041,14 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 6060, + Pos: 6182, LenPrev: 151, Len: 151, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbacd7e4b1cc, + Tid: 0x0285cbacdc963019, Status: ' ', - User: []byte("user1.2"), - Description: []byte("step 1.2"), + User: []byte("user1.1"), + Description: []byte("step 1.1"), Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (e)s."), }, }, @@ -1024,14 +1056,14 @@ var _1fs_dbEntryv = [...]dbEntry{ []txnEntry{ { DataHeader{ - Pos: 6132, + Pos: 6254, Oid: 5, - Tid: 0x0285cbacd7e4b1cc, + Tid: 0x0285cbacdc963019, PrevRevPos: 5246, - TxnPos: 6060, + TxnPos: 6182, DataLen: 29, }, - []byte("c__main__\nObject\nq\x01.U\x04e1.2q\x02."), + []byte("c__main__\nObject\nq\x01.U\x04e1.1q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1039,14 +1071,14 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 6211, + Pos: 6333, LenPrev: 151, Len: 151, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbacdc963019, + Tid: 0x0285cbace147ae66, Status: ' ', - User: []byte("user1.3"), - Description: []byte("step 1.3"), + User: []byte("user1.2"), + Description: []byte("step 1.2"), Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (g)s."), }, }, @@ -1054,14 +1086,14 @@ var _1fs_dbEntryv = [...]dbEntry{ []txnEntry{ { DataHeader{ - Pos: 6283, + Pos: 6405, Oid: 6, - Tid: 0x0285cbacdc963019, + Tid: 0x0285cbace147ae66, PrevRevPos: 4721, - TxnPos: 6211, + TxnPos: 6333, DataLen: 29, }, - []byte("c__main__\nObject\nq\x01.U\x04g1.3q\x02."), + []byte("c__main__\nObject\nq\x01.U\x04g1.2q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1069,14 +1101,14 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 6362, + Pos: 6484, LenPrev: 151, Len: 151, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbace147ae66, + Tid: 0x0285cbace5f92cb3, Status: ' ', - User: []byte("user1.4"), - Description: []byte("step 1.4"), + User: []byte("user1.3"), + Description: []byte("step 1.3"), Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (g)s."), }, }, @@ -1084,14 +1116,14 @@ var _1fs_dbEntryv = [...]dbEntry{ []txnEntry{ { DataHeader{ - Pos: 6434, + Pos: 6556, Oid: 6, - Tid: 0x0285cbace147ae66, - PrevRevPos: 6283, - TxnPos: 6362, + Tid: 0x0285cbace5f92cb3, + PrevRevPos: 6405, + TxnPos: 6484, DataLen: 29, }, - []byte("c__main__\nObject\nq\x01.U\x04g1.4q\x02."), + []byte("c__main__\nObject\nq\x01.U\x04g1.3q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1099,14 +1131,14 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 6513, + Pos: 6635, LenPrev: 151, Len: 151, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbace5f92cb3, + Tid: 0x0285cbaceaaaab00, Status: ' ', - User: []byte("user1.5"), - Description: []byte("step 1.5"), + User: []byte("user1.4"), + Description: []byte("step 1.4"), Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (d)s."), }, }, @@ -1114,14 +1146,14 @@ var _1fs_dbEntryv = [...]dbEntry{ []txnEntry{ { DataHeader{ - Pos: 6585, + Pos: 6707, Oid: 4, - Tid: 0x0285cbace5f92cb3, - PrevRevPos: 5981, - TxnPos: 6513, + Tid: 0x0285cbaceaaaab00, + PrevRevPos: 6103, + TxnPos: 6635, DataLen: 29, }, - []byte("c__main__\nObject\nq\x01.U\x04d1.5q\x02."), + []byte("c__main__\nObject\nq\x01.U\x04d1.4q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1129,14 +1161,14 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 6664, + Pos: 6786, LenPrev: 151, Len: 151, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbaceaaaab00, + Tid: 0x0285cbacef5c294c, Status: ' ', - User: []byte("user1.6"), - Description: []byte("step 1.6"), + User: []byte("user1.5"), + Description: []byte("step 1.5"), Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (g)s."), }, }, @@ -1144,14 +1176,14 @@ var _1fs_dbEntryv = [...]dbEntry{ []txnEntry{ { DataHeader{ - Pos: 6736, + Pos: 6858, Oid: 6, - Tid: 0x0285cbaceaaaab00, - PrevRevPos: 6434, - TxnPos: 6664, + Tid: 0x0285cbacef5c294c, + PrevRevPos: 6556, + TxnPos: 6786, DataLen: 29, }, - []byte("c__main__\nObject\nq\x01.U\x04g1.6q\x02."), + []byte("c__main__\nObject\nq\x01.U\x04g1.5q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1159,14 +1191,14 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 6815, + Pos: 6937, LenPrev: 151, Len: 151, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbacef5c294c, + Tid: 0x0285cbacf40da799, Status: ' ', - User: []byte("user1.7"), - Description: []byte("step 1.7"), + User: []byte("user1.6"), + Description: []byte("step 1.6"), Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (b)s."), }, }, @@ -1174,14 +1206,14 @@ var _1fs_dbEntryv = [...]dbEntry{ []txnEntry{ { DataHeader{ - Pos: 6887, + Pos: 7009, Oid: 3, - Tid: 0x0285cbacef5c294c, + Tid: 0x0285cbacf40da799, PrevRevPos: 3643, - TxnPos: 6815, + TxnPos: 6937, DataLen: 29, }, - []byte("c__main__\nObject\nq\x01.U\x04b1.7q\x02."), + []byte("c__main__\nObject\nq\x01.U\x04b1.6q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1189,14 +1221,14 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 6966, + Pos: 7088, LenPrev: 151, Len: 151, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbacf40da799, + Tid: 0x0285cbacf8bf25e6, Status: ' ', - User: []byte("user1.8"), - Description: []byte("step 1.8"), + User: []byte("user1.7"), + Description: []byte("step 1.7"), Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (f)s."), }, }, @@ -1204,14 +1236,14 @@ var _1fs_dbEntryv = [...]dbEntry{ []txnEntry{ { DataHeader{ - Pos: 7038, + Pos: 7160, Oid: 1, - Tid: 0x0285cbacf40da799, + Tid: 0x0285cbacf8bf25e6, PrevRevPos: 4567, - TxnPos: 6966, + TxnPos: 7088, DataLen: 29, }, - []byte("c__main__\nObject\nq\x01.U\x04f1.8q\x02."), + []byte("c__main__\nObject\nq\x01.U\x04f1.7q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1219,14 +1251,14 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 7117, + Pos: 7239, LenPrev: 151, Len: 151, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbacf8bf25e6, + Tid: 0x0285cbacfd70a433, Status: ' ', - User: []byte("user1.9"), - Description: []byte("step 1.9"), + User: []byte("user1.8"), + Description: []byte("step 1.8"), Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (d)s."), }, }, @@ -1234,14 +1266,14 @@ var _1fs_dbEntryv = [...]dbEntry{ []txnEntry{ { DataHeader{ - Pos: 7189, + Pos: 7311, Oid: 4, - Tid: 0x0285cbacf8bf25e6, - PrevRevPos: 6585, - TxnPos: 7117, + Tid: 0x0285cbacfd70a433, + PrevRevPos: 6707, + TxnPos: 7239, DataLen: 29, }, - []byte("c__main__\nObject\nq\x01.U\x04d1.9q\x02."), + []byte("c__main__\nObject\nq\x01.U\x04d1.8q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1249,29 +1281,72 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 7268, + Pos: 7390, LenPrev: 151, + Len: 409, + TxnInfo: zodb.TxnInfo{ + Tid: 0x0285cbad02222280, + Status: ' ', + User: []byte("user1.9"), + Description: []byte("step 1.9"), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (a)s."), + }, + }, + + []txnEntry{ + { + DataHeader{ + Pos: 7462, + Oid: 0, + Tid: 0x0285cbad02222280, + PrevRevPos: 5534, + TxnPos: 7390, + DataLen: 216, + }, + []byte("cpersistent.mapping\nPersistentMapping\nq\x01.}q\x02U\x04dataq\x03}q\x04(U\x01a(U\x08\x00\x00\x00\x00\x00\x00\x00\x08q\x05c__main__\nObject\nq\x06tQU\x01c(U\x08\x00\x00\x00\x00\x00\x00\x00\x07q\x07h\x06tQU\x01b(U\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x08h\x06tQU\x01e(U\x08\x00\x00\x00\x00\x00\x00\x00\x05q\th\x06tQU\x01d(U\x08\x00\x00\x00\x00\x00\x00\x00\x04q\nh\x06tQU\x01g(U\x08\x00\x00\x00\x00\x00\x00\x00\x06q\x0bh\x06tQU\x01f(U\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0ch\x06tQus."), + /* same as ^^^ */ nil, + /* same as ^^^ */ 0, + }, + { + DataHeader{ + Pos: 7720, + Oid: 8, + Tid: 0x0285cbad02222280, + PrevRevPos: 0, + TxnPos: 7390, + DataLen: 29, + }, + []byte("c__main__\nObject\nq\x01.U\x04a1.9q\x02."), + /* same as ^^^ */ nil, + /* same as ^^^ */ 0, + }, + }, + }, + { + TxnHeader{ + Pos: 7799, + LenPrev: 409, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbacfd70a433, + Tid: 0x0285cbad06d3a0cc, Status: ' ', User: []byte("user1.10"), Description: []byte("step 1.10"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (a)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (f)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 7342, - Oid: 7, - Tid: 0x0285cbacfd70a433, - PrevRevPos: 5830, - TxnPos: 7268, + Pos: 7873, + Oid: 1, + Tid: 0x0285cbad06d3a0cc, + PrevRevPos: 7160, + TxnPos: 7799, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05a1.10q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05f1.10q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1279,29 +1354,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 7422, + Pos: 7953, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad02222280, + Tid: 0x0285cbad0b851f19, Status: ' ', User: []byte("user1.11"), Description: []byte("step 1.11"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (f)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (c)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 7496, - Oid: 1, - Tid: 0x0285cbad02222280, - PrevRevPos: 7038, - TxnPos: 7422, + Pos: 8027, + Oid: 7, + Tid: 0x0285cbad0b851f19, + PrevRevPos: 5772, + TxnPos: 7953, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05f1.11q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05c1.11q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1309,29 +1384,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 7576, + Pos: 8107, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad06d3a0cc, + Tid: 0x0285cbad10369d66, Status: ' ', User: []byte("user1.12"), Description: []byte("step 1.12"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (c)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (f)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 7650, - Oid: 2, - Tid: 0x0285cbad06d3a0cc, - PrevRevPos: 4413, - TxnPos: 7576, + Pos: 8181, + Oid: 1, + Tid: 0x0285cbad10369d66, + PrevRevPos: 7873, + TxnPos: 8107, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05c1.12q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05f1.12q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1339,29 +1414,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 7730, + Pos: 8261, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad0b851f19, + Tid: 0x0285cbad14e81bb3, Status: ' ', User: []byte("user1.13"), Description: []byte("step 1.13"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (f)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (e)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 7804, - Oid: 1, - Tid: 0x0285cbad0b851f19, - PrevRevPos: 7496, - TxnPos: 7730, + Pos: 8335, + Oid: 5, + Tid: 0x0285cbad14e81bb3, + PrevRevPos: 6254, + TxnPos: 8261, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05f1.13q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05e1.13q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1369,29 +1444,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 7884, + Pos: 8415, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad10369d66, + Tid: 0x0285cbad19999a00, Status: ' ', User: []byte("user1.14"), Description: []byte("step 1.14"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (e)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (a)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 7958, - Oid: 5, - Tid: 0x0285cbad10369d66, - PrevRevPos: 6132, - TxnPos: 7884, + Pos: 8489, + Oid: 8, + Tid: 0x0285cbad19999a00, + PrevRevPos: 7720, + TxnPos: 8415, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05e1.14q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05a1.14q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1399,29 +1474,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 8038, + Pos: 8569, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad14e81bb3, + Tid: 0x0285cbad1e4b184c, Status: ' ', User: []byte("user1.15"), Description: []byte("step 1.15"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (a)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (d)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 8112, - Oid: 7, - Tid: 0x0285cbad14e81bb3, - PrevRevPos: 7342, - TxnPos: 8038, + Pos: 8643, + Oid: 4, + Tid: 0x0285cbad1e4b184c, + PrevRevPos: 7311, + TxnPos: 8569, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05a1.15q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05d1.15q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1429,29 +1504,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 8192, + Pos: 8723, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad19999a00, + Tid: 0x0285cbad22fc9699, Status: ' ', User: []byte("user1.16"), Description: []byte("step 1.16"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (d)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (g)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 8266, - Oid: 4, - Tid: 0x0285cbad19999a00, - PrevRevPos: 7189, - TxnPos: 8192, + Pos: 8797, + Oid: 6, + Tid: 0x0285cbad22fc9699, + PrevRevPos: 6858, + TxnPos: 8723, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05d1.16q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05g1.16q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1459,29 +1534,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 8346, + Pos: 8877, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad1e4b184c, + Tid: 0x0285cbad27ae14e6, Status: ' ', User: []byte("user1.17"), Description: []byte("step 1.17"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (g)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (b)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 8420, - Oid: 6, - Tid: 0x0285cbad1e4b184c, - PrevRevPos: 6736, - TxnPos: 8346, + Pos: 8951, + Oid: 3, + Tid: 0x0285cbad27ae14e6, + PrevRevPos: 7009, + TxnPos: 8877, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05g1.17q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05b1.17q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1489,29 +1564,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 8500, + Pos: 9031, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad22fc9699, + Tid: 0x0285cbad2c5f9333, Status: ' ', User: []byte("user1.18"), Description: []byte("step 1.18"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (b)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (c)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 8574, - Oid: 3, - Tid: 0x0285cbad22fc9699, - PrevRevPos: 6887, - TxnPos: 8500, + Pos: 9105, + Oid: 7, + Tid: 0x0285cbad2c5f9333, + PrevRevPos: 8027, + TxnPos: 9031, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05b1.18q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05c1.18q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1519,29 +1594,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 8654, + Pos: 9185, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad27ae14e6, + Tid: 0x0285cbad31111180, Status: ' ', User: []byte("user1.19"), Description: []byte("step 1.19"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (c)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (g)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 8728, - Oid: 2, - Tid: 0x0285cbad27ae14e6, - PrevRevPos: 7650, - TxnPos: 8654, + Pos: 9259, + Oid: 6, + Tid: 0x0285cbad31111180, + PrevRevPos: 8797, + TxnPos: 9185, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05c1.19q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05g1.19q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1549,29 +1624,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 8808, + Pos: 9339, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad2c5f9333, + Tid: 0x0285cbad35c28fcc, Status: ' ', User: []byte("user1.20"), Description: []byte("step 1.20"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (g)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (b)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 8882, - Oid: 6, - Tid: 0x0285cbad2c5f9333, - PrevRevPos: 8420, - TxnPos: 8808, + Pos: 9413, + Oid: 3, + Tid: 0x0285cbad35c28fcc, + PrevRevPos: 8951, + TxnPos: 9339, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05g1.20q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05b1.20q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1579,29 +1654,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 8962, + Pos: 9493, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad31111180, + Tid: 0x0285cbad3a740e19, Status: ' ', User: []byte("user1.21"), Description: []byte("step 1.21"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (b)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (d)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 9036, - Oid: 3, - Tid: 0x0285cbad31111180, - PrevRevPos: 8574, - TxnPos: 8962, + Pos: 9567, + Oid: 4, + Tid: 0x0285cbad3a740e19, + PrevRevPos: 8643, + TxnPos: 9493, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05b1.21q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05d1.21q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1609,29 +1684,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 9116, + Pos: 9647, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad35c28fcc, + Tid: 0x0285cbad3f258c66, Status: ' ', User: []byte("user1.22"), Description: []byte("step 1.22"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (d)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (b)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 9190, - Oid: 4, - Tid: 0x0285cbad35c28fcc, - PrevRevPos: 8266, - TxnPos: 9116, + Pos: 9721, + Oid: 3, + Tid: 0x0285cbad3f258c66, + PrevRevPos: 9413, + TxnPos: 9647, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05d1.22q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05b1.22q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1639,29 +1714,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 9270, + Pos: 9801, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad3a740e19, + Tid: 0x0285cbad43d70ab3, Status: ' ', User: []byte("user1.23"), Description: []byte("step 1.23"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (b)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (g)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 9344, - Oid: 3, - Tid: 0x0285cbad3a740e19, - PrevRevPos: 9036, - TxnPos: 9270, + Pos: 9875, + Oid: 6, + Tid: 0x0285cbad43d70ab3, + PrevRevPos: 9259, + TxnPos: 9801, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05b1.23q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05g1.23q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1669,29 +1744,29 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 9424, + Pos: 9955, LenPrev: 154, Len: 154, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad3f258c66, + Tid: 0x0285cbad48888900, Status: ' ', User: []byte("user1.24"), Description: []byte("step 1.24"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (g)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x0czodb/py2 (f)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 9498, - Oid: 6, - Tid: 0x0285cbad3f258c66, - PrevRevPos: 8882, - TxnPos: 9424, + Pos: 10029, + Oid: 1, + Tid: 0x0285cbad48888900, + PrevRevPos: 8181, + TxnPos: 9955, DataLen: 30, }, - []byte("c__main__\nObject\nq\x01.U\x05g1.24q\x02."), + []byte("c__main__\nObject\nq\x01.U\x05f1.24q\x02."), /* same as ^^^ */ nil, /* same as ^^^ */ 0, }, @@ -1699,61 +1774,134 @@ var _1fs_dbEntryv = [...]dbEntry{ }, { TxnHeader{ - Pos: 9578, + Pos: 10109, LenPrev: 154, Len: 196, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad43d70ab3, + Tid: 0x0285cbad4d3a074c, Status: ' ', User: []byte("root1.0\nYour\nMagesty "), Description: []byte("undo 1.0\nmore detailed description\n\nzzz ...\t"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrTp0Dhk=)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrUPXCrM=)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 9716, - Oid: 3, - Tid: 0x0285cbad43d70ab3, - PrevRevPos: 9344, - TxnPos: 9578, + Pos: 10247, + Oid: 6, + Tid: 0x0285cbad4d3a074c, + PrevRevPos: 9875, + TxnPos: 10109, DataLen: 0, }, - []byte("\x00\x00\x00\x00\x00\x00#L"), - []byte("c__main__\nObject\nq\x01.U\x05b1.21q\x02."), + []byte("\x00\x00\x00\x00\x00\x00$+"), + []byte("c__main__\nObject\nq\x01.U\x05g1.19q\x02."), 0x0285cbad31111180, }, }, }, { TxnHeader{ - Pos: 9774, + Pos: 10305, LenPrev: 196, Len: 197, TxnInfo: zodb.TxnInfo{ - Tid: 0x0285cbad48888900, + Tid: 0x0285cbad51eb8599, Status: ' ', User: []byte("root1.1\nYour\nMagesty "), Description: []byte("undo 1.1\nmore detailed description\n\nzzz ...\t\t"), - Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrT8ljGY=)s."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrUiIiQA=)s."), }, }, []txnEntry{ { DataHeader{ - Pos: 9913, - Oid: 6, - Tid: 0x0285cbad48888900, - PrevRevPos: 9498, - TxnPos: 9774, + Pos: 10444, + Oid: 1, + Tid: 0x0285cbad51eb8599, + PrevRevPos: 10029, + TxnPos: 10305, + DataLen: 0, + }, + []byte("\x00\x00\x00\x00\x00\x00\x1f\xf5"), + []byte("c__main__\nObject\nq\x01.U\x05f1.12q\x02."), + 0x0285cbad10369d66, + }, + }, + }, + { + TxnHeader{ + Pos: 10502, + LenPrev: 197, + Len: 370, + TxnInfo: zodb.TxnInfo{ + Tid: 0x0285cbad569d03e6, + Status: ' ', + User: []byte(""), + Description: []byte("predelete 5"), + Extension: []byte(""), + }, + }, + + []txnEntry{ + { + DataHeader{ + Pos: 10536, + Oid: 0, + Tid: 0x0285cbad569d03e6, + PrevRevPos: 7462, + TxnPos: 10502, + DataLen: 216, + }, + []byte("cpersistent.mapping\nPersistentMapping\nq\x01.}q\x02U\x04dataq\x03}q\x04(U\x01a(U\x08\x00\x00\x00\x00\x00\x00\x00\x08q\x05c__main__\nObject\nq\x06tQU\x01c(U\x08\x00\x00\x00\x00\x00\x00\x00\x07q\x07h\x06tQU\x01b(U\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x08h\x06tQU\x01e(U\x08\x00\x00\x00\x00\x00\x00\x00\tq\th\x06tQU\x01d(U\x08\x00\x00\x00\x00\x00\x00\x00\x04q\nh\x06tQU\x01g(U\x08\x00\x00\x00\x00\x00\x00\x00\x06q\x0bh\x06tQU\x01f(U\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0ch\x06tQus."), + /* same as ^^^ */ nil, + /* same as ^^^ */ 0, + }, + { + DataHeader{ + Pos: 10794, + Oid: 9, + Tid: 0x0285cbad569d03e6, + PrevRevPos: 0, + TxnPos: 10502, + DataLen: 28, + }, + []byte("c__main__\nObject\nq\x01.U\x03e1*q\x02."), + /* same as ^^^ */ nil, + /* same as ^^^ */ 0, + }, + }, + }, + { + TxnHeader{ + Pos: 10872, + LenPrev: 370, + Len: 181, + TxnInfo: zodb.TxnInfo{ + Tid: 0x0285cbad5b4e8233, + Status: ' ', + User: []byte("root1\nYour\nRoyal\nMagesty "), + Description: []byte("delete 1\nalpha beta gamma\n\nqqq ..."), + Extension: []byte("}q\x01U\x0bx-generatorq\x02U\x13zodb/py2 (delete 5)s."), + }, + }, + + []txnEntry{ + { + DataHeader{ + Pos: 10995, + Oid: 5, + Tid: 0x0285cbad5b4e8233, + PrevRevPos: 8335, + TxnPos: 10872, DataLen: 0, }, - []byte("\x00\x00\x00\x00\x00\x00\"\xb2"), - []byte("c__main__\nObject\nq\x01.U\x05g1.20q\x02."), - 0x0285cbad2c5f9333, + []byte("\x00\x00\x00\x00\x00\x00\x00\x00"), + /* deleted */ nil, + /* deleted */ 0, }, }, }, -- 2.30.9