Commit c5b27ee8 authored by Kirill Smelkov's avatar Kirill Smelkov

go/zodb/fs1: Test FileStorage on all py2/py3 ZODB kinds of data we care about

Previously we were testing FileStorage/go only with data generated by
python and pickle protocol=2. However even on py2 there are more pickle
protocols that are in use, and also there is python3.

-> Modernize py/gen-testdata to use run_with_all_zodb_pickle_kinds
   that was recently added as part of nexedi/zodbtools@f9d36ba7
   and generate test data with both python2 and python3. It is handy to
   use py2py3-venv(*) to prepare python environment to do that.

   Adjust tests on Go side to verify how FileStorage handles all generated zkinds.

py2_pickle1, py2_pickle2 and py2_pickle3 are handled well.
Tests for py3_pickle3 currently fail and so are marked with "xfail".

We will fix tests for py3_pickle3 in follow-up patches.

Old testdata are not yet removed because e.g. fs1tools and zodbdump
tests depend on them. We will remove old fs1 testdata after adjusting
tests in dependent packages step-by-step.

(*) see nexedi/zodbtools@fac2f190
parent da020b83
// Copyright (C) 2017-2021 Nexedi SA and Contributors. // Copyright (C) 2017-2024 Nexedi SA and Contributors.
// Kirill Smelkov <kirr@nexedi.com> // Kirill Smelkov <kirr@nexedi.com>
// //
// This program is free software: you can Use, Study, Modify and Redistribute // This program is free software: you can Use, Study, Modify and Redistribute
...@@ -33,6 +33,17 @@ import ( ...@@ -33,6 +33,17 @@ import (
"lab.nexedi.com/kirr/go123/exc" "lab.nexedi.com/kirr/go123/exc"
) )
// ztestdataReg maintains registry of all entries under testdata/ .
var ztestdataReg = xtesting.ZTestDataRegistry[_TestDataOK]{}
type ZTestData = xtesting.ZTestData[_TestDataOK]
// _TestDataOK describes expected data for one entry under testdata/ .
type _TestDataOK struct {
_1fs_indexTopPos int64 // topPos of 1fs.index
_1fs_indexEntryv []indexEntry // index content
_1fs_dbEntryv []dbEntry // database content
}
// one database transaction record // one database transaction record
type dbEntry struct { type dbEntry struct {
Header TxnHeader Header TxnHeader
...@@ -73,21 +84,33 @@ func xfsopenopt(t testing.TB, path string, opt *zodb.DriverOptions) (*FileStorag ...@@ -73,21 +84,33 @@ func xfsopenopt(t testing.TB, path string, opt *zodb.DriverOptions) (*FileStorag
} }
func TestEmptyDB(t *testing.T) { func TestEmptyDB(t *testing.T) {
fs, _ := xfsopen(t, "testdata/empty.fs") ztestdataReg.RunWithEach(t, _TestEmptyDB)
}
func _TestEmptyDB(t *testing.T, z *ZTestData) {
if z.Kind == "py3_pickle3" {
t.Skip("xfail")
}
fs, _ := xfsopen(t, z.Path("empty.fs"))
defer exc.XRun(fs.Close) defer exc.XRun(fs.Close)
xtesting.DrvTestEmptyDB(t, fs) xtesting.DrvTestEmptyDB(t, fs)
} }
func TestLoad(t *testing.T) { func TestLoad(t *testing.T) {
fs, _ := xfsopen(t, "testdata/1.fs") ztestdataReg.RunWithEach(t, _TestLoad)
}
func _TestLoad(t *testing.T, z *ZTestData) {
if z.Kind == "py3_pickle3" {
t.Skip("xfail")
}
fs, _ := xfsopen(t, z.Path("1.fs"))
defer exc.XRun(fs.Close) defer exc.XRun(fs.Close)
// NOTE don't use xtesting.LoadDBHistory here - it is itself tested // NOTE don't use xtesting.LoadDBHistory here - it is itself tested
// with the assumption that fs1.Load and fs1.Iterate work correctly. // with the assumption that fs1.Load and fs1.Iterate work correctly.
// Use what testdata generator gave use with what to expect. // Use what testdata generator gave use with what to expect.
txnv := []xtesting.Txn{} txnv := []xtesting.Txn{}
for _, dbe := range _1fs_dbEntryv { for _, dbe := range z.Misc._1fs_dbEntryv {
txn := xtesting.Txn{Header: &zodb.TxnInfo{ txn := xtesting.Txn{Header: &zodb.TxnInfo{
Tid: dbe.Header.Tid, Tid: dbe.Header.Tid,
...@@ -221,12 +244,20 @@ func testIterate(t *testing.T, fs *FileStorage, tidMin, tidMax zodb.Tid, expectv ...@@ -221,12 +244,20 @@ func testIterate(t *testing.T, fs *FileStorage, tidMin, tidMax zodb.Tid, expectv
// TODO -> xtesting // TODO -> xtesting
func TestIterate(t *testing.T) { func TestIterate(t *testing.T) {
fs, _ := xfsopen(t, "testdata/1.fs") ztestdataReg.RunWithEach(t, _TestIterate)
}
func _TestIterate(t *testing.T, z *ZTestData) {
if z.Kind == "py3_pickle3" {
t.Skip("xfail")
}
zz := z.Misc
fs, _ := xfsopen(t, z.Path("1.fs"))
defer exc.XRun(fs.Close) defer exc.XRun(fs.Close)
// all []tids in test database // all []tids in test database
tidv := []zodb.Tid{} tidv := []zodb.Tid{}
for _, dbe := range _1fs_dbEntryv { for _, dbe := range zz._1fs_dbEntryv {
tidv = append(tidv, dbe.Header.Tid) tidv = append(tidv, dbe.Header.Tid)
} }
...@@ -248,17 +279,23 @@ func TestIterate(t *testing.T) { ...@@ -248,17 +279,23 @@ func TestIterate(t *testing.T) {
} }
//fmt.Printf("%d%+d .. %d%+d\t -> %d steps\n", i, ii-1, j, jj-1, nsteps) //fmt.Printf("%d%+d .. %d%+d\t -> %d steps\n", i, ii-1, j, jj-1, nsteps)
testIterate(t, fs, tmin, tmax, _1fs_dbEntryv[i + ii/2:][:nsteps]) testIterate(t, fs, tmin, tmax, zz._1fs_dbEntryv[i + ii/2:][:nsteps])
}} }}
}} }}
// also check 0..tidMax // also check 0..tidMax
testIterate(t, fs, 0, zodb.TidMax, _1fs_dbEntryv[:]) testIterate(t, fs, 0, zodb.TidMax, zz._1fs_dbEntryv[:])
} }
// TODO -> xtesting // TODO -> xtesting
func BenchmarkIterate(b *testing.B) { func BenchmarkIterate(b *testing.B) {
fs, _ := xfsopen(b, "testdata/1.fs") ztestdataReg.BenchWithEach(b, _BenchmarkIterate)
}
func _BenchmarkIterate(b *testing.B, z *ZTestData) {
if z.Kind == "py3_pickle3" {
b.Skip("xfail")
}
fs, _ := xfsopen(b, z.Path("1.fs"))
defer exc.XRun(fs.Close) defer exc.XRun(fs.Close)
ctx := context.Background() ctx := context.Background()
...@@ -307,12 +344,19 @@ func TestWatch(t *testing.T) { ...@@ -307,12 +344,19 @@ func TestWatch(t *testing.T) {
// TestOpenRecovery verifies how Open handles data file with not-finished voted // TestOpenRecovery verifies how Open handles data file with not-finished voted
// transaction in the end. // transaction in the end.
func TestOpenRecovery(t *testing.T) { func TestOpenRecovery(t *testing.T) {
ztestdataReg.RunWithEach(t, _TestOpenRecovery)
}
func _TestOpenRecovery(t *testing.T, z *ZTestData) {
if z.Kind == "py3_pickle3" {
t.Skip("xfail")
}
X := exc.Raiseif X := exc.Raiseif
main, err := ioutil.ReadFile("testdata/1.fs"); X(err) zz := z.Misc
index, err := ioutil.ReadFile("testdata/1.fs.index"); X(err) main, err := ioutil.ReadFile(z.Path("1.fs")); X(err)
headOk := _1fs_dbEntryv[len(_1fs_dbEntryv)-1].Header.Tid index, err := ioutil.ReadFile(z.Path("1.fs.index")); X(err)
topPos := int64(_1fs_indexTopPos) headOk := zz._1fs_dbEntryv[len(zz._1fs_dbEntryv)-1].Header.Tid
voteTail, err := ioutil.ReadFile("testdata/1voted.tail"); X(err) topPos := int64(zz._1fs_indexTopPos)
voteTail, err := ioutil.ReadFile(z.Path("1voted.tail")); X(err)
workdir := xworkdir(t) workdir := xworkdir(t)
ctx := context.Background() ctx := context.Background()
...@@ -381,7 +425,13 @@ func TestOpenRecovery(t *testing.T) { ...@@ -381,7 +425,13 @@ func TestOpenRecovery(t *testing.T) {
// FileStorage/py.deleteObject allows to create whiteouts instead of raising // FileStorage/py.deleteObject allows to create whiteouts instead of raising
// POSKeyError. // POSKeyError.
func TestLoadWhiteout(t *testing.T) { func TestLoadWhiteout(t *testing.T) {
fs, _ := xfsopen(t, "testdata/whiteout.fs") ztestdataReg.RunWithEach(t, _TestLoadWhiteout)
}
func _TestLoadWhiteout(t *testing.T, z *ZTestData) {
if z.Kind == "py3_pickle3" {
t.Skip("xfail")
}
fs, _ := xfsopen(t, z.Path("whiteout.fs"))
defer exc.XRun(fs.Close) defer exc.XRun(fs.Close)
xid := zodb.Xid{At: zodb.Tid(0x17), Oid: zodb.Oid(1)} xid := zodb.Xid{At: zodb.Tid(0x17), Oid: zodb.Oid(1)}
......
// Copyright (C) 2017-2019 Nexedi SA and Contributors. // Copyright (C) 2017-2024 Nexedi SA and Contributors.
// Kirill Smelkov <kirr@nexedi.com> // Kirill Smelkov <kirr@nexedi.com>
// //
// This program is free software: you can Use, Study, Modify and Redistribute // This program is free software: you can Use, Study, Modify and Redistribute
...@@ -19,7 +19,8 @@ ...@@ -19,7 +19,8 @@
package fs1 package fs1
//go:generate ./py/gen-testdata //go:generate python2 py/gen-testdata
//go:generate python3 py/gen-testdata
import ( import (
"context" "context"
...@@ -183,61 +184,80 @@ func TestIndexSaveLoad(t *testing.T) { ...@@ -183,61 +184,80 @@ func TestIndexSaveLoad(t *testing.T) {
// {0xb000000000000000, 0x7fffffffffffffff}, // will cause 'entry position too large' // {0xb000000000000000, 0x7fffffffffffffff}, // will cause 'entry position too large'
} }
var _1fs_index = func() *Index { func (z *_TestDataOK) _1fs_index() *Index {
idx := IndexNew() idx := IndexNew()
idx.TopPos = _1fs_indexTopPos idx.TopPos = z._1fs_indexTopPos
setIndex(idx, _1fs_indexEntryv[:]) setIndex(idx, z._1fs_indexEntryv)
return idx return idx
}() }
// test that we can correctly load index data as saved by zodb/py // test that we can correctly load index data as saved by zodb/py
func TestIndexLoadFromPy(t *testing.T) { func TestIndexLoadFromPy(t *testing.T) {
fsiPy, err := LoadIndexFile("testdata/1.fs.index") ztestdataReg.RunWithEach(t, _TestIndexLoadFromPy)
}
func _TestIndexLoadFromPy(t *testing.T, z *ZTestData) {
if z.Kind == "py3_pickle3" {
t.Skip("xfail")
}
fsiPy, err := LoadIndexFile(z.Path("1.fs.index"))
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
checkIndexEqual(t, "index load", fsiPy, _1fs_index) checkIndexEqual(t, "index load", fsiPy, z.Misc._1fs_index())
} }
// test zodb/py can read index data as saved by us // test zodb/py can read index data as saved by us
func TestIndexSaveToPy(t *testing.T) { func TestIndexSaveToPy(t *testing.T) {
xtesting.NeedPy(t, "ZODB") ztestdataReg.RunWithEach(t, _TestIndexSaveToPy)
workdir := xworkdir(t) }
func _TestIndexSaveToPy(t *testing.T, z *ZTestData) {
xtesting.WithEachPy(t, func(t *testing.T) {
if strings.HasSuffix(t.Name(), "/py3") {
t.Skip("xfail")
}
xtesting.NeedPy(t, "ZODB")
workdir := xworkdir(t)
err := _1fs_index.SaveFile(workdir + "/1.fs.index") _1fs_index := z.Misc._1fs_index()
if err != nil {
t.Fatal(err)
}
// now ask python part to compare testdata and saved-by-us index err := _1fs_index.SaveFile(workdir + "/1.fs.index")
cmd := exec.Command("./py/indexcmp", "testdata/1.fs.index", workdir+"/1.fs.index") if err != nil {
cmd.Stdout = os.Stdout t.Fatal(err)
cmd.Stderr = os.Stderr }
err = cmd.Run()
if err != nil { // now ask python part to compare testdata and saved-by-us index
t.Fatalf("zodb/py read/compare index: %v", err) cmd := exec.Command("./py/indexcmp", z.Path("1.fs.index"), workdir+"/1.fs.index")
} cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err = cmd.Run()
if err != nil {
t.Fatalf("zodb/py read/compare index: %v", err)
}
})
} }
func TestIndexBuildVerify(t *testing.T) { func TestIndexBuildVerify(t *testing.T) {
index, err := BuildIndexForFile(context.Background(), "testdata/1.fs", nil) ztestdataReg.RunWithEach(t, _TestIndexBuildVerify)
}
func _TestIndexBuildVerify(t *testing.T, z *ZTestData) {
index, err := BuildIndexForFile(context.Background(), z.Path("1.fs"), nil)
if err != nil { if err != nil {
t.Fatalf("index build: %v", err) t.Fatalf("index build: %v", err)
} }
if !index.Equal(_1fs_index) { if !index.Equal(z.Misc._1fs_index()) {
t.Fatal("computed index differ from expected") t.Fatal("computed index differ from expected")
} }
_, err = index.VerifyForFile(context.Background(), "testdata/1.fs", -1, nil) _, err = index.VerifyForFile(context.Background(), z.Path("1.fs"), -1, nil)
if err != nil { if err != nil {
t.Fatalf("index verify: %v", err) t.Fatalf("index verify: %v", err)
} }
pos0, _ := index.Get(0) pos0, _ := index.Get(0)
index.Set(0, pos0+1) index.Set(0, pos0+1)
_, err = index.VerifyForFile(context.Background(), "testdata/1.fs", -1, nil) _, err = index.VerifyForFile(context.Background(), z.Path("1.fs"), -1, nil)
if err == nil { if err == nil {
t.Fatalf("index verify: expected error after tweak") t.Fatalf("index verify: expected error after tweak")
} }
...@@ -245,9 +265,15 @@ func TestIndexBuildVerify(t *testing.T) { ...@@ -245,9 +265,15 @@ func TestIndexBuildVerify(t *testing.T) {
func BenchmarkIndexLoad(b *testing.B) { func BenchmarkIndexLoad(b *testing.B) {
ztestdataReg.BenchWithEach(b, _BenchmarkIndexLoad)
}
func _BenchmarkIndexLoad(b *testing.B, z *ZTestData) {
if z.Kind == "py3_pickle3" {
b.Skip("xfail")
}
// FIXME small testdata/1.fs is not representative for benchmarks // FIXME small testdata/1.fs is not representative for benchmarks
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
_, err := LoadIndexFile("testdata/1.fs.index") _, err := LoadIndexFile(z.Path("1.fs.index"))
if err != nil { if err != nil {
b.Fatal(err) b.Fatal(err)
} }
...@@ -255,8 +281,14 @@ func BenchmarkIndexLoad(b *testing.B) { ...@@ -255,8 +281,14 @@ func BenchmarkIndexLoad(b *testing.B) {
} }
func BenchmarkIndexSave(b *testing.B) { func BenchmarkIndexSave(b *testing.B) {
ztestdataReg.BenchWithEach(b, _BenchmarkIndexSave)
}
func _BenchmarkIndexSave(b *testing.B, z *ZTestData) {
if z.Kind == "py3_pickle3" {
b.Skip("xfail")
}
// FIXME small testdata/1.fs is not representative for benchmarks // FIXME small testdata/1.fs is not representative for benchmarks
index, err := LoadIndexFile("testdata/1.fs.index") index, err := LoadIndexFile(z.Path("1.fs.index"))
if err != nil { if err != nil {
b.Fatal(err) b.Fatal(err)
} }
...@@ -273,8 +305,14 @@ func BenchmarkIndexSave(b *testing.B) { ...@@ -273,8 +305,14 @@ func BenchmarkIndexSave(b *testing.B) {
} }
func BenchmarkIndexGet(b *testing.B) { func BenchmarkIndexGet(b *testing.B) {
ztestdataReg.BenchWithEach(b, _BenchmarkIndexGet)
}
func _BenchmarkIndexGet(b *testing.B, z *ZTestData) {
if z.Kind == "py3_pickle3" {
b.Skip("xfail")
}
// FIXME small testdata/1.fs is not representative for benchmarks // FIXME small testdata/1.fs is not representative for benchmarks
fsi, err := LoadIndexFile("testdata/1.fs.index") fsi, err := LoadIndexFile(z.Path("1.fs.index"))
if err != nil { if err != nil {
b.Fatal(err) b.Fatal(err)
} }
......
#!/usr/bin/env python2 #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright (C) 2017-2021 Nexedi SA and Contributors. # Copyright (C) 2017-2024 Nexedi SA and Contributors.
# Kirill Smelkov <kirr@nexedi.com> # Kirill Smelkov <kirr@nexedi.com>
# #
# This program is free software: you can Use, Study, Modify and Redistribute # This program is free software: you can Use, Study, Modify and Redistribute
...@@ -20,13 +20,16 @@ ...@@ -20,13 +20,16 @@
# See https://www.nexedi.com/licensing for rationale and options. # See https://www.nexedi.com/licensing for rationale and options.
"""generate reference fs1 database and index for tests""" """generate reference fs1 database and index for tests"""
from __future__ import print_function
from ZODB.FileStorage import FileStorage from ZODB.FileStorage import FileStorage
from ZODB.FileStorage.FileStorage import FILESTORAGE_MAGIC, TxnHeader, DataHeader, TRANS_HDR_LEN from ZODB.FileStorage.FileStorage import FILESTORAGE_MAGIC, TxnHeader, DataHeader, TRANS_HDR_LEN
from ZODB import DB from ZODB import DB
from ZODB.Connection import TransactionMetaData from ZODB.Connection import TransactionMetaData
from zodbtools.test.gen_testdata import gen_testdb, precommit, run_with_zodb4py2_compat from zodbtools.test.gen_testdata import gen_testdb, precommit, run_with_all_zodb_pickle_kinds, current_zkind
from os import stat, remove from os import stat, remove, makedirs
from shutil import copyfile from os.path import exists, relpath
from shutil import copyfile, rmtree
from golang.gcompat import qq from golang.gcompat import qq
import struct import struct
...@@ -41,29 +44,44 @@ def unpack64(packed): ...@@ -41,29 +44,44 @@ def unpack64(packed):
def hex64(packed): def hex64(packed):
return '0x%016x' % unpack64(packed) return '0x%016x' % unpack64(packed)
# bchar returns bytes corresponding to bytes_data[i].
# it works as bytes_data[i] on py2, but on py3, contrary to builtin behaviour, also returns bytes instead of int.
def bchar(bytes_data, i): # -> bytes
if i >= len(bytes_data):
raise IndexError('index out of range')
return bytes_data[i:i+1]
def main():
outfs = "testdata/1.fs" def main2():
zkind = current_zkind()
prefix = "testdata/%s" % zkind
if exists(prefix):
rmtree(prefix)
makedirs(prefix)
outfs = "%s/1.fs" % prefix
gen_testdb(outfs) gen_testdb(outfs)
# dump to go what to expect # dump to go what to expect
stor = FileStorage(outfs, read_only=True) stor = FileStorage(outfs, read_only=True)
with open("ztestdata_expect_test.go", "w") as f: with open("ztestdata_expect_%s_test.go" % zkind, "w") as f:
def emit(v): def emit(v):
print >>f, v print(v, file=f)
emit("// Code generated by %s; DO NOT EDIT." % __file__) emit("// Code generated by %s; DO NOT EDIT." % relpath(__file__))
emit("package fs1\n") emit("package fs1\n")
emit("import \"lab.nexedi.com/kirr/neo/go/zodb\"\n") emit("import \"lab.nexedi.com/kirr/neo/go/zodb\"\n")
emit("func init() {")
# index # index
emit("const _1fs_indexTopPos = %i" % stor._pos) emit("\tconst _1fs_indexTopPos = %i" % stor._pos)
emit("var _1fs_indexEntryv = [...]indexEntry{") emit("\tvar _1fs_indexEntryv = []indexEntry{")
for k, v in stor._index.iteritems(): for k, v in stor._index.iteritems():
emit("\t{%8i, %8i}," % (unpack64(k), v)) emit("\t\t{%8i, %8i}," % (unpack64(k), v))
emit("}") emit("\t}")
# database records # database records
emit("\nvar _1fs_dbEntryv = [...]dbEntry{") emit("\n\tvar _1fs_dbEntryv = []dbEntry{")
txnLenPrev = 0 txnLenPrev = 0
for txn in stor.iterator(): # txn is TransactionRecord for txn in stor.iterator(): # txn is TransactionRecord
# txn.extension is already depickled dict - we want to put raw data from file # txn.extension is already depickled dict - we want to put raw data from file
...@@ -76,26 +94,26 @@ def main(): ...@@ -76,26 +94,26 @@ def main():
# fs1/go keeps in RAM whole txn length, not len-8 as it is on disk # fs1/go keeps in RAM whole txn length, not len-8 as it is on disk
txnLen = th.tlen + 8 txnLen = th.tlen + 8
emit("\t{") emit("\t\t{")
# -> TxnHeader # -> TxnHeader
emit("\t\tTxnHeader{") emit("\t\t\tTxnHeader{")
emit("\t\t\tPos:\t %i," % txn._tpos) emit("\t\t\t\tPos:\t %i," % txn._tpos)
emit("\t\t\tLenPrev: %i," % txnLenPrev) emit("\t\t\t\tLenPrev: %i," % txnLenPrev)
emit("\t\t\tLen:\t %i," % txnLen) emit("\t\t\t\tLen:\t %i," % txnLen)
emit("\t\t\tTxnInfo:\tzodb.TxnInfo{") emit("\t\t\t\tTxnInfo:\tzodb.TxnInfo{")
emit("\t\t\t\tTid:\t%s," % hex64(txn.tid)) emit("\t\t\t\t\tTid:\t%s," % hex64(txn.tid))
emit("\t\t\t\tStatus:\t'%s'," % txn.status) emit("\t\t\t\t\tStatus:\t'%s'," % txn.status)
emit("\t\t\t\tUser:\t\t[]byte(%s)," % qq(txn.user)) emit("\t\t\t\t\tUser:\t\t[]byte(%s)," % qq(txn.user))
emit("\t\t\t\tDescription:\t[]byte(%s)," % qq(txn.description)) emit("\t\t\t\t\tDescription:\t[]byte(%s)," % qq(txn.description))
emit("\t\t\t\tExtension:\t[]byte(%s)," % qq(th.ext)) emit("\t\t\t\t\tExtension:\t[]byte(%s)," % qq(th.ext))
emit("\t\t\t\t},")
emit("\t\t\t},") emit("\t\t\t},")
emit("\t\t},")
txnLenPrev = txnLen txnLenPrev = txnLen
# -> DataHeader + payload # -> DataHeader + payload
emit("\n\t\t[]txnEntry{") emit("\n\t\t\t[]txnEntry{")
for drec in txn: # drec is itemof(TransactionRecordIterator) = Record for drec in txn: # drec is itemof(TransactionRecordIterator) = Record
# same as with txn - not everything is possible to get via # same as with txn - not everything is possible to get via
...@@ -105,17 +123,17 @@ def main(): ...@@ -105,17 +123,17 @@ def main():
assert dh.tid == drec.tid assert dh.tid == drec.tid
assert dh.tloc == txn._tpos assert dh.tloc == txn._tpos
emit("\t\t\t{") emit("\t\t\t\t{")
emit("\t\t\t\tDataHeader{") emit("\t\t\t\t\tDataHeader{")
emit("\t\t\t\t\tPos:\t%i," % drec.pos) emit("\t\t\t\t\t\tPos:\t%i," % drec.pos)
emit("\t\t\t\t\tOid:\t%i," % unpack64(drec.oid)) emit("\t\t\t\t\t\tOid:\t%i," % unpack64(drec.oid))
emit("\t\t\t\t\tTid:\t%s," % hex64(drec.tid)) emit("\t\t\t\t\t\tTid:\t%s," % hex64(drec.tid))
emit("\t\t\t\t\tPrevRevPos:\t%i," % dh.prev) emit("\t\t\t\t\t\tPrevRevPos:\t%i," % dh.prev)
emit("\t\t\t\t\tTxnPos:\t%i," % txn._tpos) emit("\t\t\t\t\t\tTxnPos:\t%i," % txn._tpos)
assert drec.version == '' assert drec.version == ''
emit("\t\t\t\t\tDataLen:\t%i," % dh.plen) emit("\t\t\t\t\t\tDataLen:\t%i," % dh.plen)
emit("\t\t\t\t},") emit("\t\t\t\t\t},")
plen = dh.plen plen = dh.plen
if plen == 0: if plen == 0:
rawdata = p64(dh.back) # back-pointer or 0 (= delete) rawdata = p64(dh.back) # back-pointer or 0 (= delete)
...@@ -130,19 +148,22 @@ def main(): ...@@ -130,19 +148,22 @@ def main():
data = "/* same as ^^^ */ sameAsRaw" data = "/* same as ^^^ */ sameAsRaw"
datatid = "/* no copy */ 0" datatid = "/* no copy */ 0"
emit("\t\t\t\t[]byte(%s)," % qq(rawdata)) emit("\t\t\t\t\t[]byte(%s)," % qq(rawdata))
emit("\t\t\t\t%s," % data) emit("\t\t\t\t\t%s," % data)
emit("\t\t\t\t%s," % datatid) emit("\t\t\t\t\t%s," % datatid)
emit("\t\t\t},") emit("\t\t\t\t},")
emit("\t\t\t},")
emit("\t\t},") emit("\t\t},")
emit("\t},") emit("\t}")
emit("\n\tztestdataReg.Register(%s, %s, &_TestDataOK{_1fs_indexTopPos, _1fs_indexEntryv, _1fs_dbEntryv})" % (qq(zkind), qq(prefix)))
emit("}") emit("}")
stor.close() stor.close()
# prepare file with voted (not fully committed) tail # prepare file with voted (not fully committed) tail
voted = "testdata/1voted.fs" voted = "%s/1voted.fs" % prefix
copyfile(outfs, voted) copyfile(outfs, voted)
def _(): def _():
vstor = FileStorage(voted) vstor = FileStorage(voted)
...@@ -154,19 +175,19 @@ def main(): ...@@ -154,19 +175,19 @@ def main():
txn = precommit(u"author", u"description", {'aaa': 'bbb'}) txn = precommit(u"author", u"description", {'aaa': 'bbb'})
txn_stormeta = TransactionMetaData(txn.user, txn.description, txn.extension) txn_stormeta = TransactionMetaData(txn.user, txn.description, txn.extension)
vstor.tpc_begin(txn_stormeta) vstor.tpc_begin(txn_stormeta)
vstor.store(vroot._p_oid, vroot._p_serial, '000 data 000', '', txn_stormeta) vstor.store(vroot._p_oid, vroot._p_serial, b'000 data 000', '', txn_stormeta)
vstor.tpc_vote(txn_stormeta) vstor.tpc_vote(txn_stormeta)
# NO tpc_finish here so that status remain 'c' (voted) instead of ' ' (committed) # NO tpc_finish here so that status remain 'c' (voted) instead of ' ' (committed)
run_with_zodb4py2_compat(_) _()
st = stat(outfs) st = stat(outfs)
l = st.st_size l = st.st_size
vf = open(voted, 'rb') vf = open(voted, 'rb')
vf.seek(l) vf.seek(l)
voted_tail = vf.read() voted_tail = vf.read()
assert voted_tail[-1+8+8+1] == 'c' # voted, not finished (' ') assert bchar(voted_tail, -1+8+8+1) == b'c' # voted, not finished (' ')
with open("testdata/1voted.tail", "wb") as vt: with open("%s/1voted.tail" % prefix, "wb") as vt:
vt.write(voted_tail) vt.write(voted_tail)
remove(voted) remove(voted)
...@@ -176,7 +197,7 @@ def main(): ...@@ -176,7 +197,7 @@ def main():
# prepare file with whiteout (deletion of previously non-existing object) # prepare file with whiteout (deletion of previously non-existing object)
whiteout = "testdata/whiteout.fs" whiteout = "%s/whiteout.fs" % prefix
# as of 20210317 FileStorage.deleteObject verifies that object exists # as of 20210317 FileStorage.deleteObject verifies that object exists
# -> prepare magic/transaction/data records manually # -> prepare magic/transaction/data records manually
with open(whiteout, "wb") as f: with open(whiteout, "wb") as f:
...@@ -206,5 +227,14 @@ def main(): ...@@ -206,5 +227,14 @@ def main():
f.write(p64(tlen)) f.write(p64(tlen))
# prepare empty.fs
empty = "%s/empty.fs" % prefix
with open(empty, "wb") as f:
f.write(FILESTORAGE_MAGIC)
def main():
run_with_all_zodb_pickle_kinds(main2)
if __name__ == '__main__': if __name__ == '__main__':
main() main()
#!/usr/bin/env python2 #!/usr/bin/env python
# Copyright (C) 2017 Nexedi SA and Contributors. # Copyright (C) 2017-2024 Nexedi SA and Contributors.
# Kirill Smelkov <kirr@nexedi.com> # Kirill Smelkov <kirr@nexedi.com>
# #
# This program is free software: you can Use, Study, Modify and Redistribute # This program is free software: you can Use, Study, Modify and Redistribute
# it under the terms of the GNU General Public License version 3, or (at your # it under the terms of the GNU General Public License version 3, or (at your
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
# See https://www.nexedi.com/licensing for rationale and options. # See https://www.nexedi.com/licensing for rationale and options.
"""compare two ZODB FileStorage v1 index files""" """compare two ZODB FileStorage v1 index files"""
from __future__ import print_function
from ZODB.fsIndex import fsIndex from ZODB.fsIndex import fsIndex
import sys import sys
...@@ -31,9 +33,9 @@ def main(): ...@@ -31,9 +33,9 @@ def main():
topPos1, fsi1 = d1["pos"], d1["index"] topPos1, fsi1 = d1["pos"], d1["index"]
topPos2, fsi2 = d2["pos"], d2["index"] topPos2, fsi2 = d2["pos"], d2["index"]
#print topPos1, topPos2 #print(topPos1, topPos2)
#print fsi1.items() #print(fsi1.items())
#print fsi2.items() #print(fsi2.items())
equal = (topPos1 == topPos2 and fsi1.items() == fsi2.items()) equal = (topPos1 == topPos2 and fsi1.items() == fsi2.items())
sys.exit(int(not equal)) sys.exit(int(not equal))
......
/*.lock *.lock
/*.tmp *.tmp
/*.tr[0-9] *.tr[0-9]
*.old
// Code generated by py/gen-testdata; DO NOT EDIT.
package fs1
import "lab.nexedi.com/kirr/neo/go/zodb"
func init() {
const _1fs_indexTopPos = 13817
var _1fs_indexEntryv = []indexEntry{
{ 0, 13197},
{ 1, 10888},
{ 2, 13759},
{ 3, 10120},
{ 5, 8789},
{ 6, 7695},
{ 7, 10504},
{ 8, 11656},
{ 9, 12898},
{ 10, 13474},
}
var _1fs_dbEntryv = []dbEntry{
{
TxnHeader{
Pos: 4,
LenPrev: 0,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac70a3d733,
Status: 'p',
User: []byte("user0.12"),
Description: []byte("step 0.12"),
Extension: []byte("}q\x01(U\tx-cookie8U\x052MHMUU\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 97,
Oid: 1,
Tid: 0x0285cbac70a3d733,
PrevRevPos: 0,
TxnPos: 4,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05f0.12q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 196,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac7eb85219,
Status: 'p',
User: []byte("user0.15"),
Description: []byte("step 0.15"),
Extension: []byte("}q\x01(U\tx-cookieYU\x05EDZ10U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 289,
Oid: 6,
Tid: 0x0285cbac7eb85219,
PrevRevPos: 0,
TxnPos: 196,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05e0.15q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 388,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac917e4b4c,
Status: 'p',
User: []byte("user0.19"),
Description: []byte("step 0.19"),
Extension: []byte("}q\x01(U\tx-cookieFU\x05OUC9LU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 481,
Oid: 5,
Tid: 0x0285cbac917e4b4c,
PrevRevPos: 0,
TxnPos: 388,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05a0.19q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 580,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac9ae147e6,
Status: 'p',
User: []byte("user0.21"),
Description: []byte("step 0.21"),
Extension: []byte("}q\x01(U\tx-cookie8U\x050QC1AU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 673,
Oid: 2,
Tid: 0x0285cbac9ae147e6,
PrevRevPos: 0,
TxnPos: 580,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05d0.21q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 772,
LenPrev: 192,
Len: 255,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacada74119,
Status: 'p',
User: []byte("root0.0\nYour\nMagesty "),
Description: []byte("undo 0.0\nmore detailed description\n\nzzz ..."),
Extension: []byte("}q\x01(U\tx-cookieKU\x05G95IHU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrKRERIA=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 928,
Oid: 7,
Tid: 0x0285cbacada74119,
PrevRevPos: 0,
TxnPos: 772,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05c0.22q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1027,
LenPrev: 255,
Len: 256,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacb258bf66,
Status: 'p',
User: []byte("root0.1\nYour\nMagesty "),
Description: []byte("undo 0.1\nmore detailed description\n\nzzz ...\t"),
Extension: []byte("}q\x01(U\tx-cookieVU\x05VHBGTU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrKj1wsw=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1184,
Oid: 3,
Tid: 0x0285cbacb258bf66,
PrevRevPos: 0,
TxnPos: 1027,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05g0.11q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1283,
LenPrev: 256,
Len: 408,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacbbbbbc00,
Status: 'p',
User: []byte(""),
Description: []byte("predelete 4"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1317,
Oid: 0,
Tid: 0x0285cbacbbbbbc00,
PrevRevPos: 0,
TxnPos: 1283,
DataLen: 235,
},
[]byte("cpersistent.mapping\nPersistentMapping\nq\x01.}q\x02U\x04dataq\x03}q\x04(U\x01a(U\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x05czodbtools.test.gen_testdata\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\x08q\x08h\x06tQU\x01e(U\x08\x00\x00\x00\x00\x00\x00\x00\x06q\th\x06tQU\x01d(U\x08\x00\x00\x00\x00\x00\x00\x00\x02q\nh\x06tQU\x01g(U\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x0bh\x06tQU\x01f(U\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0ch\x06tQus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 1594,
Oid: 8,
Tid: 0x0285cbacbbbbbc00,
PrevRevPos: 0,
TxnPos: 1283,
DataLen: 47,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x03b0*q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1691,
LenPrev: 408,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad02222280,
Status: ' ',
User: []byte("user1.0"),
Description: []byte("step 1.0"),
Extension: []byte("}q\x01(U\tx-cookieEU\x05VAZ3UU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1782,
Oid: 6,
Tid: 0x0285cbad02222280,
PrevRevPos: 289,
TxnPos: 1691,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04e1.0q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1880,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad06d3a0cc,
Status: ' ',
User: []byte("user1.1"),
Description: []byte("step 1.1"),
Extension: []byte("}q\x01(U\tx-cookieNU\x05GSV4IU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1971,
Oid: 8,
Tid: 0x0285cbad06d3a0cc,
PrevRevPos: 1594,
TxnPos: 1880,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04b1.1q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2069,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad0b851f19,
Status: ' ',
User: []byte("user1.2"),
Description: []byte("step 1.2"),
Extension: []byte("}q\x01(U\tx-cookieYU\x05A01OKU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2160,
Oid: 3,
Tid: 0x0285cbad0b851f19,
PrevRevPos: 1184,
TxnPos: 2069,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04g1.2q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2258,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad10369d66,
Status: ' ',
User: []byte("user1.3"),
Description: []byte("step 1.3"),
Extension: []byte("}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (g)U\tx-cookieWU\x051QPNPu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2349,
Oid: 3,
Tid: 0x0285cbad10369d66,
PrevRevPos: 2160,
TxnPos: 2258,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04g1.3q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2447,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad14e81bb3,
Status: ' ',
User: []byte("user1.4"),
Description: []byte("step 1.4"),
Extension: []byte("}q\x01(U\tx-cookieCU\x05J7L05U\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2538,
Oid: 7,
Tid: 0x0285cbad14e81bb3,
PrevRevPos: 928,
TxnPos: 2447,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04c1.4q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2636,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad19999a00,
Status: ' ',
User: []byte("user1.5"),
Description: []byte("step 1.5"),
Extension: []byte("}q\x01(U\tx-cookieAU\x05CM15ZU\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2727,
Oid: 1,
Tid: 0x0285cbad19999a00,
PrevRevPos: 97,
TxnPos: 2636,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04f1.5q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2825,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad1e4b184c,
Status: ' ',
User: []byte("user1.6"),
Description: []byte("step 1.6"),
Extension: []byte("}q\x01(U\tx-cookieIU\x05AH816U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2916,
Oid: 2,
Tid: 0x0285cbad1e4b184c,
PrevRevPos: 673,
TxnPos: 2825,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04d1.6q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3014,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad22fc9699,
Status: ' ',
User: []byte("user1.7"),
Description: []byte("step 1.7"),
Extension: []byte("}q\x01(U\tx-cookieUU\x05BE3WHU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3105,
Oid: 7,
Tid: 0x0285cbad22fc9699,
PrevRevPos: 2538,
TxnPos: 3014,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04c1.7q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3203,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad27ae14e6,
Status: ' ',
User: []byte("user1.8"),
Description: []byte("step 1.8"),
Extension: []byte("}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (c)U\tx-cookieWU\x05HPFAQu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3294,
Oid: 7,
Tid: 0x0285cbad27ae14e6,
PrevRevPos: 3105,
TxnPos: 3203,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04c1.8q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3392,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad2c5f9333,
Status: ' ',
User: []byte("user1.9"),
Description: []byte("step 1.9"),
Extension: []byte("}q\x01(U\tx-cookieQU\x05DZM23U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3483,
Oid: 6,
Tid: 0x0285cbad2c5f9333,
PrevRevPos: 1782,
TxnPos: 3392,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04e1.9q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3581,
LenPrev: 189,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad31111180,
Status: ' ',
User: []byte("user1.10"),
Description: []byte("step 1.10"),
Extension: []byte("}q\x01(U\tx-cookieOU\x05EIGHLU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3674,
Oid: 5,
Tid: 0x0285cbad31111180,
PrevRevPos: 481,
TxnPos: 3581,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05a1.10q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3773,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad35c28fcc,
Status: ' ',
User: []byte("user1.11"),
Description: []byte("step 1.11"),
Extension: []byte("}q\x01(U\tx-cookie2U\x05Z9RFCU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3866,
Oid: 7,
Tid: 0x0285cbad35c28fcc,
PrevRevPos: 3294,
TxnPos: 3773,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05c1.11q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3965,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad3a740e19,
Status: ' ',
User: []byte("user1.12"),
Description: []byte("step 1.12"),
Extension: []byte("}q\x01(U\tx-cookie7U\x05WGO4EU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4058,
Oid: 6,
Tid: 0x0285cbad3a740e19,
PrevRevPos: 3483,
TxnPos: 3965,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05e1.12q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4157,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad3f258c66,
Status: ' ',
User: []byte("user1.13"),
Description: []byte("step 1.13"),
Extension: []byte("}q\x01(U\tx-cookie5U\x05757DJU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4250,
Oid: 3,
Tid: 0x0285cbad3f258c66,
PrevRevPos: 2349,
TxnPos: 4157,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05g1.13q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4349,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad43d70ab3,
Status: ' ',
User: []byte("user1.14"),
Description: []byte("step 1.14"),
Extension: []byte("}q\x01(U\tx-cookieXU\x055EOVHU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4442,
Oid: 3,
Tid: 0x0285cbad43d70ab3,
PrevRevPos: 4250,
TxnPos: 4349,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05g1.14q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4541,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad48888900,
Status: ' ',
User: []byte("user1.15"),
Description: []byte("step 1.15"),
Extension: []byte("}q\x01(U\tx-cookieCU\x05HO7L7U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4634,
Oid: 2,
Tid: 0x0285cbad48888900,
PrevRevPos: 2916,
TxnPos: 4541,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05d1.15q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4733,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad4d3a074c,
Status: ' ',
User: []byte("user1.16"),
Description: []byte("step 1.16"),
Extension: []byte("}q\x01(U\tx-cookieUU\x05T159SU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4826,
Oid: 3,
Tid: 0x0285cbad4d3a074c,
PrevRevPos: 4442,
TxnPos: 4733,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05g1.16q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4925,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad51eb8599,
Status: ' ',
User: []byte("user1.17"),
Description: []byte("step 1.17"),
Extension: []byte("}q\x01(U\tx-cookie8U\x05T23V1U\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5018,
Oid: 1,
Tid: 0x0285cbad51eb8599,
PrevRevPos: 2727,
TxnPos: 4925,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05f1.17q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5117,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad569d03e6,
Status: ' ',
User: []byte("user1.18"),
Description: []byte("step 1.18"),
Extension: []byte("}q\x01(U\tx-cookieYU\x05UB55NU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5210,
Oid: 5,
Tid: 0x0285cbad569d03e6,
PrevRevPos: 3674,
TxnPos: 5117,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05a1.18q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5309,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad5b4e8233,
Status: ' ',
User: []byte("user1.19"),
Description: []byte("step 1.19"),
Extension: []byte("}q\x01(U\tx-cookieZU\x05IKOSRU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5402,
Oid: 3,
Tid: 0x0285cbad5b4e8233,
PrevRevPos: 4826,
TxnPos: 5309,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05g1.19q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5501,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad60000080,
Status: ' ',
User: []byte("user1.20"),
Description: []byte("step 1.20"),
Extension: []byte("}q\x01(U\tx-cookieSU\x057JLTHU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5594,
Oid: 3,
Tid: 0x0285cbad60000080,
PrevRevPos: 5402,
TxnPos: 5501,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05g1.20q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5693,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad64b17ecc,
Status: ' ',
User: []byte("user1.21"),
Description: []byte("step 1.21"),
Extension: []byte("}q\x01(U\tx-cookieIU\x05USN06U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5786,
Oid: 6,
Tid: 0x0285cbad64b17ecc,
PrevRevPos: 4058,
TxnPos: 5693,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05e1.21q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5885,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad6962fd19,
Status: ' ',
User: []byte("user1.22"),
Description: []byte("step 1.22"),
Extension: []byte("}q\x01(U\tx-cookie2U\x05UXAETU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5978,
Oid: 5,
Tid: 0x0285cbad6962fd19,
PrevRevPos: 5210,
TxnPos: 5885,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05a1.22q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6077,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad6e147b66,
Status: ' ',
User: []byte("user1.23"),
Description: []byte("step 1.23"),
Extension: []byte("}q\x01(U\tx-cookieHU\x05AT11FU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6170,
Oid: 5,
Tid: 0x0285cbad6e147b66,
PrevRevPos: 5978,
TxnPos: 6077,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05a1.23q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6269,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad72c5f9b3,
Status: ' ',
User: []byte("user1.24"),
Description: []byte("step 1.24"),
Extension: []byte("}q\x01(U\tx-cookieDU\x05O5ZEMU\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6362,
Oid: 1,
Tid: 0x0285cbad72c5f9b3,
PrevRevPos: 5018,
TxnPos: 6269,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05f1.24q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6461,
LenPrev: 192,
Len: 215,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad77777800,
Status: ' ',
User: []byte("root1.0\nYour\nMagesty "),
Description: []byte("undo 1.0\nmore detailed description\n\nzzz ...\t"),
Extension: []byte("}q\x01(U\tx-cookie3U\x05G51MMU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrW4Ue2Y=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6618,
Oid: 5,
Tid: 0x0285cbad77777800,
PrevRevPos: 6170,
TxnPos: 6461,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x17Z"),
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05a1.22q\x02."),
/* copy from */ 0x0285cbad6962fd19,
},
},
},
{
TxnHeader{
Pos: 6676,
LenPrev: 215,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad7c28f64c,
Status: ' ',
User: []byte("root1.1\nYour\nMagesty "),
Description: []byte("undo 1.1\nmore detailed description\n\nzzz ...\t\t"),
Extension: []byte("}q\x01(U\tx-cookieLU\x05CDRHVU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrXLF+bM=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6834,
Oid: 1,
Tid: 0x0285cbad7c28f64c,
PrevRevPos: 6362,
TxnPos: 6676,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x13\x9a"),
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05f1.17q\x02."),
/* copy from */ 0x0285cbad51eb8599,
},
},
},
{
TxnHeader{
Pos: 6892,
LenPrev: 216,
Len: 207,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad80da7499,
Status: ' ',
User: []byte("user"),
Description: []byte("cyclic reference"),
Extension: []byte("}q\x01(U\tx-cookie4U\x05C4OMSU\x0bx-generatorq\x02U\x10zodb/py2 (cycle)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6992,
Oid: 6,
Tid: 0x0285cbad80da7499,
PrevRevPos: 5786,
TxnPos: 6892,
DataLen: 57,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.(U\x08\x00\x00\x00\x00\x00\x00\x00\x06q\x02h\x01tQ."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 7099,
LenPrev: 207,
Len: 408,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad858bf2e6,
Status: ' ',
User: []byte(""),
Description: []byte("predelete 6"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7133,
Oid: 0,
Tid: 0x0285cbad858bf2e6,
PrevRevPos: 1317,
TxnPos: 7099,
DataLen: 235,
},
[]byte("cpersistent.mapping\nPersistentMapping\nq\x01.}q\x02U\x04dataq\x03}q\x04(U\x01a(U\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x05czodbtools.test.gen_testdata\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\x08q\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\x02q\nh\x06tQU\x01g(U\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x0bh\x06tQU\x01f(U\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0ch\x06tQus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 7410,
Oid: 9,
Tid: 0x0285cbad858bf2e6,
PrevRevPos: 0,
TxnPos: 7099,
DataLen: 47,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x03e1*q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 7507,
LenPrev: 408,
Len: 246,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad8a3d7133,
Status: ' ',
User: []byte("root1\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
Description: []byte("delete 1\nalpha beta gamma'delta\"lambda\n\nqqq ..."),
Extension: []byte("}q\x01(U\tx-cookieSU\x05XVOTIU\x0bx-generatorq\x02U\x13zodb/py2 (delete 6)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7695,
Oid: 6,
Tid: 0x0285cbad8a3d7133,
PrevRevPos: 6992,
TxnPos: 7507,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x00\x00"),
/* deleted */ nil,
/* deleted */ 0,
},
},
},
{
TxnHeader{
Pos: 7753,
LenPrev: 246,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadc740db19,
Status: ' ',
User: []byte("user2.0"),
Description: []byte("step 2.0"),
Extension: []byte("}q\x01(U\tx-cookie1U\x05GRGS2U\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7844,
Oid: 1,
Tid: 0x0285cbadc740db19,
PrevRevPos: 6834,
TxnPos: 7753,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04f2.0q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 7942,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadcbf25966,
Status: ' ',
User: []byte("user2.1"),
Description: []byte("step 2.1"),
Extension: []byte("}q\x01(U\tx-cookie3U\x05WYNK7U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8033,
Oid: 2,
Tid: 0x0285cbadcbf25966,
PrevRevPos: 4634,
TxnPos: 7942,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04d2.1q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8131,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadd0a3d7b3,
Status: ' ',
User: []byte("user2.2"),
Description: []byte("step 2.2"),
Extension: []byte("}q\x01(U\tx-cookieFU\x05SPFA4U\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8222,
Oid: 3,
Tid: 0x0285cbadd0a3d7b3,
PrevRevPos: 5594,
TxnPos: 8131,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04g2.2q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8320,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadd5555600,
Status: ' ',
User: []byte("user2.3"),
Description: []byte("step 2.3"),
Extension: []byte("}q\x01(U\tx-cookie1U\x05XE3RQU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8411,
Oid: 3,
Tid: 0x0285cbadd5555600,
PrevRevPos: 8222,
TxnPos: 8320,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04g2.3q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8509,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadda06d44c,
Status: ' ',
User: []byte("user2.4"),
Description: []byte("step 2.4"),
Extension: []byte("}q\x01(U\tx-cookie2U\x051XYQ2U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8600,
Oid: 9,
Tid: 0x0285cbadda06d44c,
PrevRevPos: 7410,
TxnPos: 8509,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04e2.4q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8698,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbaddeb85299,
Status: ' ',
User: []byte("user2.5"),
Description: []byte("step 2.5"),
Extension: []byte("}q\x01(U\tx-cookieWU\x05C0ZT2U\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8789,
Oid: 5,
Tid: 0x0285cbaddeb85299,
PrevRevPos: 6618,
TxnPos: 8698,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04a2.5q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8887,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbade369d0e6,
Status: ' ',
User: []byte("user2.6"),
Description: []byte("step 2.6"),
Extension: []byte("}q\x01(U\tx-cookie0U\x05OX40DU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8978,
Oid: 8,
Tid: 0x0285cbade369d0e6,
PrevRevPos: 1971,
TxnPos: 8887,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04b2.6q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9076,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbade81b4f33,
Status: ' ',
User: []byte("user2.7"),
Description: []byte("step 2.7"),
Extension: []byte("}q\x01(U\tx-cookieYU\x0564CY4U\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9167,
Oid: 3,
Tid: 0x0285cbade81b4f33,
PrevRevPos: 8411,
TxnPos: 9076,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04g2.7q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9265,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadeccccd80,
Status: ' ',
User: []byte("user2.8"),
Description: []byte("step 2.8"),
Extension: []byte("}q\x01(U\tx-cookieZU\x05AXYM6U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9356,
Oid: 2,
Tid: 0x0285cbadeccccd80,
PrevRevPos: 8033,
TxnPos: 9265,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04d2.8q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9454,
LenPrev: 189,
Len: 189,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadf17e4bcc,
Status: ' ',
User: []byte("user2.9"),
Description: []byte("step 2.9"),
Extension: []byte("}q\x01(U\tx-cookie8U\x055WYSBU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9545,
Oid: 9,
Tid: 0x0285cbadf17e4bcc,
PrevRevPos: 8600,
TxnPos: 9454,
DataLen: 48,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x04e2.9q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9643,
LenPrev: 189,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadf62fca19,
Status: ' ',
User: []byte("user2.10"),
Description: []byte("step 2.10"),
Extension: []byte("}q\x01(U\tx-cookie2U\x05F1402U\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9736,
Oid: 7,
Tid: 0x0285cbadf62fca19,
PrevRevPos: 3866,
TxnPos: 9643,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05c2.10q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9835,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadfae14866,
Status: ' ',
User: []byte("user2.11"),
Description: []byte("step 2.11"),
Extension: []byte("}q\x01(U\tx-cookieGU\x05Q5FM3U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9928,
Oid: 2,
Tid: 0x0285cbadfae14866,
PrevRevPos: 9356,
TxnPos: 9835,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05d2.11q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10027,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadff92c6b3,
Status: ' ',
User: []byte("user2.12"),
Description: []byte("step 2.12"),
Extension: []byte("}q\x01(U\tx-cookie7U\x052EFQBU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10120,
Oid: 3,
Tid: 0x0285cbadff92c6b3,
PrevRevPos: 9167,
TxnPos: 10027,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05g2.12q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10219,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae04444500,
Status: ' ',
User: []byte("user2.13"),
Description: []byte("step 2.13"),
Extension: []byte("}q\x01(U\tx-cookieSU\x05YS9KOU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10312,
Oid: 2,
Tid: 0x0285cbae04444500,
PrevRevPos: 9928,
TxnPos: 10219,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05d2.13q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10411,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae08f5c34c,
Status: ' ',
User: []byte("user2.14"),
Description: []byte("step 2.14"),
Extension: []byte("}q\x01(U\tx-cookie5U\x05RF8GXU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10504,
Oid: 7,
Tid: 0x0285cbae08f5c34c,
PrevRevPos: 9736,
TxnPos: 10411,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05c2.14q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10603,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae0da74199,
Status: ' ',
User: []byte("user2.15"),
Description: []byte("step 2.15"),
Extension: []byte("}q\x01(U\tx-cookie0U\x05H70PMU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10696,
Oid: 9,
Tid: 0x0285cbae0da74199,
PrevRevPos: 9545,
TxnPos: 10603,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05e2.15q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10795,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae1258bfe6,
Status: ' ',
User: []byte("user2.16"),
Description: []byte("step 2.16"),
Extension: []byte("}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (f)U\tx-cookieOU\x05MJ5PGu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10888,
Oid: 1,
Tid: 0x0285cbae1258bfe6,
PrevRevPos: 7844,
TxnPos: 10795,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05f2.16q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10987,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae170a3e33,
Status: ' ',
User: []byte("user2.17"),
Description: []byte("step 2.17"),
Extension: []byte("}q\x01(U\tx-cookie1U\x05RAZ4VU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11080,
Oid: 8,
Tid: 0x0285cbae170a3e33,
PrevRevPos: 8978,
TxnPos: 10987,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05b2.17q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11179,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae1bbbbc80,
Status: ' ',
User: []byte("user2.18"),
Description: []byte("step 2.18"),
Extension: []byte("}q\x01(U\tx-cookieRU\x05KE39AU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11272,
Oid: 2,
Tid: 0x0285cbae1bbbbc80,
PrevRevPos: 10312,
TxnPos: 11179,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05d2.18q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11371,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae206d3acc,
Status: ' ',
User: []byte("user2.19"),
Description: []byte("step 2.19"),
Extension: []byte("}q\x01(U\tx-cookie8U\x051SBCJU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11464,
Oid: 9,
Tid: 0x0285cbae206d3acc,
PrevRevPos: 10696,
TxnPos: 11371,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05e2.19q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11563,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae251eb919,
Status: ' ',
User: []byte("user2.20"),
Description: []byte("step 2.20"),
Extension: []byte("}q\x01(U\tx-cookieJU\x05EAIKMU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11656,
Oid: 8,
Tid: 0x0285cbae251eb919,
PrevRevPos: 11080,
TxnPos: 11563,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05b2.20q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11755,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae29d03766,
Status: ' ',
User: []byte("user2.21"),
Description: []byte("step 2.21"),
Extension: []byte("}q\x01(U\tx-cookieMU\x05ESSADU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11848,
Oid: 9,
Tid: 0x0285cbae29d03766,
PrevRevPos: 11464,
TxnPos: 11755,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05e2.21q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11947,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae2e81b5b3,
Status: ' ',
User: []byte("user2.22"),
Description: []byte("step 2.22"),
Extension: []byte("}q\x01(U\tx-cookieHU\x05DL5OCU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12040,
Oid: 9,
Tid: 0x0285cbae2e81b5b3,
PrevRevPos: 11848,
TxnPos: 11947,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05e2.22q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12139,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae33333400,
Status: ' ',
User: []byte("user2.23"),
Description: []byte("step 2.23"),
Extension: []byte("}q\x01(U\tx-cookieQU\x05PBN2AU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12232,
Oid: 2,
Tid: 0x0285cbae33333400,
PrevRevPos: 11272,
TxnPos: 12139,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05d2.23q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12331,
LenPrev: 192,
Len: 192,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae37e4b24c,
Status: ' ',
User: []byte("user2.24"),
Description: []byte("step 2.24"),
Extension: []byte("}q\x01(U\tx-cookie2U\x050GV0IU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12424,
Oid: 9,
Tid: 0x0285cbae37e4b24c,
PrevRevPos: 12040,
TxnPos: 12331,
DataLen: 49,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05e2.24q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12523,
LenPrev: 192,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae3c963099,
Status: ' ',
User: []byte("root2.0\nYour\nMagesty "),
Description: []byte("undo 2.0\nmore detailed description\n\nzzz ...\t\t"),
Extension: []byte("}q\x01(U\tx-cookieMU\x05OQO01U\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrjMzNAA=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12681,
Oid: 2,
Tid: 0x0285cbae3c963099,
PrevRevPos: 12232,
TxnPos: 12523,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00,\x08"),
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05d2.18q\x02."),
/* copy from */ 0x0285cbae1bbbbc80,
},
},
},
{
TxnHeader{
Pos: 12739,
LenPrev: 216,
Len: 217,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae4147aee6,
Status: ' ',
User: []byte("root2.1\nYour\nMagesty "),
Description: []byte("undo 2.1\nmore detailed description\n\nzzz ...\t\t\t"),
Extension: []byte("}q\x01(U\tx-cookieAU\x05VPQ8RU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrjfkskw=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12898,
Oid: 9,
Tid: 0x0285cbae4147aee6,
PrevRevPos: 12424,
TxnPos: 12739,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00/\x08"),
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x05e2.22q\x02."),
/* copy from */ 0x0285cbae2e81b5b3,
},
},
},
{
TxnHeader{
Pos: 12956,
LenPrev: 217,
Len: 207,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae45f92d33,
Status: ' ',
User: []byte("user"),
Description: []byte("cyclic reference"),
Extension: []byte("}q\x01(U\x0bx-generatorq\x02U\x10zodb/py2 (cycle)U\tx-cookieGU\x05B6FWFu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13056,
Oid: 2,
Tid: 0x0285cbae45f92d33,
PrevRevPos: 12681,
TxnPos: 12956,
DataLen: 57,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.(U\x08\x00\x00\x00\x00\x00\x00\x00\x02q\x02h\x01tQ."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 13163,
LenPrev: 207,
Len: 408,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae4aaaab80,
Status: ' ',
User: []byte(""),
Description: []byte("predelete 2"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13197,
Oid: 0,
Tid: 0x0285cbae4aaaab80,
PrevRevPos: 7133,
TxnPos: 13163,
DataLen: 235,
},
[]byte("cpersistent.mapping\nPersistentMapping\nq\x01.}q\x02U\x04dataq\x03}q\x04(U\x01a(U\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x05czodbtools.test.gen_testdata\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\x08q\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\nq\nh\x06tQU\x01g(U\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x0bh\x06tQU\x01f(U\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0ch\x06tQus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 13474,
Oid: 10,
Tid: 0x0285cbae4aaaab80,
PrevRevPos: 0,
TxnPos: 13163,
DataLen: 47,
},
[]byte("czodbtools.test.gen_testdata\nObject\nq\x01.U\x03d2*q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 13571,
LenPrev: 408,
Len: 246,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae4f5c29cc,
Status: ' ',
User: []byte("root2\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
Description: []byte("delete 2\nalpha beta gamma'delta\"lambda\n\nqqq ..."),
Extension: []byte("}q\x01(U\tx-cookieTU\x054WFSDU\x0bx-generatorq\x02U\x13zodb/py2 (delete 2)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13759,
Oid: 2,
Tid: 0x0285cbae4f5c29cc,
PrevRevPos: 13056,
TxnPos: 13571,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x00\x00"),
/* deleted */ nil,
/* deleted */ 0,
},
},
},
}
ztestdataReg.Register("py2_pickle1", "testdata/py2_pickle1", &_TestDataOK{_1fs_indexTopPos, _1fs_indexEntryv, _1fs_dbEntryv})
}
// Code generated by py/gen-testdata; DO NOT EDIT.
package fs1
import "lab.nexedi.com/kirr/neo/go/zodb"
func init() {
const _1fs_indexTopPos = 14178
var _1fs_indexEntryv = []indexEntry{
{ 0, 13555},
{ 1, 11185},
{ 2, 14120},
{ 3, 10393},
{ 5, 9020},
{ 6, 7894},
{ 7, 10789},
{ 8, 11977},
{ 9, 13251},
{ 10, 13829},
}
var _1fs_dbEntryv = []dbEntry{
{
TxnHeader{
Pos: 4,
LenPrev: 0,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac70a3d733,
Status: 'p',
User: []byte("user0.12"),
Description: []byte("step 0.12"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie8U\x052MHMUU\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 99,
Oid: 1,
Tid: 0x0285cbac70a3d733,
PrevRevPos: 0,
TxnPos: 4,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05f0.12q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 202,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac7eb85219,
Status: 'p',
User: []byte("user0.15"),
Description: []byte("step 0.15"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieYU\x05EDZ10U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 297,
Oid: 6,
Tid: 0x0285cbac7eb85219,
PrevRevPos: 0,
TxnPos: 202,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e0.15q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 400,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac917e4b4c,
Status: 'p',
User: []byte("user0.19"),
Description: []byte("step 0.19"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieFU\x05OUC9LU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 495,
Oid: 5,
Tid: 0x0285cbac917e4b4c,
PrevRevPos: 0,
TxnPos: 400,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a0.19q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 598,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac9ae147e6,
Status: 'p',
User: []byte("user0.21"),
Description: []byte("step 0.21"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie8U\x050QC1AU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 693,
Oid: 2,
Tid: 0x0285cbac9ae147e6,
PrevRevPos: 0,
TxnPos: 598,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05d0.21q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 796,
LenPrev: 198,
Len: 261,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacada74119,
Status: 'p',
User: []byte("root0.0\nYour\nMagesty "),
Description: []byte("undo 0.0\nmore detailed description\n\nzzz ..."),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieKU\x05G95IHU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrKRERIA=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 954,
Oid: 7,
Tid: 0x0285cbacada74119,
PrevRevPos: 0,
TxnPos: 796,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05c0.22q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1057,
LenPrev: 261,
Len: 262,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacb258bf66,
Status: 'p',
User: []byte("root0.1\nYour\nMagesty "),
Description: []byte("undo 0.1\nmore detailed description\n\nzzz ...\t"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieVU\x05VHBGTU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrKj1wsw=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1216,
Oid: 3,
Tid: 0x0285cbacb258bf66,
PrevRevPos: 0,
TxnPos: 1057,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g0.11q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1319,
LenPrev: 262,
Len: 409,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacbbbbbc00,
Status: 'p',
User: []byte(""),
Description: []byte("predelete 4"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1353,
Oid: 0,
Tid: 0x0285cbacbbbbbc00,
PrevRevPos: 0,
TxnPos: 1319,
DataLen: 232,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04(U\x01aU\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86QU\x01cU\x08\x00\x00\x00\x00\x00\x00\x00\x07q\x07h\x06\x86QU\x01bU\x08\x00\x00\x00\x00\x00\x00\x00\x08q\x08h\x06\x86QU\x01eU\x08\x00\x00\x00\x00\x00\x00\x00\x06q\th\x06\x86QU\x01dU\x08\x00\x00\x00\x00\x00\x00\x00\x02q\nh\x06\x86QU\x01gU\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x0bh\x06\x86QU\x01fU\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0ch\x06\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 1627,
Oid: 8,
Tid: 0x0285cbacbbbbbc00,
PrevRevPos: 0,
TxnPos: 1319,
DataLen: 51,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x03b0*q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1728,
LenPrev: 409,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad02222280,
Status: ' ',
User: []byte("user1.0"),
Description: []byte("step 1.0"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieEU\x05VAZ3UU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1821,
Oid: 6,
Tid: 0x0285cbad02222280,
PrevRevPos: 297,
TxnPos: 1728,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04e1.0q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1923,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad06d3a0cc,
Status: ' ',
User: []byte("user1.1"),
Description: []byte("step 1.1"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieNU\x05GSV4IU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2016,
Oid: 8,
Tid: 0x0285cbad06d3a0cc,
PrevRevPos: 1627,
TxnPos: 1923,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04b1.1q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2118,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad0b851f19,
Status: ' ',
User: []byte("user1.2"),
Description: []byte("step 1.2"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieYU\x05A01OKU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2211,
Oid: 3,
Tid: 0x0285cbad0b851f19,
PrevRevPos: 1216,
TxnPos: 2118,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04g1.2q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2313,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad10369d66,
Status: ' ',
User: []byte("user1.3"),
Description: []byte("step 1.3"),
Extension: []byte("\x80\x02}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (g)U\tx-cookieWU\x051QPNPu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2406,
Oid: 3,
Tid: 0x0285cbad10369d66,
PrevRevPos: 2211,
TxnPos: 2313,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04g1.3q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2508,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad14e81bb3,
Status: ' ',
User: []byte("user1.4"),
Description: []byte("step 1.4"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieCU\x05J7L05U\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2601,
Oid: 7,
Tid: 0x0285cbad14e81bb3,
PrevRevPos: 954,
TxnPos: 2508,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04c1.4q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2703,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad19999a00,
Status: ' ',
User: []byte("user1.5"),
Description: []byte("step 1.5"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieAU\x05CM15ZU\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2796,
Oid: 1,
Tid: 0x0285cbad19999a00,
PrevRevPos: 99,
TxnPos: 2703,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04f1.5q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2898,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad1e4b184c,
Status: ' ',
User: []byte("user1.6"),
Description: []byte("step 1.6"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieIU\x05AH816U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2991,
Oid: 2,
Tid: 0x0285cbad1e4b184c,
PrevRevPos: 693,
TxnPos: 2898,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04d1.6q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3093,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad22fc9699,
Status: ' ',
User: []byte("user1.7"),
Description: []byte("step 1.7"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieUU\x05BE3WHU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3186,
Oid: 7,
Tid: 0x0285cbad22fc9699,
PrevRevPos: 2601,
TxnPos: 3093,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04c1.7q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3288,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad27ae14e6,
Status: ' ',
User: []byte("user1.8"),
Description: []byte("step 1.8"),
Extension: []byte("\x80\x02}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (c)U\tx-cookieWU\x05HPFAQu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3381,
Oid: 7,
Tid: 0x0285cbad27ae14e6,
PrevRevPos: 3186,
TxnPos: 3288,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04c1.8q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3483,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad2c5f9333,
Status: ' ',
User: []byte("user1.9"),
Description: []byte("step 1.9"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieQU\x05DZM23U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3576,
Oid: 6,
Tid: 0x0285cbad2c5f9333,
PrevRevPos: 1821,
TxnPos: 3483,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04e1.9q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3678,
LenPrev: 195,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad31111180,
Status: ' ',
User: []byte("user1.10"),
Description: []byte("step 1.10"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieOU\x05EIGHLU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3773,
Oid: 5,
Tid: 0x0285cbad31111180,
PrevRevPos: 495,
TxnPos: 3678,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a1.10q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3876,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad35c28fcc,
Status: ' ',
User: []byte("user1.11"),
Description: []byte("step 1.11"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie2U\x05Z9RFCU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3971,
Oid: 7,
Tid: 0x0285cbad35c28fcc,
PrevRevPos: 3381,
TxnPos: 3876,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05c1.11q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4074,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad3a740e19,
Status: ' ',
User: []byte("user1.12"),
Description: []byte("step 1.12"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie7U\x05WGO4EU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4169,
Oid: 6,
Tid: 0x0285cbad3a740e19,
PrevRevPos: 3576,
TxnPos: 4074,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e1.12q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4272,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad3f258c66,
Status: ' ',
User: []byte("user1.13"),
Description: []byte("step 1.13"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie5U\x05757DJU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4367,
Oid: 3,
Tid: 0x0285cbad3f258c66,
PrevRevPos: 2406,
TxnPos: 4272,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g1.13q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4470,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad43d70ab3,
Status: ' ',
User: []byte("user1.14"),
Description: []byte("step 1.14"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieXU\x055EOVHU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4565,
Oid: 3,
Tid: 0x0285cbad43d70ab3,
PrevRevPos: 4367,
TxnPos: 4470,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g1.14q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4668,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad48888900,
Status: ' ',
User: []byte("user1.15"),
Description: []byte("step 1.15"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieCU\x05HO7L7U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4763,
Oid: 2,
Tid: 0x0285cbad48888900,
PrevRevPos: 2991,
TxnPos: 4668,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05d1.15q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4866,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad4d3a074c,
Status: ' ',
User: []byte("user1.16"),
Description: []byte("step 1.16"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieUU\x05T159SU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4961,
Oid: 3,
Tid: 0x0285cbad4d3a074c,
PrevRevPos: 4565,
TxnPos: 4866,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g1.16q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5064,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad51eb8599,
Status: ' ',
User: []byte("user1.17"),
Description: []byte("step 1.17"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie8U\x05T23V1U\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5159,
Oid: 1,
Tid: 0x0285cbad51eb8599,
PrevRevPos: 2796,
TxnPos: 5064,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05f1.17q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5262,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad569d03e6,
Status: ' ',
User: []byte("user1.18"),
Description: []byte("step 1.18"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieYU\x05UB55NU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5357,
Oid: 5,
Tid: 0x0285cbad569d03e6,
PrevRevPos: 3773,
TxnPos: 5262,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a1.18q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5460,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad5b4e8233,
Status: ' ',
User: []byte("user1.19"),
Description: []byte("step 1.19"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieZU\x05IKOSRU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5555,
Oid: 3,
Tid: 0x0285cbad5b4e8233,
PrevRevPos: 4961,
TxnPos: 5460,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g1.19q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5658,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad60000080,
Status: ' ',
User: []byte("user1.20"),
Description: []byte("step 1.20"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieSU\x057JLTHU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5753,
Oid: 3,
Tid: 0x0285cbad60000080,
PrevRevPos: 5555,
TxnPos: 5658,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g1.20q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5856,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad64b17ecc,
Status: ' ',
User: []byte("user1.21"),
Description: []byte("step 1.21"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieIU\x05USN06U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5951,
Oid: 6,
Tid: 0x0285cbad64b17ecc,
PrevRevPos: 4169,
TxnPos: 5856,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e1.21q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6054,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad6962fd19,
Status: ' ',
User: []byte("user1.22"),
Description: []byte("step 1.22"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie2U\x05UXAETU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6149,
Oid: 5,
Tid: 0x0285cbad6962fd19,
PrevRevPos: 5357,
TxnPos: 6054,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a1.22q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6252,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad6e147b66,
Status: ' ',
User: []byte("user1.23"),
Description: []byte("step 1.23"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieHU\x05AT11FU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6347,
Oid: 5,
Tid: 0x0285cbad6e147b66,
PrevRevPos: 6149,
TxnPos: 6252,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a1.23q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6450,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad72c5f9b3,
Status: ' ',
User: []byte("user1.24"),
Description: []byte("step 1.24"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieDU\x05O5ZEMU\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6545,
Oid: 1,
Tid: 0x0285cbad72c5f9b3,
PrevRevPos: 5159,
TxnPos: 6450,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05f1.24q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6648,
LenPrev: 198,
Len: 217,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad77777800,
Status: ' ',
User: []byte("root1.0\nYour\nMagesty "),
Description: []byte("undo 1.0\nmore detailed description\n\nzzz ...\t"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie3U\x05G51MMU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrW4Ue2Y=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6807,
Oid: 5,
Tid: 0x0285cbad77777800,
PrevRevPos: 6347,
TxnPos: 6648,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x18\x05"),
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a1.22q\x02."),
/* copy from */ 0x0285cbad6962fd19,
},
},
},
{
TxnHeader{
Pos: 6865,
LenPrev: 217,
Len: 218,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad7c28f64c,
Status: ' ',
User: []byte("root1.1\nYour\nMagesty "),
Description: []byte("undo 1.1\nmore detailed description\n\nzzz ...\t\t"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieLU\x05CDRHVU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrXLF+bM=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7025,
Oid: 1,
Tid: 0x0285cbad7c28f64c,
PrevRevPos: 6545,
TxnPos: 6865,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x14'"),
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05f1.17q\x02."),
/* copy from */ 0x0285cbad51eb8599,
},
},
},
{
TxnHeader{
Pos: 7083,
LenPrev: 218,
Len: 212,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad80da7499,
Status: ' ',
User: []byte("user"),
Description: []byte("cyclic reference"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie4U\x05C4OMSU\x0bx-generatorq\x02U\x10zodb/py2 (cycle)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7185,
Oid: 6,
Tid: 0x0285cbad80da7499,
PrevRevPos: 5951,
TxnPos: 7083,
DataLen: 60,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x08\x00\x00\x00\x00\x00\x00\x00\x06q\x02h\x01\x86Q."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 7295,
LenPrev: 212,
Len: 409,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad858bf2e6,
Status: ' ',
User: []byte(""),
Description: []byte("predelete 6"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7329,
Oid: 0,
Tid: 0x0285cbad858bf2e6,
PrevRevPos: 1353,
TxnPos: 7295,
DataLen: 232,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04(U\x01aU\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86QU\x01cU\x08\x00\x00\x00\x00\x00\x00\x00\x07q\x07h\x06\x86QU\x01bU\x08\x00\x00\x00\x00\x00\x00\x00\x08q\x08h\x06\x86QU\x01eU\x08\x00\x00\x00\x00\x00\x00\x00\tq\th\x06\x86QU\x01dU\x08\x00\x00\x00\x00\x00\x00\x00\x02q\nh\x06\x86QU\x01gU\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x0bh\x06\x86QU\x01fU\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0ch\x06\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 7603,
Oid: 9,
Tid: 0x0285cbad858bf2e6,
PrevRevPos: 0,
TxnPos: 7295,
DataLen: 51,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x03e1*q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 7704,
LenPrev: 409,
Len: 248,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad8a3d7133,
Status: ' ',
User: []byte("root1\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
Description: []byte("delete 1\nalpha beta gamma'delta\"lambda\n\nqqq ..."),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieSU\x05XVOTIU\x0bx-generatorq\x02U\x13zodb/py2 (delete 6)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7894,
Oid: 6,
Tid: 0x0285cbad8a3d7133,
PrevRevPos: 7185,
TxnPos: 7704,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x00\x00"),
/* deleted */ nil,
/* deleted */ 0,
},
},
},
{
TxnHeader{
Pos: 7952,
LenPrev: 248,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadc740db19,
Status: ' ',
User: []byte("user2.0"),
Description: []byte("step 2.0"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie1U\x05GRGS2U\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8045,
Oid: 1,
Tid: 0x0285cbadc740db19,
PrevRevPos: 7025,
TxnPos: 7952,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04f2.0q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8147,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadcbf25966,
Status: ' ',
User: []byte("user2.1"),
Description: []byte("step 2.1"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie3U\x05WYNK7U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8240,
Oid: 2,
Tid: 0x0285cbadcbf25966,
PrevRevPos: 4763,
TxnPos: 8147,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04d2.1q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8342,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadd0a3d7b3,
Status: ' ',
User: []byte("user2.2"),
Description: []byte("step 2.2"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieFU\x05SPFA4U\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8435,
Oid: 3,
Tid: 0x0285cbadd0a3d7b3,
PrevRevPos: 5753,
TxnPos: 8342,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04g2.2q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8537,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadd5555600,
Status: ' ',
User: []byte("user2.3"),
Description: []byte("step 2.3"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie1U\x05XE3RQU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8630,
Oid: 3,
Tid: 0x0285cbadd5555600,
PrevRevPos: 8435,
TxnPos: 8537,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04g2.3q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8732,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadda06d44c,
Status: ' ',
User: []byte("user2.4"),
Description: []byte("step 2.4"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie2U\x051XYQ2U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8825,
Oid: 9,
Tid: 0x0285cbadda06d44c,
PrevRevPos: 7603,
TxnPos: 8732,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04e2.4q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8927,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbaddeb85299,
Status: ' ',
User: []byte("user2.5"),
Description: []byte("step 2.5"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieWU\x05C0ZT2U\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9020,
Oid: 5,
Tid: 0x0285cbaddeb85299,
PrevRevPos: 6807,
TxnPos: 8927,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04a2.5q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9122,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbade369d0e6,
Status: ' ',
User: []byte("user2.6"),
Description: []byte("step 2.6"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie0U\x05OX40DU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9215,
Oid: 8,
Tid: 0x0285cbade369d0e6,
PrevRevPos: 2016,
TxnPos: 9122,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04b2.6q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9317,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbade81b4f33,
Status: ' ',
User: []byte("user2.7"),
Description: []byte("step 2.7"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieYU\x0564CY4U\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9410,
Oid: 3,
Tid: 0x0285cbade81b4f33,
PrevRevPos: 8630,
TxnPos: 9317,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04g2.7q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9512,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadeccccd80,
Status: ' ',
User: []byte("user2.8"),
Description: []byte("step 2.8"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieZU\x05AXYM6U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9605,
Oid: 2,
Tid: 0x0285cbadeccccd80,
PrevRevPos: 8240,
TxnPos: 9512,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04d2.8q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9707,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadf17e4bcc,
Status: ' ',
User: []byte("user2.9"),
Description: []byte("step 2.9"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie8U\x055WYSBU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9800,
Oid: 9,
Tid: 0x0285cbadf17e4bcc,
PrevRevPos: 8825,
TxnPos: 9707,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04e2.9q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9902,
LenPrev: 195,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadf62fca19,
Status: ' ',
User: []byte("user2.10"),
Description: []byte("step 2.10"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie2U\x05F1402U\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9997,
Oid: 7,
Tid: 0x0285cbadf62fca19,
PrevRevPos: 3971,
TxnPos: 9902,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05c2.10q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10100,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadfae14866,
Status: ' ',
User: []byte("user2.11"),
Description: []byte("step 2.11"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieGU\x05Q5FM3U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10195,
Oid: 2,
Tid: 0x0285cbadfae14866,
PrevRevPos: 9605,
TxnPos: 10100,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05d2.11q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10298,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadff92c6b3,
Status: ' ',
User: []byte("user2.12"),
Description: []byte("step 2.12"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie7U\x052EFQBU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10393,
Oid: 3,
Tid: 0x0285cbadff92c6b3,
PrevRevPos: 9410,
TxnPos: 10298,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g2.12q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10496,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae04444500,
Status: ' ',
User: []byte("user2.13"),
Description: []byte("step 2.13"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieSU\x05YS9KOU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10591,
Oid: 2,
Tid: 0x0285cbae04444500,
PrevRevPos: 10195,
TxnPos: 10496,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05d2.13q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10694,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae08f5c34c,
Status: ' ',
User: []byte("user2.14"),
Description: []byte("step 2.14"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie5U\x05RF8GXU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10789,
Oid: 7,
Tid: 0x0285cbae08f5c34c,
PrevRevPos: 9997,
TxnPos: 10694,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05c2.14q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10892,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae0da74199,
Status: ' ',
User: []byte("user2.15"),
Description: []byte("step 2.15"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie0U\x05H70PMU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10987,
Oid: 9,
Tid: 0x0285cbae0da74199,
PrevRevPos: 9800,
TxnPos: 10892,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e2.15q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11090,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae1258bfe6,
Status: ' ',
User: []byte("user2.16"),
Description: []byte("step 2.16"),
Extension: []byte("\x80\x02}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (f)U\tx-cookieOU\x05MJ5PGu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11185,
Oid: 1,
Tid: 0x0285cbae1258bfe6,
PrevRevPos: 8045,
TxnPos: 11090,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05f2.16q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11288,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae170a3e33,
Status: ' ',
User: []byte("user2.17"),
Description: []byte("step 2.17"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie1U\x05RAZ4VU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11383,
Oid: 8,
Tid: 0x0285cbae170a3e33,
PrevRevPos: 9215,
TxnPos: 11288,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05b2.17q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11486,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae1bbbbc80,
Status: ' ',
User: []byte("user2.18"),
Description: []byte("step 2.18"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieRU\x05KE39AU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11581,
Oid: 2,
Tid: 0x0285cbae1bbbbc80,
PrevRevPos: 10591,
TxnPos: 11486,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05d2.18q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11684,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae206d3acc,
Status: ' ',
User: []byte("user2.19"),
Description: []byte("step 2.19"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie8U\x051SBCJU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11779,
Oid: 9,
Tid: 0x0285cbae206d3acc,
PrevRevPos: 10987,
TxnPos: 11684,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e2.19q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11882,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae251eb919,
Status: ' ',
User: []byte("user2.20"),
Description: []byte("step 2.20"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieJU\x05EAIKMU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11977,
Oid: 8,
Tid: 0x0285cbae251eb919,
PrevRevPos: 11383,
TxnPos: 11882,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05b2.20q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12080,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae29d03766,
Status: ' ',
User: []byte("user2.21"),
Description: []byte("step 2.21"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieMU\x05ESSADU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12175,
Oid: 9,
Tid: 0x0285cbae29d03766,
PrevRevPos: 11779,
TxnPos: 12080,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e2.21q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12278,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae2e81b5b3,
Status: ' ',
User: []byte("user2.22"),
Description: []byte("step 2.22"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieHU\x05DL5OCU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12373,
Oid: 9,
Tid: 0x0285cbae2e81b5b3,
PrevRevPos: 12175,
TxnPos: 12278,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e2.22q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12476,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae33333400,
Status: ' ',
User: []byte("user2.23"),
Description: []byte("step 2.23"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieQU\x05PBN2AU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12571,
Oid: 2,
Tid: 0x0285cbae33333400,
PrevRevPos: 11581,
TxnPos: 12476,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05d2.23q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12674,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae37e4b24c,
Status: ' ',
User: []byte("user2.24"),
Description: []byte("step 2.24"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie2U\x050GV0IU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12769,
Oid: 9,
Tid: 0x0285cbae37e4b24c,
PrevRevPos: 12373,
TxnPos: 12674,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e2.24q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12872,
LenPrev: 198,
Len: 218,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae3c963099,
Status: ' ',
User: []byte("root2.0\nYour\nMagesty "),
Description: []byte("undo 2.0\nmore detailed description\n\nzzz ...\t\t"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieMU\x05OQO01U\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrjMzNAA=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13032,
Oid: 2,
Tid: 0x0285cbae3c963099,
PrevRevPos: 12571,
TxnPos: 12872,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00-="),
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05d2.18q\x02."),
/* copy from */ 0x0285cbae1bbbbc80,
},
},
},
{
TxnHeader{
Pos: 13090,
LenPrev: 218,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae4147aee6,
Status: ' ',
User: []byte("root2.1\nYour\nMagesty "),
Description: []byte("undo 2.1\nmore detailed description\n\nzzz ...\t\t\t"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieAU\x05VPQ8RU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrjfkskw=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13251,
Oid: 9,
Tid: 0x0285cbae4147aee6,
PrevRevPos: 12769,
TxnPos: 13090,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x000U"),
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e2.22q\x02."),
/* copy from */ 0x0285cbae2e81b5b3,
},
},
},
{
TxnHeader{
Pos: 13309,
LenPrev: 219,
Len: 212,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae45f92d33,
Status: ' ',
User: []byte("user"),
Description: []byte("cyclic reference"),
Extension: []byte("\x80\x02}q\x01(U\x0bx-generatorq\x02U\x10zodb/py2 (cycle)U\tx-cookieGU\x05B6FWFu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13411,
Oid: 2,
Tid: 0x0285cbae45f92d33,
PrevRevPos: 13032,
TxnPos: 13309,
DataLen: 60,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x08\x00\x00\x00\x00\x00\x00\x00\x02q\x02h\x01\x86Q."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 13521,
LenPrev: 212,
Len: 409,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae4aaaab80,
Status: ' ',
User: []byte(""),
Description: []byte("predelete 2"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13555,
Oid: 0,
Tid: 0x0285cbae4aaaab80,
PrevRevPos: 7329,
TxnPos: 13521,
DataLen: 232,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04(U\x01aU\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86QU\x01cU\x08\x00\x00\x00\x00\x00\x00\x00\x07q\x07h\x06\x86QU\x01bU\x08\x00\x00\x00\x00\x00\x00\x00\x08q\x08h\x06\x86QU\x01eU\x08\x00\x00\x00\x00\x00\x00\x00\tq\th\x06\x86QU\x01dU\x08\x00\x00\x00\x00\x00\x00\x00\nq\nh\x06\x86QU\x01gU\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x0bh\x06\x86QU\x01fU\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0ch\x06\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 13829,
Oid: 10,
Tid: 0x0285cbae4aaaab80,
PrevRevPos: 0,
TxnPos: 13521,
DataLen: 51,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x03d2*q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 13930,
LenPrev: 409,
Len: 248,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae4f5c29cc,
Status: ' ',
User: []byte("root2\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
Description: []byte("delete 2\nalpha beta gamma'delta\"lambda\n\nqqq ..."),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieTU\x054WFSDU\x0bx-generatorq\x02U\x13zodb/py2 (delete 2)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 14120,
Oid: 2,
Tid: 0x0285cbae4f5c29cc,
PrevRevPos: 13411,
TxnPos: 13930,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x00\x00"),
/* deleted */ nil,
/* deleted */ 0,
},
},
},
}
ztestdataReg.Register("py2_pickle2", "testdata/py2_pickle2", &_TestDataOK{_1fs_indexTopPos, _1fs_indexEntryv, _1fs_dbEntryv})
}
// Code generated by py/gen-testdata; DO NOT EDIT.
package fs1
import "lab.nexedi.com/kirr/neo/go/zodb"
func init() {
const _1fs_indexTopPos = 14132
var _1fs_indexEntryv = []indexEntry{
{ 0, 13523},
{ 1, 11155},
{ 2, 14074},
{ 3, 10363},
{ 5, 8990},
{ 6, 7864},
{ 7, 10759},
{ 8, 11947},
{ 9, 13221},
{ 10, 13783},
}
var _1fs_dbEntryv = []dbEntry{
{
TxnHeader{
Pos: 4,
LenPrev: 0,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac70a3d733,
Status: 'p',
User: []byte("user0.12"),
Description: []byte("step 0.12"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie8U\x052MHMUU\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 99,
Oid: 1,
Tid: 0x0285cbac70a3d733,
PrevRevPos: 0,
TxnPos: 4,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05f0.12q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 202,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac7eb85219,
Status: 'p',
User: []byte("user0.15"),
Description: []byte("step 0.15"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieYU\x05EDZ10U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 297,
Oid: 6,
Tid: 0x0285cbac7eb85219,
PrevRevPos: 0,
TxnPos: 202,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05e0.15q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 400,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac917e4b4c,
Status: 'p',
User: []byte("user0.19"),
Description: []byte("step 0.19"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieFU\x05OUC9LU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 495,
Oid: 5,
Tid: 0x0285cbac917e4b4c,
PrevRevPos: 0,
TxnPos: 400,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05a0.19q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 598,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac9ae147e6,
Status: 'p',
User: []byte("user0.21"),
Description: []byte("step 0.21"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie8U\x050QC1AU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 693,
Oid: 2,
Tid: 0x0285cbac9ae147e6,
PrevRevPos: 0,
TxnPos: 598,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05d0.21q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 796,
LenPrev: 198,
Len: 261,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacada74119,
Status: 'p',
User: []byte("root0.0\nYour\nMagesty "),
Description: []byte("undo 0.0\nmore detailed description\n\nzzz ..."),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieKU\x05G95IHU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrKRERIA=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 954,
Oid: 7,
Tid: 0x0285cbacada74119,
PrevRevPos: 0,
TxnPos: 796,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05c0.22q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1057,
LenPrev: 261,
Len: 262,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacb258bf66,
Status: 'p',
User: []byte("root0.1\nYour\nMagesty "),
Description: []byte("undo 0.1\nmore detailed description\n\nzzz ...\t"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieVU\x05VHBGTU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrKj1wsw=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1216,
Oid: 3,
Tid: 0x0285cbacb258bf66,
PrevRevPos: 0,
TxnPos: 1057,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05g0.11q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1319,
LenPrev: 262,
Len: 395,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacbbbbbc00,
Status: 'p',
User: []byte(""),
Description: []byte("predelete 4"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1353,
Oid: 0,
Tid: 0x0285cbacbbbbbc00,
PrevRevPos: 0,
TxnPos: 1319,
DataLen: 218,
},
[]byte("\x80\x03cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x03}q\x02U\x04dataq\x03}q\x04(U\x01aC\x08\x00\x00\x00\x00\x00\x00\x00\x05czodbtools.test.gen_testdata\nObject\nq\x05\x86QU\x01cC\x08\x00\x00\x00\x00\x00\x00\x00\x07h\x05\x86QU\x01bC\x08\x00\x00\x00\x00\x00\x00\x00\x08h\x05\x86QU\x01eC\x08\x00\x00\x00\x00\x00\x00\x00\x06h\x05\x86QU\x01dC\x08\x00\x00\x00\x00\x00\x00\x00\x02h\x05\x86QU\x01gC\x08\x00\x00\x00\x00\x00\x00\x00\x03h\x05\x86QU\x01fC\x08\x00\x00\x00\x00\x00\x00\x00\x01h\x05\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 1613,
Oid: 8,
Tid: 0x0285cbacbbbbbc00,
PrevRevPos: 0,
TxnPos: 1319,
DataLen: 51,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x03b0*q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1714,
LenPrev: 395,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad02222280,
Status: ' ',
User: []byte("user1.0"),
Description: []byte("step 1.0"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieEU\x05VAZ3UU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1807,
Oid: 6,
Tid: 0x0285cbad02222280,
PrevRevPos: 297,
TxnPos: 1714,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04e1.0q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1909,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad06d3a0cc,
Status: ' ',
User: []byte("user1.1"),
Description: []byte("step 1.1"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieNU\x05GSV4IU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2002,
Oid: 8,
Tid: 0x0285cbad06d3a0cc,
PrevRevPos: 1613,
TxnPos: 1909,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04b1.1q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2104,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad0b851f19,
Status: ' ',
User: []byte("user1.2"),
Description: []byte("step 1.2"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieYU\x05A01OKU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2197,
Oid: 3,
Tid: 0x0285cbad0b851f19,
PrevRevPos: 1216,
TxnPos: 2104,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04g1.2q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2299,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad10369d66,
Status: ' ',
User: []byte("user1.3"),
Description: []byte("step 1.3"),
Extension: []byte("\x80\x03}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (g)U\tx-cookieWU\x051QPNPu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2392,
Oid: 3,
Tid: 0x0285cbad10369d66,
PrevRevPos: 2197,
TxnPos: 2299,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04g1.3q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2494,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad14e81bb3,
Status: ' ',
User: []byte("user1.4"),
Description: []byte("step 1.4"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieCU\x05J7L05U\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2587,
Oid: 7,
Tid: 0x0285cbad14e81bb3,
PrevRevPos: 954,
TxnPos: 2494,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04c1.4q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2689,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad19999a00,
Status: ' ',
User: []byte("user1.5"),
Description: []byte("step 1.5"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieAU\x05CM15ZU\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2782,
Oid: 1,
Tid: 0x0285cbad19999a00,
PrevRevPos: 99,
TxnPos: 2689,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04f1.5q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2884,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad1e4b184c,
Status: ' ',
User: []byte("user1.6"),
Description: []byte("step 1.6"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieIU\x05AH816U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2977,
Oid: 2,
Tid: 0x0285cbad1e4b184c,
PrevRevPos: 693,
TxnPos: 2884,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04d1.6q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3079,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad22fc9699,
Status: ' ',
User: []byte("user1.7"),
Description: []byte("step 1.7"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieUU\x05BE3WHU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3172,
Oid: 7,
Tid: 0x0285cbad22fc9699,
PrevRevPos: 2587,
TxnPos: 3079,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04c1.7q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3274,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad27ae14e6,
Status: ' ',
User: []byte("user1.8"),
Description: []byte("step 1.8"),
Extension: []byte("\x80\x03}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (c)U\tx-cookieWU\x05HPFAQu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3367,
Oid: 7,
Tid: 0x0285cbad27ae14e6,
PrevRevPos: 3172,
TxnPos: 3274,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04c1.8q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3469,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad2c5f9333,
Status: ' ',
User: []byte("user1.9"),
Description: []byte("step 1.9"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieQU\x05DZM23U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3562,
Oid: 6,
Tid: 0x0285cbad2c5f9333,
PrevRevPos: 1807,
TxnPos: 3469,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04e1.9q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3664,
LenPrev: 195,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad31111180,
Status: ' ',
User: []byte("user1.10"),
Description: []byte("step 1.10"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieOU\x05EIGHLU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3759,
Oid: 5,
Tid: 0x0285cbad31111180,
PrevRevPos: 495,
TxnPos: 3664,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05a1.10q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3862,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad35c28fcc,
Status: ' ',
User: []byte("user1.11"),
Description: []byte("step 1.11"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie2U\x05Z9RFCU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3957,
Oid: 7,
Tid: 0x0285cbad35c28fcc,
PrevRevPos: 3367,
TxnPos: 3862,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05c1.11q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4060,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad3a740e19,
Status: ' ',
User: []byte("user1.12"),
Description: []byte("step 1.12"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie7U\x05WGO4EU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4155,
Oid: 6,
Tid: 0x0285cbad3a740e19,
PrevRevPos: 3562,
TxnPos: 4060,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05e1.12q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4258,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad3f258c66,
Status: ' ',
User: []byte("user1.13"),
Description: []byte("step 1.13"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie5U\x05757DJU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4353,
Oid: 3,
Tid: 0x0285cbad3f258c66,
PrevRevPos: 2392,
TxnPos: 4258,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05g1.13q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4456,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad43d70ab3,
Status: ' ',
User: []byte("user1.14"),
Description: []byte("step 1.14"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieXU\x055EOVHU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4551,
Oid: 3,
Tid: 0x0285cbad43d70ab3,
PrevRevPos: 4353,
TxnPos: 4456,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05g1.14q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4654,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad48888900,
Status: ' ',
User: []byte("user1.15"),
Description: []byte("step 1.15"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieCU\x05HO7L7U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4749,
Oid: 2,
Tid: 0x0285cbad48888900,
PrevRevPos: 2977,
TxnPos: 4654,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05d1.15q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4852,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad4d3a074c,
Status: ' ',
User: []byte("user1.16"),
Description: []byte("step 1.16"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieUU\x05T159SU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4947,
Oid: 3,
Tid: 0x0285cbad4d3a074c,
PrevRevPos: 4551,
TxnPos: 4852,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05g1.16q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5050,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad51eb8599,
Status: ' ',
User: []byte("user1.17"),
Description: []byte("step 1.17"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie8U\x05T23V1U\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5145,
Oid: 1,
Tid: 0x0285cbad51eb8599,
PrevRevPos: 2782,
TxnPos: 5050,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05f1.17q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5248,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad569d03e6,
Status: ' ',
User: []byte("user1.18"),
Description: []byte("step 1.18"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieYU\x05UB55NU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5343,
Oid: 5,
Tid: 0x0285cbad569d03e6,
PrevRevPos: 3759,
TxnPos: 5248,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05a1.18q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5446,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad5b4e8233,
Status: ' ',
User: []byte("user1.19"),
Description: []byte("step 1.19"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieZU\x05IKOSRU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5541,
Oid: 3,
Tid: 0x0285cbad5b4e8233,
PrevRevPos: 4947,
TxnPos: 5446,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05g1.19q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5644,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad60000080,
Status: ' ',
User: []byte("user1.20"),
Description: []byte("step 1.20"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieSU\x057JLTHU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5739,
Oid: 3,
Tid: 0x0285cbad60000080,
PrevRevPos: 5541,
TxnPos: 5644,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05g1.20q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5842,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad64b17ecc,
Status: ' ',
User: []byte("user1.21"),
Description: []byte("step 1.21"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieIU\x05USN06U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5937,
Oid: 6,
Tid: 0x0285cbad64b17ecc,
PrevRevPos: 4155,
TxnPos: 5842,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05e1.21q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6040,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad6962fd19,
Status: ' ',
User: []byte("user1.22"),
Description: []byte("step 1.22"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie2U\x05UXAETU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6135,
Oid: 5,
Tid: 0x0285cbad6962fd19,
PrevRevPos: 5343,
TxnPos: 6040,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05a1.22q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6238,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad6e147b66,
Status: ' ',
User: []byte("user1.23"),
Description: []byte("step 1.23"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieHU\x05AT11FU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6333,
Oid: 5,
Tid: 0x0285cbad6e147b66,
PrevRevPos: 6135,
TxnPos: 6238,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05a1.23q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6436,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad72c5f9b3,
Status: ' ',
User: []byte("user1.24"),
Description: []byte("step 1.24"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieDU\x05O5ZEMU\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6531,
Oid: 1,
Tid: 0x0285cbad72c5f9b3,
PrevRevPos: 5145,
TxnPos: 6436,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05f1.24q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6634,
LenPrev: 198,
Len: 217,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad77777800,
Status: ' ',
User: []byte("root1.0\nYour\nMagesty "),
Description: []byte("undo 1.0\nmore detailed description\n\nzzz ...\t"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie3U\x05G51MMU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrW4Ue2Y=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6793,
Oid: 5,
Tid: 0x0285cbad77777800,
PrevRevPos: 6333,
TxnPos: 6634,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x17\xf7"),
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05a1.22q\x02."),
/* copy from */ 0x0285cbad6962fd19,
},
},
},
{
TxnHeader{
Pos: 6851,
LenPrev: 217,
Len: 218,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad7c28f64c,
Status: ' ',
User: []byte("root1.1\nYour\nMagesty "),
Description: []byte("undo 1.1\nmore detailed description\n\nzzz ...\t\t"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieLU\x05CDRHVU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrXLF+bM=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7011,
Oid: 1,
Tid: 0x0285cbad7c28f64c,
PrevRevPos: 6531,
TxnPos: 6851,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x14\x19"),
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05f1.17q\x02."),
/* copy from */ 0x0285cbad51eb8599,
},
},
},
{
TxnHeader{
Pos: 7069,
LenPrev: 218,
Len: 210,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad80da7499,
Status: ' ',
User: []byte("user"),
Description: []byte("cyclic reference"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie4U\x05C4OMSU\x0bx-generatorq\x02U\x10zodb/py2 (cycle)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7171,
Oid: 6,
Tid: 0x0285cbad80da7499,
PrevRevPos: 5937,
TxnPos: 7069,
DataLen: 58,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03C\x08\x00\x00\x00\x00\x00\x00\x00\x06h\x01\x86Q."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 7279,
LenPrev: 210,
Len: 395,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad858bf2e6,
Status: ' ',
User: []byte(""),
Description: []byte("predelete 6"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7313,
Oid: 0,
Tid: 0x0285cbad858bf2e6,
PrevRevPos: 1353,
TxnPos: 7279,
DataLen: 218,
},
[]byte("\x80\x03cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x03}q\x02U\x04dataq\x03}q\x04(U\x01aC\x08\x00\x00\x00\x00\x00\x00\x00\x05czodbtools.test.gen_testdata\nObject\nq\x05\x86QU\x01cC\x08\x00\x00\x00\x00\x00\x00\x00\x07h\x05\x86QU\x01bC\x08\x00\x00\x00\x00\x00\x00\x00\x08h\x05\x86QU\x01eC\x08\x00\x00\x00\x00\x00\x00\x00\th\x05\x86QU\x01dC\x08\x00\x00\x00\x00\x00\x00\x00\x02h\x05\x86QU\x01gC\x08\x00\x00\x00\x00\x00\x00\x00\x03h\x05\x86QU\x01fC\x08\x00\x00\x00\x00\x00\x00\x00\x01h\x05\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 7573,
Oid: 9,
Tid: 0x0285cbad858bf2e6,
PrevRevPos: 0,
TxnPos: 7279,
DataLen: 51,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x03e1*q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 7674,
LenPrev: 395,
Len: 248,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad8a3d7133,
Status: ' ',
User: []byte("root1\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
Description: []byte("delete 1\nalpha beta gamma'delta\"lambda\n\nqqq ..."),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieSU\x05XVOTIU\x0bx-generatorq\x02U\x13zodb/py2 (delete 6)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7864,
Oid: 6,
Tid: 0x0285cbad8a3d7133,
PrevRevPos: 7171,
TxnPos: 7674,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x00\x00"),
/* deleted */ nil,
/* deleted */ 0,
},
},
},
{
TxnHeader{
Pos: 7922,
LenPrev: 248,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadc740db19,
Status: ' ',
User: []byte("user2.0"),
Description: []byte("step 2.0"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie1U\x05GRGS2U\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8015,
Oid: 1,
Tid: 0x0285cbadc740db19,
PrevRevPos: 7011,
TxnPos: 7922,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04f2.0q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8117,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadcbf25966,
Status: ' ',
User: []byte("user2.1"),
Description: []byte("step 2.1"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie3U\x05WYNK7U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8210,
Oid: 2,
Tid: 0x0285cbadcbf25966,
PrevRevPos: 4749,
TxnPos: 8117,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04d2.1q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8312,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadd0a3d7b3,
Status: ' ',
User: []byte("user2.2"),
Description: []byte("step 2.2"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieFU\x05SPFA4U\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8405,
Oid: 3,
Tid: 0x0285cbadd0a3d7b3,
PrevRevPos: 5739,
TxnPos: 8312,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04g2.2q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8507,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadd5555600,
Status: ' ',
User: []byte("user2.3"),
Description: []byte("step 2.3"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie1U\x05XE3RQU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8600,
Oid: 3,
Tid: 0x0285cbadd5555600,
PrevRevPos: 8405,
TxnPos: 8507,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04g2.3q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8702,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadda06d44c,
Status: ' ',
User: []byte("user2.4"),
Description: []byte("step 2.4"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie2U\x051XYQ2U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8795,
Oid: 9,
Tid: 0x0285cbadda06d44c,
PrevRevPos: 7573,
TxnPos: 8702,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04e2.4q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8897,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbaddeb85299,
Status: ' ',
User: []byte("user2.5"),
Description: []byte("step 2.5"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieWU\x05C0ZT2U\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8990,
Oid: 5,
Tid: 0x0285cbaddeb85299,
PrevRevPos: 6793,
TxnPos: 8897,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04a2.5q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9092,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbade369d0e6,
Status: ' ',
User: []byte("user2.6"),
Description: []byte("step 2.6"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie0U\x05OX40DU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9185,
Oid: 8,
Tid: 0x0285cbade369d0e6,
PrevRevPos: 2002,
TxnPos: 9092,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04b2.6q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9287,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbade81b4f33,
Status: ' ',
User: []byte("user2.7"),
Description: []byte("step 2.7"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieYU\x0564CY4U\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9380,
Oid: 3,
Tid: 0x0285cbade81b4f33,
PrevRevPos: 8600,
TxnPos: 9287,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04g2.7q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9482,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadeccccd80,
Status: ' ',
User: []byte("user2.8"),
Description: []byte("step 2.8"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieZU\x05AXYM6U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9575,
Oid: 2,
Tid: 0x0285cbadeccccd80,
PrevRevPos: 8210,
TxnPos: 9482,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04d2.8q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9677,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadf17e4bcc,
Status: ' ',
User: []byte("user2.9"),
Description: []byte("step 2.9"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie8U\x055WYSBU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9770,
Oid: 9,
Tid: 0x0285cbadf17e4bcc,
PrevRevPos: 8795,
TxnPos: 9677,
DataLen: 52,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x04e2.9q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9872,
LenPrev: 195,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadf62fca19,
Status: ' ',
User: []byte("user2.10"),
Description: []byte("step 2.10"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie2U\x05F1402U\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9967,
Oid: 7,
Tid: 0x0285cbadf62fca19,
PrevRevPos: 3957,
TxnPos: 9872,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05c2.10q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10070,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadfae14866,
Status: ' ',
User: []byte("user2.11"),
Description: []byte("step 2.11"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieGU\x05Q5FM3U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10165,
Oid: 2,
Tid: 0x0285cbadfae14866,
PrevRevPos: 9575,
TxnPos: 10070,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05d2.11q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10268,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadff92c6b3,
Status: ' ',
User: []byte("user2.12"),
Description: []byte("step 2.12"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie7U\x052EFQBU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10363,
Oid: 3,
Tid: 0x0285cbadff92c6b3,
PrevRevPos: 9380,
TxnPos: 10268,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05g2.12q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10466,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae04444500,
Status: ' ',
User: []byte("user2.13"),
Description: []byte("step 2.13"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieSU\x05YS9KOU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10561,
Oid: 2,
Tid: 0x0285cbae04444500,
PrevRevPos: 10165,
TxnPos: 10466,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05d2.13q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10664,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae08f5c34c,
Status: ' ',
User: []byte("user2.14"),
Description: []byte("step 2.14"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie5U\x05RF8GXU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10759,
Oid: 7,
Tid: 0x0285cbae08f5c34c,
PrevRevPos: 9967,
TxnPos: 10664,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05c2.14q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10862,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae0da74199,
Status: ' ',
User: []byte("user2.15"),
Description: []byte("step 2.15"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie0U\x05H70PMU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10957,
Oid: 9,
Tid: 0x0285cbae0da74199,
PrevRevPos: 9770,
TxnPos: 10862,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05e2.15q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11060,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae1258bfe6,
Status: ' ',
User: []byte("user2.16"),
Description: []byte("step 2.16"),
Extension: []byte("\x80\x03}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (f)U\tx-cookieOU\x05MJ5PGu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11155,
Oid: 1,
Tid: 0x0285cbae1258bfe6,
PrevRevPos: 8015,
TxnPos: 11060,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05f2.16q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11258,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae170a3e33,
Status: ' ',
User: []byte("user2.17"),
Description: []byte("step 2.17"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie1U\x05RAZ4VU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11353,
Oid: 8,
Tid: 0x0285cbae170a3e33,
PrevRevPos: 9185,
TxnPos: 11258,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05b2.17q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11456,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae1bbbbc80,
Status: ' ',
User: []byte("user2.18"),
Description: []byte("step 2.18"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieRU\x05KE39AU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11551,
Oid: 2,
Tid: 0x0285cbae1bbbbc80,
PrevRevPos: 10561,
TxnPos: 11456,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05d2.18q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11654,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae206d3acc,
Status: ' ',
User: []byte("user2.19"),
Description: []byte("step 2.19"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie8U\x051SBCJU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11749,
Oid: 9,
Tid: 0x0285cbae206d3acc,
PrevRevPos: 10957,
TxnPos: 11654,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05e2.19q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11852,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae251eb919,
Status: ' ',
User: []byte("user2.20"),
Description: []byte("step 2.20"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieJU\x05EAIKMU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11947,
Oid: 8,
Tid: 0x0285cbae251eb919,
PrevRevPos: 11353,
TxnPos: 11852,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05b2.20q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12050,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae29d03766,
Status: ' ',
User: []byte("user2.21"),
Description: []byte("step 2.21"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieMU\x05ESSADU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12145,
Oid: 9,
Tid: 0x0285cbae29d03766,
PrevRevPos: 11749,
TxnPos: 12050,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05e2.21q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12248,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae2e81b5b3,
Status: ' ',
User: []byte("user2.22"),
Description: []byte("step 2.22"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieHU\x05DL5OCU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12343,
Oid: 9,
Tid: 0x0285cbae2e81b5b3,
PrevRevPos: 12145,
TxnPos: 12248,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05e2.22q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12446,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae33333400,
Status: ' ',
User: []byte("user2.23"),
Description: []byte("step 2.23"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieQU\x05PBN2AU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12541,
Oid: 2,
Tid: 0x0285cbae33333400,
PrevRevPos: 11551,
TxnPos: 12446,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05d2.23q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12644,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae37e4b24c,
Status: ' ',
User: []byte("user2.24"),
Description: []byte("step 2.24"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookie2U\x050GV0IU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12739,
Oid: 9,
Tid: 0x0285cbae37e4b24c,
PrevRevPos: 12343,
TxnPos: 12644,
DataLen: 53,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05e2.24q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12842,
LenPrev: 198,
Len: 218,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae3c963099,
Status: ' ',
User: []byte("root2.0\nYour\nMagesty "),
Description: []byte("undo 2.0\nmore detailed description\n\nzzz ...\t\t"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieMU\x05OQO01U\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrjMzNAA=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13002,
Oid: 2,
Tid: 0x0285cbae3c963099,
PrevRevPos: 12541,
TxnPos: 12842,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00-\x1f"),
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05d2.18q\x02."),
/* copy from */ 0x0285cbae1bbbbc80,
},
},
},
{
TxnHeader{
Pos: 13060,
LenPrev: 218,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae4147aee6,
Status: ' ',
User: []byte("root2.1\nYour\nMagesty "),
Description: []byte("undo 2.1\nmore detailed description\n\nzzz ...\t\t\t"),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieAU\x05VPQ8RU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrjfkskw=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13221,
Oid: 9,
Tid: 0x0285cbae4147aee6,
PrevRevPos: 12739,
TxnPos: 13060,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x0007"),
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x05e2.22q\x02."),
/* copy from */ 0x0285cbae2e81b5b3,
},
},
},
{
TxnHeader{
Pos: 13279,
LenPrev: 219,
Len: 210,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae45f92d33,
Status: ' ',
User: []byte("user"),
Description: []byte("cyclic reference"),
Extension: []byte("\x80\x03}q\x01(U\x0bx-generatorq\x02U\x10zodb/py2 (cycle)U\tx-cookieGU\x05B6FWFu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13381,
Oid: 2,
Tid: 0x0285cbae45f92d33,
PrevRevPos: 13002,
TxnPos: 13279,
DataLen: 58,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03C\x08\x00\x00\x00\x00\x00\x00\x00\x02h\x01\x86Q."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 13489,
LenPrev: 210,
Len: 395,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae4aaaab80,
Status: ' ',
User: []byte(""),
Description: []byte("predelete 2"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13523,
Oid: 0,
Tid: 0x0285cbae4aaaab80,
PrevRevPos: 7313,
TxnPos: 13489,
DataLen: 218,
},
[]byte("\x80\x03cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x03}q\x02U\x04dataq\x03}q\x04(U\x01aC\x08\x00\x00\x00\x00\x00\x00\x00\x05czodbtools.test.gen_testdata\nObject\nq\x05\x86QU\x01cC\x08\x00\x00\x00\x00\x00\x00\x00\x07h\x05\x86QU\x01bC\x08\x00\x00\x00\x00\x00\x00\x00\x08h\x05\x86QU\x01eC\x08\x00\x00\x00\x00\x00\x00\x00\th\x05\x86QU\x01dC\x08\x00\x00\x00\x00\x00\x00\x00\nh\x05\x86QU\x01gC\x08\x00\x00\x00\x00\x00\x00\x00\x03h\x05\x86QU\x01fC\x08\x00\x00\x00\x00\x00\x00\x00\x01h\x05\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 13783,
Oid: 10,
Tid: 0x0285cbae4aaaab80,
PrevRevPos: 0,
TxnPos: 13489,
DataLen: 51,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x03U\x03d2*q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 13884,
LenPrev: 395,
Len: 248,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae4f5c29cc,
Status: ' ',
User: []byte("root2\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
Description: []byte("delete 2\nalpha beta gamma'delta\"lambda\n\nqqq ..."),
Extension: []byte("\x80\x03}q\x01(U\tx-cookieTU\x054WFSDU\x0bx-generatorq\x02U\x13zodb/py2 (delete 2)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 14074,
Oid: 2,
Tid: 0x0285cbae4f5c29cc,
PrevRevPos: 13381,
TxnPos: 13884,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x00\x00"),
/* deleted */ nil,
/* deleted */ 0,
},
},
},
}
ztestdataReg.Register("py2_pickle3", "testdata/py2_pickle3", &_TestDataOK{_1fs_indexTopPos, _1fs_indexEntryv, _1fs_dbEntryv})
}
// Code generated by py/gen-testdata; DO NOT EDIT.
package fs1
import "lab.nexedi.com/kirr/neo/go/zodb"
func init() {
const _1fs_indexTopPos = 15685
var _1fs_indexEntryv = []indexEntry{
{ 0, 14989},
{ 1, 12386},
{ 2, 15627},
{ 3, 11510},
{ 5, 9990},
{ 6, 8741},
{ 7, 11948},
{ 8, 13262},
{ 9, 14665},
{ 10, 15315},
}
var _1fs_dbEntryv = []dbEntry{
{
TxnHeader{
Pos: 4,
LenPrev: 0,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac70a3d733,
Status: 'p',
User: []byte("user0.12"),
Description: []byte("step 0.12"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie8q\x01X\x05\x00\x00\x002MHMUq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (f)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 117,
Oid: 1,
Tid: 0x0285cbac70a3d733,
PrevRevPos: 0,
TxnPos: 4,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00f0.12q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 223,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac7eb85219,
Status: 'p',
User: []byte("user0.15"),
Description: []byte("step 0.15"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (e)q\x02X\t\x00\x00\x00x-cookieYq\x03X\x05\x00\x00\x00EDZ10q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 336,
Oid: 6,
Tid: 0x0285cbac7eb85219,
PrevRevPos: 0,
TxnPos: 223,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00e0.15q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 442,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac917e4b4c,
Status: 'p',
User: []byte("user0.19"),
Description: []byte("step 0.19"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (a)q\x02X\t\x00\x00\x00x-cookieFq\x03X\x05\x00\x00\x00OUC9Lq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 555,
Oid: 5,
Tid: 0x0285cbac917e4b4c,
PrevRevPos: 0,
TxnPos: 442,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00a0.19q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 661,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac9ae147e6,
Status: 'p',
User: []byte("user0.21"),
Description: []byte("step 0.21"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie8q\x01X\x05\x00\x00\x000QC1Aq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (d)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 774,
Oid: 2,
Tid: 0x0285cbac9ae147e6,
PrevRevPos: 0,
TxnPos: 661,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00d0.21q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 880,
LenPrev: 219,
Len: 285,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacada74119,
Status: 'p',
User: []byte("root0.0\nYour\nMagesty "),
Description: []byte("undo 0.0\nmore detailed description\n\nzzz ..."),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieKq\x01X\x05\x00\x00\x00G95IHq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x1f\x00\x00\x00zodb/py3 (undo b'AoXLrKRERIA=')q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1059,
Oid: 7,
Tid: 0x0285cbacada74119,
PrevRevPos: 0,
TxnPos: 880,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00c0.22q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1165,
LenPrev: 285,
Len: 286,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacb258bf66,
Status: 'p',
User: []byte("root0.1\nYour\nMagesty "),
Description: []byte("undo 0.1\nmore detailed description\n\nzzz ...\t"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieVq\x01X\x05\x00\x00\x00VHBGTq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x1f\x00\x00\x00zodb/py3 (undo b'AoXLrKj1wsw=')q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1345,
Oid: 3,
Tid: 0x0285cbacb258bf66,
PrevRevPos: 0,
TxnPos: 1165,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00g0.11q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1451,
LenPrev: 286,
Len: 464,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacbbbbbc00,
Status: 'p',
User: []byte(""),
Description: []byte("predelete 4"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1485,
Oid: 0,
Tid: 0x0285cbacbbbbbc00,
PrevRevPos: 0,
TxnPos: 1451,
DataLen: 284,
},
[]byte("\x80\x03cpersistent.mapping\nPersistentMapping\nq\x00.\x80\x03}q\x01X\x04\x00\x00\x00dataq\x02}q\x03(X\x01\x00\x00\x00fq\x04C\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86q\x07QX\x01\x00\x00\x00dq\x08C\x08\x00\x00\x00\x00\x00\x00\x00\x02q\th\x06\x86q\nQX\x01\x00\x00\x00gq\x0bC\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x0ch\x06\x86q\rQX\x01\x00\x00\x00bq\x0eC\x08\x00\x00\x00\x00\x00\x00\x00\x08q\x0fh\x06\x86q\x10QX\x01\x00\x00\x00aq\x11C\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x12h\x06\x86q\x13QX\x01\x00\x00\x00eq\x14C\x08\x00\x00\x00\x00\x00\x00\x00\x06q\x15h\x06\x86q\x16QX\x01\x00\x00\x00cq\x17C\x08\x00\x00\x00\x00\x00\x00\x00\x07q\x18h\x06\x86q\x19Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 1811,
Oid: 8,
Tid: 0x0285cbacbbbbbc00,
PrevRevPos: 0,
TxnPos: 1451,
DataLen: 54,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x03\x00\x00\x00b0*q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1915,
LenPrev: 464,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad02222280,
Status: ' ',
User: []byte("user1.0"),
Description: []byte("step 1.0"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (e)q\x02X\t\x00\x00\x00x-cookieEq\x03X\x05\x00\x00\x00VAZ3Uq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2026,
Oid: 6,
Tid: 0x0285cbad02222280,
PrevRevPos: 336,
TxnPos: 1915,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00e1.0q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2131,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad06d3a0cc,
Status: ' ',
User: []byte("user1.1"),
Description: []byte("step 1.1"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (b)q\x02X\t\x00\x00\x00x-cookieNq\x03X\x05\x00\x00\x00GSV4Iq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2242,
Oid: 8,
Tid: 0x0285cbad06d3a0cc,
PrevRevPos: 1811,
TxnPos: 2131,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00b1.1q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2347,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad0b851f19,
Status: ' ',
User: []byte("user1.2"),
Description: []byte("step 1.2"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieYq\x01X\x05\x00\x00\x00A01OKq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (g)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2458,
Oid: 3,
Tid: 0x0285cbad0b851f19,
PrevRevPos: 1345,
TxnPos: 2347,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00g1.2q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2563,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad10369d66,
Status: ' ',
User: []byte("user1.3"),
Description: []byte("step 1.3"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieWq\x01X\x05\x00\x00\x001QPNPq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (g)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2674,
Oid: 3,
Tid: 0x0285cbad10369d66,
PrevRevPos: 2458,
TxnPos: 2563,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00g1.3q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2779,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad14e81bb3,
Status: ' ',
User: []byte("user1.4"),
Description: []byte("step 1.4"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieCq\x01X\x05\x00\x00\x00J7L05q\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (c)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2890,
Oid: 7,
Tid: 0x0285cbad14e81bb3,
PrevRevPos: 1059,
TxnPos: 2779,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00c1.4q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2995,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad19999a00,
Status: ' ',
User: []byte("user1.5"),
Description: []byte("step 1.5"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (f)q\x02X\t\x00\x00\x00x-cookieAq\x03X\x05\x00\x00\x00CM15Zq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3106,
Oid: 1,
Tid: 0x0285cbad19999a00,
PrevRevPos: 117,
TxnPos: 2995,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00f1.5q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3211,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad1e4b184c,
Status: ' ',
User: []byte("user1.6"),
Description: []byte("step 1.6"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (d)q\x02X\t\x00\x00\x00x-cookieIq\x03X\x05\x00\x00\x00AH816q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3322,
Oid: 2,
Tid: 0x0285cbad1e4b184c,
PrevRevPos: 774,
TxnPos: 3211,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00d1.6q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3427,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad22fc9699,
Status: ' ',
User: []byte("user1.7"),
Description: []byte("step 1.7"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieUq\x01X\x05\x00\x00\x00BE3WHq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (c)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3538,
Oid: 7,
Tid: 0x0285cbad22fc9699,
PrevRevPos: 2890,
TxnPos: 3427,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00c1.7q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3643,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad27ae14e6,
Status: ' ',
User: []byte("user1.8"),
Description: []byte("step 1.8"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieWq\x01X\x05\x00\x00\x00HPFAQq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (c)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3754,
Oid: 7,
Tid: 0x0285cbad27ae14e6,
PrevRevPos: 3538,
TxnPos: 3643,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00c1.8q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3859,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad2c5f9333,
Status: ' ',
User: []byte("user1.9"),
Description: []byte("step 1.9"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (e)q\x02X\t\x00\x00\x00x-cookieQq\x03X\x05\x00\x00\x00DZM23q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3970,
Oid: 6,
Tid: 0x0285cbad2c5f9333,
PrevRevPos: 2026,
TxnPos: 3859,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00e1.9q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4075,
LenPrev: 216,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad31111180,
Status: ' ',
User: []byte("user1.10"),
Description: []byte("step 1.10"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (a)q\x02X\t\x00\x00\x00x-cookieOq\x03X\x05\x00\x00\x00EIGHLq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4188,
Oid: 5,
Tid: 0x0285cbad31111180,
PrevRevPos: 555,
TxnPos: 4075,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00a1.10q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4294,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad35c28fcc,
Status: ' ',
User: []byte("user1.11"),
Description: []byte("step 1.11"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie2q\x01X\x05\x00\x00\x00Z9RFCq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (c)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4407,
Oid: 7,
Tid: 0x0285cbad35c28fcc,
PrevRevPos: 3754,
TxnPos: 4294,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00c1.11q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4513,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad3a740e19,
Status: ' ',
User: []byte("user1.12"),
Description: []byte("step 1.12"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (e)q\x02X\t\x00\x00\x00x-cookie7q\x03X\x05\x00\x00\x00WGO4Eq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4626,
Oid: 6,
Tid: 0x0285cbad3a740e19,
PrevRevPos: 3970,
TxnPos: 4513,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00e1.12q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4732,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad3f258c66,
Status: ' ',
User: []byte("user1.13"),
Description: []byte("step 1.13"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie5q\x01X\x05\x00\x00\x00757DJq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (g)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4845,
Oid: 3,
Tid: 0x0285cbad3f258c66,
PrevRevPos: 2674,
TxnPos: 4732,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00g1.13q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4951,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad43d70ab3,
Status: ' ',
User: []byte("user1.14"),
Description: []byte("step 1.14"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (g)q\x02X\t\x00\x00\x00x-cookieXq\x03X\x05\x00\x00\x005EOVHq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5064,
Oid: 3,
Tid: 0x0285cbad43d70ab3,
PrevRevPos: 4845,
TxnPos: 4951,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00g1.14q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5170,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad48888900,
Status: ' ',
User: []byte("user1.15"),
Description: []byte("step 1.15"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieCq\x01X\x05\x00\x00\x00HO7L7q\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (d)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5283,
Oid: 2,
Tid: 0x0285cbad48888900,
PrevRevPos: 3322,
TxnPos: 5170,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00d1.15q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5389,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad4d3a074c,
Status: ' ',
User: []byte("user1.16"),
Description: []byte("step 1.16"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieUq\x01X\x05\x00\x00\x00T159Sq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (g)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5502,
Oid: 3,
Tid: 0x0285cbad4d3a074c,
PrevRevPos: 5064,
TxnPos: 5389,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00g1.16q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5608,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad51eb8599,
Status: ' ',
User: []byte("user1.17"),
Description: []byte("step 1.17"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (f)q\x02X\t\x00\x00\x00x-cookie8q\x03X\x05\x00\x00\x00T23V1q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5721,
Oid: 1,
Tid: 0x0285cbad51eb8599,
PrevRevPos: 3106,
TxnPos: 5608,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00f1.17q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5827,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad569d03e6,
Status: ' ',
User: []byte("user1.18"),
Description: []byte("step 1.18"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieYq\x01X\x05\x00\x00\x00UB55Nq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (a)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5940,
Oid: 5,
Tid: 0x0285cbad569d03e6,
PrevRevPos: 4188,
TxnPos: 5827,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00a1.18q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6046,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad5b4e8233,
Status: ' ',
User: []byte("user1.19"),
Description: []byte("step 1.19"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieZq\x01X\x05\x00\x00\x00IKOSRq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (g)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6159,
Oid: 3,
Tid: 0x0285cbad5b4e8233,
PrevRevPos: 5502,
TxnPos: 6046,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00g1.19q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6265,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad60000080,
Status: ' ',
User: []byte("user1.20"),
Description: []byte("step 1.20"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (g)q\x02X\t\x00\x00\x00x-cookieSq\x03X\x05\x00\x00\x007JLTHq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6378,
Oid: 3,
Tid: 0x0285cbad60000080,
PrevRevPos: 6159,
TxnPos: 6265,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00g1.20q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6484,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad64b17ecc,
Status: ' ',
User: []byte("user1.21"),
Description: []byte("step 1.21"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (e)q\x02X\t\x00\x00\x00x-cookieIq\x03X\x05\x00\x00\x00USN06q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6597,
Oid: 6,
Tid: 0x0285cbad64b17ecc,
PrevRevPos: 4626,
TxnPos: 6484,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00e1.21q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6703,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad6962fd19,
Status: ' ',
User: []byte("user1.22"),
Description: []byte("step 1.22"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie2q\x01X\x05\x00\x00\x00UXAETq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (a)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6816,
Oid: 5,
Tid: 0x0285cbad6962fd19,
PrevRevPos: 5940,
TxnPos: 6703,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00a1.22q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6922,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad6e147b66,
Status: ' ',
User: []byte("user1.23"),
Description: []byte("step 1.23"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieHq\x01X\x05\x00\x00\x00AT11Fq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (a)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7035,
Oid: 5,
Tid: 0x0285cbad6e147b66,
PrevRevPos: 6816,
TxnPos: 6922,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00a1.23q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 7141,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad72c5f9b3,
Status: ' ',
User: []byte("user1.24"),
Description: []byte("step 1.24"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (f)q\x02X\t\x00\x00\x00x-cookieDq\x03X\x05\x00\x00\x00O5ZEMq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7254,
Oid: 1,
Tid: 0x0285cbad72c5f9b3,
PrevRevPos: 5721,
TxnPos: 7141,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00f1.24q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 7360,
LenPrev: 219,
Len: 238,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad77777800,
Status: ' ',
User: []byte("root1.0\nYour\nMagesty "),
Description: []byte("undo 1.0\nmore detailed description\n\nzzz ...\t"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie3q\x01X\x05\x00\x00\x00G51MMq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x1f\x00\x00\x00zodb/py3 (undo b'AoXLrW4Ue2Y=')q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7540,
Oid: 5,
Tid: 0x0285cbad77777800,
PrevRevPos: 7035,
TxnPos: 7360,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x1a\xa0"),
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00a1.22q\x01."),
/* copy from */ 0x0285cbad6962fd19,
},
},
},
{
TxnHeader{
Pos: 7598,
LenPrev: 238,
Len: 239,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad7c28f64c,
Status: ' ',
User: []byte("root1.1\nYour\nMagesty "),
Description: []byte("undo 1.1\nmore detailed description\n\nzzz ...\t\t"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x1f\x00\x00\x00zodb/py3 (undo b'AoXLrXLF+bM=')q\x02X\t\x00\x00\x00x-cookieLq\x03X\x05\x00\x00\x00CDRHVq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7779,
Oid: 1,
Tid: 0x0285cbad7c28f64c,
PrevRevPos: 7254,
TxnPos: 7598,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x16Y"),
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00f1.17q\x01."),
/* copy from */ 0x0285cbad51eb8599,
},
},
},
{
TxnHeader{
Pos: 7837,
LenPrev: 239,
Len: 232,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad80da7499,
Status: ' ',
User: []byte("user"),
Description: []byte("cyclic reference"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie4q\x01X\x05\x00\x00\x00C4OMSq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x10\x00\x00\x00zodb/py3 (cycle)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7957,
Oid: 6,
Tid: 0x0285cbad80da7499,
PrevRevPos: 6597,
TxnPos: 7837,
DataLen: 62,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03C\x08\x00\x00\x00\x00\x00\x00\x00\x06q\x01h\x00\x86q\x02Q."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8069,
LenPrev: 232,
Len: 464,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad858bf2e6,
Status: ' ',
User: []byte(""),
Description: []byte("predelete 6"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8103,
Oid: 0,
Tid: 0x0285cbad858bf2e6,
PrevRevPos: 1485,
TxnPos: 8069,
DataLen: 284,
},
[]byte("\x80\x03cpersistent.mapping\nPersistentMapping\nq\x00.\x80\x03}q\x01X\x04\x00\x00\x00dataq\x02}q\x03(X\x01\x00\x00\x00fq\x04C\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86q\x07QX\x01\x00\x00\x00dq\x08C\x08\x00\x00\x00\x00\x00\x00\x00\x02q\th\x06\x86q\nQX\x01\x00\x00\x00gq\x0bC\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x0ch\x06\x86q\rQX\x01\x00\x00\x00bq\x0eC\x08\x00\x00\x00\x00\x00\x00\x00\x08q\x0fh\x06\x86q\x10QX\x01\x00\x00\x00aq\x11C\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x12h\x06\x86q\x13QX\x01\x00\x00\x00eq\x14C\x08\x00\x00\x00\x00\x00\x00\x00\tq\x15h\x06\x86q\x16QX\x01\x00\x00\x00cq\x17C\x08\x00\x00\x00\x00\x00\x00\x00\x07q\x18h\x06\x86q\x19Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 8429,
Oid: 9,
Tid: 0x0285cbad858bf2e6,
PrevRevPos: 0,
TxnPos: 8069,
DataLen: 54,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x03\x00\x00\x00e1*q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8533,
LenPrev: 464,
Len: 266,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad8a3d7133,
Status: ' ',
User: []byte("root1\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
Description: []byte("delete 1\nalpha beta gamma'delta\"lambda\n\nqqq ..."),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x13\x00\x00\x00zodb/py3 (delete 6)q\x02X\t\x00\x00\x00x-cookieSq\x03X\x05\x00\x00\x00XVOTIq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8741,
Oid: 6,
Tid: 0x0285cbad8a3d7133,
PrevRevPos: 7957,
TxnPos: 8533,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x00\x00"),
/* deleted */ nil,
/* deleted */ 0,
},
},
},
{
TxnHeader{
Pos: 8799,
LenPrev: 266,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadc740db19,
Status: ' ',
User: []byte("user2.0"),
Description: []byte("step 2.0"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie1q\x01X\x05\x00\x00\x00GRGS2q\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (f)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8910,
Oid: 1,
Tid: 0x0285cbadc740db19,
PrevRevPos: 7779,
TxnPos: 8799,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00f2.0q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9015,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadcbf25966,
Status: ' ',
User: []byte("user2.1"),
Description: []byte("step 2.1"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie3q\x01X\x05\x00\x00\x00WYNK7q\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (d)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9126,
Oid: 2,
Tid: 0x0285cbadcbf25966,
PrevRevPos: 5283,
TxnPos: 9015,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00d2.1q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9231,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadd0a3d7b3,
Status: ' ',
User: []byte("user2.2"),
Description: []byte("step 2.2"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieFq\x01X\x05\x00\x00\x00SPFA4q\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (g)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9342,
Oid: 3,
Tid: 0x0285cbadd0a3d7b3,
PrevRevPos: 6378,
TxnPos: 9231,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00g2.2q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9447,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadd5555600,
Status: ' ',
User: []byte("user2.3"),
Description: []byte("step 2.3"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (g)q\x02X\t\x00\x00\x00x-cookie1q\x03X\x05\x00\x00\x00XE3RQq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9558,
Oid: 3,
Tid: 0x0285cbadd5555600,
PrevRevPos: 9342,
TxnPos: 9447,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00g2.3q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9663,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadda06d44c,
Status: ' ',
User: []byte("user2.4"),
Description: []byte("step 2.4"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (e)q\x02X\t\x00\x00\x00x-cookie2q\x03X\x05\x00\x00\x001XYQ2q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9774,
Oid: 9,
Tid: 0x0285cbadda06d44c,
PrevRevPos: 8429,
TxnPos: 9663,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00e2.4q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9879,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbaddeb85299,
Status: ' ',
User: []byte("user2.5"),
Description: []byte("step 2.5"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (a)q\x02X\t\x00\x00\x00x-cookieWq\x03X\x05\x00\x00\x00C0ZT2q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9990,
Oid: 5,
Tid: 0x0285cbaddeb85299,
PrevRevPos: 7540,
TxnPos: 9879,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00a2.5q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10095,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbade369d0e6,
Status: ' ',
User: []byte("user2.6"),
Description: []byte("step 2.6"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie0q\x01X\x05\x00\x00\x00OX40Dq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (b)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10206,
Oid: 8,
Tid: 0x0285cbade369d0e6,
PrevRevPos: 2242,
TxnPos: 10095,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00b2.6q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10311,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbade81b4f33,
Status: ' ',
User: []byte("user2.7"),
Description: []byte("step 2.7"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (g)q\x02X\t\x00\x00\x00x-cookieYq\x03X\x05\x00\x00\x0064CY4q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10422,
Oid: 3,
Tid: 0x0285cbade81b4f33,
PrevRevPos: 9558,
TxnPos: 10311,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00g2.7q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10527,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadeccccd80,
Status: ' ',
User: []byte("user2.8"),
Description: []byte("step 2.8"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (d)q\x02X\t\x00\x00\x00x-cookieZq\x03X\x05\x00\x00\x00AXYM6q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10638,
Oid: 2,
Tid: 0x0285cbadeccccd80,
PrevRevPos: 9126,
TxnPos: 10527,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00d2.8q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10743,
LenPrev: 216,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadf17e4bcc,
Status: ' ',
User: []byte("user2.9"),
Description: []byte("step 2.9"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie8q\x01X\x05\x00\x00\x005WYSBq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (e)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10854,
Oid: 9,
Tid: 0x0285cbadf17e4bcc,
PrevRevPos: 9774,
TxnPos: 10743,
DataLen: 55,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x04\x00\x00\x00e2.9q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10959,
LenPrev: 216,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadf62fca19,
Status: ' ',
User: []byte("user2.10"),
Description: []byte("step 2.10"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (c)q\x02X\t\x00\x00\x00x-cookie2q\x03X\x05\x00\x00\x00F1402q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11072,
Oid: 7,
Tid: 0x0285cbadf62fca19,
PrevRevPos: 4407,
TxnPos: 10959,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00c2.10q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11178,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadfae14866,
Status: ' ',
User: []byte("user2.11"),
Description: []byte("step 2.11"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (d)q\x02X\t\x00\x00\x00x-cookieGq\x03X\x05\x00\x00\x00Q5FM3q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11291,
Oid: 2,
Tid: 0x0285cbadfae14866,
PrevRevPos: 10638,
TxnPos: 11178,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00d2.11q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11397,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbadff92c6b3,
Status: ' ',
User: []byte("user2.12"),
Description: []byte("step 2.12"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (g)q\x02X\t\x00\x00\x00x-cookie7q\x03X\x05\x00\x00\x002EFQBq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11510,
Oid: 3,
Tid: 0x0285cbadff92c6b3,
PrevRevPos: 10422,
TxnPos: 11397,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00g2.12q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11616,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae04444500,
Status: ' ',
User: []byte("user2.13"),
Description: []byte("step 2.13"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (d)q\x02X\t\x00\x00\x00x-cookieSq\x03X\x05\x00\x00\x00YS9KOq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11729,
Oid: 2,
Tid: 0x0285cbae04444500,
PrevRevPos: 11291,
TxnPos: 11616,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00d2.13q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11835,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae08f5c34c,
Status: ' ',
User: []byte("user2.14"),
Description: []byte("step 2.14"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (c)q\x02X\t\x00\x00\x00x-cookie5q\x03X\x05\x00\x00\x00RF8GXq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11948,
Oid: 7,
Tid: 0x0285cbae08f5c34c,
PrevRevPos: 11072,
TxnPos: 11835,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00c2.14q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12054,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae0da74199,
Status: ' ',
User: []byte("user2.15"),
Description: []byte("step 2.15"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (e)q\x02X\t\x00\x00\x00x-cookie0q\x03X\x05\x00\x00\x00H70PMq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12167,
Oid: 9,
Tid: 0x0285cbae0da74199,
PrevRevPos: 10854,
TxnPos: 12054,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00e2.15q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12273,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae1258bfe6,
Status: ' ',
User: []byte("user2.16"),
Description: []byte("step 2.16"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieOq\x01X\x05\x00\x00\x00MJ5PGq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (f)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12386,
Oid: 1,
Tid: 0x0285cbae1258bfe6,
PrevRevPos: 8910,
TxnPos: 12273,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00f2.16q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12492,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae170a3e33,
Status: ' ',
User: []byte("user2.17"),
Description: []byte("step 2.17"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (b)q\x02X\t\x00\x00\x00x-cookie1q\x03X\x05\x00\x00\x00RAZ4Vq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12605,
Oid: 8,
Tid: 0x0285cbae170a3e33,
PrevRevPos: 10206,
TxnPos: 12492,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00b2.17q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12711,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae1bbbbc80,
Status: ' ',
User: []byte("user2.18"),
Description: []byte("step 2.18"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieRq\x01X\x05\x00\x00\x00KE39Aq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (d)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12824,
Oid: 2,
Tid: 0x0285cbae1bbbbc80,
PrevRevPos: 11729,
TxnPos: 12711,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00d2.18q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12930,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae206d3acc,
Status: ' ',
User: []byte("user2.19"),
Description: []byte("step 2.19"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie8q\x01X\x05\x00\x00\x001SBCJq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (e)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13043,
Oid: 9,
Tid: 0x0285cbae206d3acc,
PrevRevPos: 12167,
TxnPos: 12930,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00e2.19q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 13149,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae251eb919,
Status: ' ',
User: []byte("user2.20"),
Description: []byte("step 2.20"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (b)q\x02X\t\x00\x00\x00x-cookieJq\x03X\x05\x00\x00\x00EAIKMq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13262,
Oid: 8,
Tid: 0x0285cbae251eb919,
PrevRevPos: 12605,
TxnPos: 13149,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00b2.20q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 13368,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae29d03766,
Status: ' ',
User: []byte("user2.21"),
Description: []byte("step 2.21"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (e)q\x02X\t\x00\x00\x00x-cookieMq\x03X\x05\x00\x00\x00ESSADq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13481,
Oid: 9,
Tid: 0x0285cbae29d03766,
PrevRevPos: 13043,
TxnPos: 13368,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00e2.21q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 13587,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae2e81b5b3,
Status: ' ',
User: []byte("user2.22"),
Description: []byte("step 2.22"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (e)q\x02X\t\x00\x00\x00x-cookieHq\x03X\x05\x00\x00\x00DL5OCq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13700,
Oid: 9,
Tid: 0x0285cbae2e81b5b3,
PrevRevPos: 13481,
TxnPos: 13587,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00e2.22q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 13806,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae33333400,
Status: ' ',
User: []byte("user2.23"),
Description: []byte("step 2.23"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x0c\x00\x00\x00zodb/py3 (d)q\x02X\t\x00\x00\x00x-cookieQq\x03X\x05\x00\x00\x00PBN2Aq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13919,
Oid: 2,
Tid: 0x0285cbae33333400,
PrevRevPos: 12824,
TxnPos: 13806,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00d2.23q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 14025,
LenPrev: 219,
Len: 219,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae37e4b24c,
Status: ' ',
User: []byte("user2.24"),
Description: []byte("step 2.24"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookie2q\x01X\x05\x00\x00\x000GV0Iq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x0c\x00\x00\x00zodb/py3 (e)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 14138,
Oid: 9,
Tid: 0x0285cbae37e4b24c,
PrevRevPos: 13700,
TxnPos: 14025,
DataLen: 56,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00e2.24q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 14244,
LenPrev: 219,
Len: 239,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae3c963099,
Status: ' ',
User: []byte("root2.0\nYour\nMagesty "),
Description: []byte("undo 2.0\nmore detailed description\n\nzzz ...\t\t"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieMq\x01X\x05\x00\x00\x00OQO01q\x02X\x0b\x00\x00\x00x-generatorq\x03X\x1f\x00\x00\x00zodb/py3 (undo b'AoXLrjMzNAA=')q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 14425,
Oid: 2,
Tid: 0x0285cbae3c963099,
PrevRevPos: 13919,
TxnPos: 14244,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x002\x18"),
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00d2.18q\x01."),
/* copy from */ 0x0285cbae1bbbbc80,
},
},
},
{
TxnHeader{
Pos: 14483,
LenPrev: 239,
Len: 240,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae4147aee6,
Status: ' ',
User: []byte("root2.1\nYour\nMagesty "),
Description: []byte("undo 2.1\nmore detailed description\n\nzzz ...\t\t\t"),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x1f\x00\x00\x00zodb/py3 (undo b'AoXLrjfkskw=')q\x02X\t\x00\x00\x00x-cookieAq\x03X\x05\x00\x00\x00VPQ8Rq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 14665,
Oid: 9,
Tid: 0x0285cbae4147aee6,
PrevRevPos: 14138,
TxnPos: 14483,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x005\x84"),
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x05\x00\x00\x00e2.22q\x01."),
/* copy from */ 0x0285cbae2e81b5b3,
},
},
},
{
TxnHeader{
Pos: 14723,
LenPrev: 240,
Len: 232,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae45f92d33,
Status: ' ',
User: []byte("user"),
Description: []byte("cyclic reference"),
Extension: []byte("\x80\x03}q\x00(X\t\x00\x00\x00x-cookieGq\x01X\x05\x00\x00\x00B6FWFq\x02X\x0b\x00\x00\x00x-generatorq\x03X\x10\x00\x00\x00zodb/py3 (cycle)q\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 14843,
Oid: 2,
Tid: 0x0285cbae45f92d33,
PrevRevPos: 14425,
TxnPos: 14723,
DataLen: 62,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03C\x08\x00\x00\x00\x00\x00\x00\x00\x02q\x01h\x00\x86q\x02Q."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 14955,
LenPrev: 232,
Len: 464,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae4aaaab80,
Status: ' ',
User: []byte(""),
Description: []byte("predelete 2"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 14989,
Oid: 0,
Tid: 0x0285cbae4aaaab80,
PrevRevPos: 8103,
TxnPos: 14955,
DataLen: 284,
},
[]byte("\x80\x03cpersistent.mapping\nPersistentMapping\nq\x00.\x80\x03}q\x01X\x04\x00\x00\x00dataq\x02}q\x03(X\x01\x00\x00\x00fq\x04C\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86q\x07QX\x01\x00\x00\x00dq\x08C\x08\x00\x00\x00\x00\x00\x00\x00\nq\th\x06\x86q\nQX\x01\x00\x00\x00gq\x0bC\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x0ch\x06\x86q\rQX\x01\x00\x00\x00bq\x0eC\x08\x00\x00\x00\x00\x00\x00\x00\x08q\x0fh\x06\x86q\x10QX\x01\x00\x00\x00aq\x11C\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x12h\x06\x86q\x13QX\x01\x00\x00\x00eq\x14C\x08\x00\x00\x00\x00\x00\x00\x00\tq\x15h\x06\x86q\x16QX\x01\x00\x00\x00cq\x17C\x08\x00\x00\x00\x00\x00\x00\x00\x07q\x18h\x06\x86q\x19Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 15315,
Oid: 10,
Tid: 0x0285cbae4aaaab80,
PrevRevPos: 0,
TxnPos: 14955,
DataLen: 54,
},
[]byte("\x80\x03czodbtools.test.gen_testdata\nObject\nq\x00.\x80\x03X\x03\x00\x00\x00d2*q\x01."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 15419,
LenPrev: 464,
Len: 266,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbae4f5c29cc,
Status: ' ',
User: []byte("root2\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
Description: []byte("delete 2\nalpha beta gamma'delta\"lambda\n\nqqq ..."),
Extension: []byte("\x80\x03}q\x00(X\x0b\x00\x00\x00x-generatorq\x01X\x13\x00\x00\x00zodb/py3 (delete 2)q\x02X\t\x00\x00\x00x-cookieTq\x03X\x05\x00\x00\x004WFSDq\x04u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 15627,
Oid: 2,
Tid: 0x0285cbae4f5c29cc,
PrevRevPos: 14843,
TxnPos: 15419,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x00\x00"),
/* deleted */ nil,
/* deleted */ 0,
},
},
},
}
ztestdataReg.Register("py3_pickle3", "testdata/py3_pickle3", &_TestDataOK{_1fs_indexTopPos, _1fs_indexEntryv, _1fs_dbEntryv})
}
// Code generated by ./py/gen-testdata; DO NOT EDIT.
package fs1
import "lab.nexedi.com/kirr/neo/go/zodb"
const _1fs_indexTopPos = 13703
var _1fs_indexEntryv = [...]indexEntry{
{ 0, 13080},
{ 1, 11320},
{ 2, 10924},
{ 3, 11914},
{ 4, 8174},
{ 5, 12988},
{ 6, 13645},
{ 7, 7633},
{ 8, 10132},
{ 9, 13354},
}
var _1fs_dbEntryv = [...]dbEntry{
{
TxnHeader{
Pos: 4,
LenPrev: 0,
Len: 159,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac258bf266,
Status: ' ',
User: []byte(""),
Description: []byte("initial database creation"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 52,
Oid: 0,
Tid: 0x0285cbac258bf266,
PrevRevPos: 0,
TxnPos: 4,
DataLen: 61,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04s."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 163,
LenPrev: 159,
Len: 354,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac3d0369e6,
Status: ' ',
User: []byte("user0.0"),
Description: []byte("step 0.0"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieSU\x05RF9IEU\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 256,
Oid: 0,
Tid: 0x0285cbac3d0369e6,
PrevRevPos: 52,
TxnPos: 163,
DataLen: 117,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04U\x01fU\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86Qss."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 415,
Oid: 1,
Tid: 0x0285cbac3d0369e6,
PrevRevPos: 0,
TxnPos: 163,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04f0.0q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 517,
LenPrev: 354,
Len: 374,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac41b4e833,
Status: ' ',
User: []byte("user0.1"),
Description: []byte("step 0.1"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieMU\x05LWIARU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 610,
Oid: 0,
Tid: 0x0285cbac41b4e833,
PrevRevPos: 256,
TxnPos: 517,
DataLen: 137,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04(U\x01dU\x08\x00\x00\x00\x00\x00\x00\x00\x02q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86QU\x01fU\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x07h\x06\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 789,
Oid: 2,
Tid: 0x0285cbac41b4e833,
PrevRevPos: 0,
TxnPos: 517,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04d0.1q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 891,
LenPrev: 374,
Len: 393,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac46666680,
Status: ' ',
User: []byte("user0.2"),
Description: []byte("step 0.2"),
Extension: []byte("\x80\x02}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (g)U\tx-cookieWU\x05ZTWBQu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 984,
Oid: 0,
Tid: 0x0285cbac46666680,
PrevRevPos: 610,
TxnPos: 891,
DataLen: 156,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04(U\x01dU\x08\x00\x00\x00\x00\x00\x00\x00\x02q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86QU\x01gU\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x07h\x06\x86QU\x01fU\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x08h\x06\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 1182,
Oid: 3,
Tid: 0x0285cbac46666680,
PrevRevPos: 0,
TxnPos: 891,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04g0.2q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1284,
LenPrev: 393,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac4b17e4cc,
Status: ' ',
User: []byte("user0.3"),
Description: []byte("step 0.3"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieHU\x053FLWYU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1377,
Oid: 2,
Tid: 0x0285cbac4b17e4cc,
PrevRevPos: 789,
TxnPos: 1284,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04d0.3q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1479,
LenPrev: 195,
Len: 412,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac4fc96319,
Status: ' ',
User: []byte("user0.4"),
Description: []byte("step 0.4"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieTU\x05SJ0PEU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1572,
Oid: 0,
Tid: 0x0285cbac4fc96319,
PrevRevPos: 984,
TxnPos: 1479,
DataLen: 175,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04(U\x01bU\x08\x00\x00\x00\x00\x00\x00\x00\x04q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86QU\x01dU\x08\x00\x00\x00\x00\x00\x00\x00\x02q\x07h\x06\x86QU\x01gU\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x08h\x06\x86QU\x01fU\x08\x00\x00\x00\x00\x00\x00\x00\x01q\th\x06\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 1789,
Oid: 4,
Tid: 0x0285cbac4fc96319,
PrevRevPos: 0,
TxnPos: 1479,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04b0.4q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 1891,
LenPrev: 412,
Len: 431,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac547ae166,
Status: ' ',
User: []byte("user0.5"),
Description: []byte("step 0.5"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie6U\x05HV8BVU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 1984,
Oid: 0,
Tid: 0x0285cbac547ae166,
PrevRevPos: 1572,
TxnPos: 1891,
DataLen: 194,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04(U\x01aU\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86QU\x01bU\x08\x00\x00\x00\x00\x00\x00\x00\x04q\x07h\x06\x86QU\x01dU\x08\x00\x00\x00\x00\x00\x00\x00\x02q\x08h\x06\x86QU\x01gU\x08\x00\x00\x00\x00\x00\x00\x00\x03q\th\x06\x86QU\x01fU\x08\x00\x00\x00\x00\x00\x00\x00\x01q\nh\x06\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 2220,
Oid: 5,
Tid: 0x0285cbac547ae166,
PrevRevPos: 0,
TxnPos: 1891,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04a0.5q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2322,
LenPrev: 431,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac592c5fb3,
Status: ' ',
User: []byte("user0.6"),
Description: []byte("step 0.6"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieIU\x05YSG2BU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2415,
Oid: 4,
Tid: 0x0285cbac592c5fb3,
PrevRevPos: 1789,
TxnPos: 2322,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04b0.6q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2517,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac5dddde00,
Status: ' ',
User: []byte("user0.7"),
Description: []byte("step 0.7"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieYU\x05JPJTJU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2610,
Oid: 5,
Tid: 0x0285cbac5dddde00,
PrevRevPos: 2220,
TxnPos: 2517,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04a0.7q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 2712,
LenPrev: 195,
Len: 450,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac628f5c4c,
Status: ' ',
User: []byte("user0.8"),
Description: []byte("step 0.8"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie6U\x05GLDKAU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 2805,
Oid: 0,
Tid: 0x0285cbac628f5c4c,
PrevRevPos: 1984,
TxnPos: 2712,
DataLen: 213,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04(U\x01aU\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86QU\x01bU\x08\x00\x00\x00\x00\x00\x00\x00\x04q\x07h\x06\x86QU\x01eU\x08\x00\x00\x00\x00\x00\x00\x00\x06q\x08h\x06\x86QU\x01dU\x08\x00\x00\x00\x00\x00\x00\x00\x02q\th\x06\x86QU\x01gU\x08\x00\x00\x00\x00\x00\x00\x00\x03q\nh\x06\x86QU\x01fU\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0bh\x06\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 3060,
Oid: 6,
Tid: 0x0285cbac628f5c4c,
PrevRevPos: 0,
TxnPos: 2712,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04e0.8q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3162,
LenPrev: 450,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac6740da99,
Status: ' ',
User: []byte("user0.9"),
Description: []byte("step 0.9"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieXU\x05NH3RVU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3255,
Oid: 6,
Tid: 0x0285cbac6740da99,
PrevRevPos: 3060,
TxnPos: 3162,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04e0.9q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3357,
LenPrev: 195,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac6bf258e6,
Status: ' ',
User: []byte("user0.10"),
Description: []byte("step 0.10"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieTU\x05XJEP9U\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3452,
Oid: 3,
Tid: 0x0285cbac6bf258e6,
PrevRevPos: 1182,
TxnPos: 3357,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g0.10q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3555,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac70a3d733,
Status: ' ',
User: []byte("user0.11"),
Description: []byte("step 0.11"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieZU\x05LYKGNU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3650,
Oid: 3,
Tid: 0x0285cbac70a3d733,
PrevRevPos: 3452,
TxnPos: 3555,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g0.11q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3753,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac75555580,
Status: ' ',
User: []byte("user0.12"),
Description: []byte("step 0.12"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie8U\x052MHMUU\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 3848,
Oid: 1,
Tid: 0x0285cbac75555580,
PrevRevPos: 415,
TxnPos: 3753,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05f0.12q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 3951,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac7a06d3cc,
Status: ' ',
User: []byte("user0.13"),
Description: []byte("step 0.13"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie5U\x057SBT3U\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4046,
Oid: 5,
Tid: 0x0285cbac7a06d3cc,
PrevRevPos: 2610,
TxnPos: 3951,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a0.13q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4149,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac7eb85219,
Status: ' ',
User: []byte("user0.14"),
Description: []byte("step 0.14"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieMU\x05KWJO0U\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4244,
Oid: 5,
Tid: 0x0285cbac7eb85219,
PrevRevPos: 4046,
TxnPos: 4149,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a0.14q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4347,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac8369d066,
Status: ' ',
User: []byte("user0.15"),
Description: []byte("step 0.15"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieYU\x05EDZ10U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4442,
Oid: 6,
Tid: 0x0285cbac8369d066,
PrevRevPos: 3255,
TxnPos: 4347,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e0.15q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4545,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac881b4eb3,
Status: ' ',
User: []byte("user0.16"),
Description: []byte("step 0.16"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie3U\x057SX0FU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4640,
Oid: 5,
Tid: 0x0285cbac881b4eb3,
PrevRevPos: 4244,
TxnPos: 4545,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a0.16q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4743,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac8ccccd00,
Status: ' ',
User: []byte("user0.17"),
Description: []byte("step 0.17"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie3U\x05NC6I1U\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 4838,
Oid: 4,
Tid: 0x0285cbac8ccccd00,
PrevRevPos: 2415,
TxnPos: 4743,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05b0.17q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 4941,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac917e4b4c,
Status: ' ',
User: []byte("user0.18"),
Description: []byte("step 0.18"),
Extension: []byte("\x80\x02}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (b)U\tx-cookieOU\x05CQUX6u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5036,
Oid: 4,
Tid: 0x0285cbac917e4b4c,
PrevRevPos: 4838,
TxnPos: 4941,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05b0.18q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5139,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac962fc999,
Status: ' ',
User: []byte("user0.19"),
Description: []byte("step 0.19"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieFU\x05OUC9LU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5234,
Oid: 5,
Tid: 0x0285cbac962fc999,
PrevRevPos: 4640,
TxnPos: 5139,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a0.19q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5337,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac9ae147e6,
Status: ' ',
User: []byte("user0.20"),
Description: []byte("step 0.20"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieUU\x05EKIBCU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5432,
Oid: 2,
Tid: 0x0285cbac9ae147e6,
PrevRevPos: 1377,
TxnPos: 5337,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05d0.20q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5535,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbac9f92c633,
Status: ' ',
User: []byte("user0.21"),
Description: []byte("step 0.21"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie8U\x050QC1AU\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5630,
Oid: 2,
Tid: 0x0285cbac9f92c633,
PrevRevPos: 5432,
TxnPos: 5535,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05d0.21q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 5733,
LenPrev: 198,
Len: 472,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbaca4444480,
Status: ' ',
User: []byte("user0.22"),
Description: []byte("step 0.22"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookiePU\x05ACYMMU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 5828,
Oid: 0,
Tid: 0x0285cbaca4444480,
PrevRevPos: 2805,
TxnPos: 5733,
DataLen: 232,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04(U\x01aU\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86QU\x01cU\x08\x00\x00\x00\x00\x00\x00\x00\x07q\x07h\x06\x86QU\x01bU\x08\x00\x00\x00\x00\x00\x00\x00\x04q\x08h\x06\x86QU\x01eU\x08\x00\x00\x00\x00\x00\x00\x00\x06q\th\x06\x86QU\x01dU\x08\x00\x00\x00\x00\x00\x00\x00\x02q\nh\x06\x86QU\x01gU\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x0bh\x06\x86QU\x01fU\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0ch\x06\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 6102,
Oid: 7,
Tid: 0x0285cbaca4444480,
PrevRevPos: 0,
TxnPos: 5733,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05c0.22q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6205,
LenPrev: 472,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbaca8f5c2cc,
Status: ' ',
User: []byte("user0.23"),
Description: []byte("step 0.23"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieMU\x05N06C8U\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6300,
Oid: 7,
Tid: 0x0285cbaca8f5c2cc,
PrevRevPos: 6102,
TxnPos: 6205,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05c0.23q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6403,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacada74119,
Status: ' ',
User: []byte("user0.24"),
Description: []byte("step 0.24"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieNU\x05KEEPFU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6498,
Oid: 3,
Tid: 0x0285cbacada74119,
PrevRevPos: 3650,
TxnPos: 6403,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g0.24q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 6601,
LenPrev: 198,
Len: 216,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacb258bf66,
Status: ' ',
User: []byte("root0.0\nYour\nMagesty "),
Description: []byte("undo 0.0\nmore detailed description\n\nzzz ..."),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieKU\x05G95IHU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrKj1wsw=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6759,
Oid: 7,
Tid: 0x0285cbacb258bf66,
PrevRevPos: 6300,
TxnPos: 6601,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x17\xd6"),
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05c0.22q\x02."),
/* copy from */ 0x0285cbaca4444480,
},
},
},
{
TxnHeader{
Pos: 6817,
LenPrev: 216,
Len: 217,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacb70a3db3,
Status: ' ',
User: []byte("root0.1\nYour\nMagesty "),
Description: []byte("undo 0.1\nmore detailed description\n\nzzz ...\t"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieVU\x05VHBGTU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrK2nQRk=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 6976,
Oid: 3,
Tid: 0x0285cbacb70a3db3,
PrevRevPos: 6498,
TxnPos: 6817,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x0eB"),
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g0.11q\x02."),
/* copy from */ 0x0285cbac70a3d733,
},
},
},
{
TxnHeader{
Pos: 7034,
LenPrev: 217,
Len: 409,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacbbbbbc00,
Status: ' ',
User: []byte(""),
Description: []byte("predelete 7"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7068,
Oid: 0,
Tid: 0x0285cbacbbbbbc00,
PrevRevPos: 5828,
TxnPos: 7034,
DataLen: 232,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04(U\x01aU\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86QU\x01cU\x08\x00\x00\x00\x00\x00\x00\x00\x08q\x07h\x06\x86QU\x01bU\x08\x00\x00\x00\x00\x00\x00\x00\x04q\x08h\x06\x86QU\x01eU\x08\x00\x00\x00\x00\x00\x00\x00\x06q\th\x06\x86QU\x01dU\x08\x00\x00\x00\x00\x00\x00\x00\x02q\nh\x06\x86QU\x01gU\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x0bh\x06\x86QU\x01fU\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0ch\x06\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 7342,
Oid: 8,
Tid: 0x0285cbacbbbbbc00,
PrevRevPos: 0,
TxnPos: 7034,
DataLen: 51,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x03c0*q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 7443,
LenPrev: 409,
Len: 248,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacc06d3a4c,
Status: ' ',
User: []byte("root0\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
Description: []byte("delete 0\nalpha beta gamma'delta\"lambda\n\nqqq ..."),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieEU\x05ZM3QZU\x0bx-generatorq\x02U\x13zodb/py2 (delete 7)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7633,
Oid: 7,
Tid: 0x0285cbacc06d3a4c,
PrevRevPos: 6759,
TxnPos: 7443,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x00\x00"),
/* deleted */ nil,
/* deleted */ 0,
},
},
},
{
TxnHeader{
Pos: 7691,
LenPrev: 248,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbacfd70a433,
Status: ' ',
User: []byte("user1.0"),
Description: []byte("step 1.0"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie3U\x057P0TJU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7784,
Oid: 8,
Tid: 0x0285cbacfd70a433,
PrevRevPos: 7342,
TxnPos: 7691,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04c1.0q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 7886,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad02222280,
Status: ' ',
User: []byte("user1.1"),
Description: []byte("step 1.1"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieEU\x05VAZ3UU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 7979,
Oid: 6,
Tid: 0x0285cbad02222280,
PrevRevPos: 4442,
TxnPos: 7886,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04e1.1q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8081,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad06d3a0cc,
Status: ' ',
User: []byte("user1.2"),
Description: []byte("step 1.2"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieNU\x05GSV4IU\x0bx-generatorq\x02U\x0czodb/py2 (b)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8174,
Oid: 4,
Tid: 0x0285cbad06d3a0cc,
PrevRevPos: 5036,
TxnPos: 8081,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04b1.2q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8276,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad0b851f19,
Status: ' ',
User: []byte("user1.3"),
Description: []byte("step 1.3"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieYU\x05A01OKU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8369,
Oid: 3,
Tid: 0x0285cbad0b851f19,
PrevRevPos: 6976,
TxnPos: 8276,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04g1.3q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8471,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad10369d66,
Status: ' ',
User: []byte("user1.4"),
Description: []byte("step 1.4"),
Extension: []byte("\x80\x02}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (g)U\tx-cookieWU\x051QPNPu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8564,
Oid: 3,
Tid: 0x0285cbad10369d66,
PrevRevPos: 8369,
TxnPos: 8471,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04g1.4q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8666,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad14e81bb3,
Status: ' ',
User: []byte("user1.5"),
Description: []byte("step 1.5"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieCU\x05J7L05U\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8759,
Oid: 8,
Tid: 0x0285cbad14e81bb3,
PrevRevPos: 7784,
TxnPos: 8666,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04c1.5q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 8861,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad19999a00,
Status: ' ',
User: []byte("user1.6"),
Description: []byte("step 1.6"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieAU\x05CM15ZU\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 8954,
Oid: 1,
Tid: 0x0285cbad19999a00,
PrevRevPos: 3848,
TxnPos: 8861,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04f1.6q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9056,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad1e4b184c,
Status: ' ',
User: []byte("user1.7"),
Description: []byte("step 1.7"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieIU\x05AH816U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9149,
Oid: 2,
Tid: 0x0285cbad1e4b184c,
PrevRevPos: 5630,
TxnPos: 9056,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04d1.7q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9251,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad22fc9699,
Status: ' ',
User: []byte("user1.8"),
Description: []byte("step 1.8"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieUU\x05BE3WHU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9344,
Oid: 8,
Tid: 0x0285cbad22fc9699,
PrevRevPos: 8759,
TxnPos: 9251,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04c1.8q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9446,
LenPrev: 195,
Len: 195,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad27ae14e6,
Status: ' ',
User: []byte("user1.9"),
Description: []byte("step 1.9"),
Extension: []byte("\x80\x02}q\x01(U\x0bx-generatorq\x02U\x0czodb/py2 (c)U\tx-cookieWU\x05HPFAQu."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9539,
Oid: 8,
Tid: 0x0285cbad27ae14e6,
PrevRevPos: 9344,
TxnPos: 9446,
DataLen: 52,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x04c1.9q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9641,
LenPrev: 195,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad2c5f9333,
Status: ' ',
User: []byte("user1.10"),
Description: []byte("step 1.10"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieQU\x05DZM23U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9736,
Oid: 6,
Tid: 0x0285cbad2c5f9333,
PrevRevPos: 7979,
TxnPos: 9641,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e1.10q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 9839,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad31111180,
Status: ' ',
User: []byte("user1.11"),
Description: []byte("step 1.11"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieOU\x05EIGHLU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 9934,
Oid: 5,
Tid: 0x0285cbad31111180,
PrevRevPos: 5234,
TxnPos: 9839,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a1.11q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10037,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad35c28fcc,
Status: ' ',
User: []byte("user1.12"),
Description: []byte("step 1.12"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie2U\x05Z9RFCU\x0bx-generatorq\x02U\x0czodb/py2 (c)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10132,
Oid: 8,
Tid: 0x0285cbad35c28fcc,
PrevRevPos: 9539,
TxnPos: 10037,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05c1.12q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10235,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad3a740e19,
Status: ' ',
User: []byte("user1.13"),
Description: []byte("step 1.13"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie7U\x05WGO4EU\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10330,
Oid: 6,
Tid: 0x0285cbad3a740e19,
PrevRevPos: 9736,
TxnPos: 10235,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e1.13q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10433,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad3f258c66,
Status: ' ',
User: []byte("user1.14"),
Description: []byte("step 1.14"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie5U\x05757DJU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10528,
Oid: 3,
Tid: 0x0285cbad3f258c66,
PrevRevPos: 8564,
TxnPos: 10433,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g1.14q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10631,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad43d70ab3,
Status: ' ',
User: []byte("user1.15"),
Description: []byte("step 1.15"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieXU\x055EOVHU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10726,
Oid: 3,
Tid: 0x0285cbad43d70ab3,
PrevRevPos: 10528,
TxnPos: 10631,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g1.15q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 10829,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad48888900,
Status: ' ',
User: []byte("user1.16"),
Description: []byte("step 1.16"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieCU\x05HO7L7U\x0bx-generatorq\x02U\x0czodb/py2 (d)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 10924,
Oid: 2,
Tid: 0x0285cbad48888900,
PrevRevPos: 9149,
TxnPos: 10829,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05d1.16q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11027,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad4d3a074c,
Status: ' ',
User: []byte("user1.17"),
Description: []byte("step 1.17"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieUU\x05T159SU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11122,
Oid: 3,
Tid: 0x0285cbad4d3a074c,
PrevRevPos: 10726,
TxnPos: 11027,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g1.17q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11225,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad51eb8599,
Status: ' ',
User: []byte("user1.18"),
Description: []byte("step 1.18"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie8U\x05T23V1U\x0bx-generatorq\x02U\x0czodb/py2 (f)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11320,
Oid: 1,
Tid: 0x0285cbad51eb8599,
PrevRevPos: 8954,
TxnPos: 11225,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05f1.18q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11423,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad569d03e6,
Status: ' ',
User: []byte("user1.19"),
Description: []byte("step 1.19"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieYU\x05UB55NU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11518,
Oid: 5,
Tid: 0x0285cbad569d03e6,
PrevRevPos: 9934,
TxnPos: 11423,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a1.19q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11621,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad5b4e8233,
Status: ' ',
User: []byte("user1.20"),
Description: []byte("step 1.20"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieZU\x05IKOSRU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11716,
Oid: 3,
Tid: 0x0285cbad5b4e8233,
PrevRevPos: 11122,
TxnPos: 11621,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g1.20q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 11819,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad60000080,
Status: ' ',
User: []byte("user1.21"),
Description: []byte("step 1.21"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieSU\x057JLTHU\x0bx-generatorq\x02U\x0czodb/py2 (g)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 11914,
Oid: 3,
Tid: 0x0285cbad60000080,
PrevRevPos: 11716,
TxnPos: 11819,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05g1.21q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12017,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad64b17ecc,
Status: ' ',
User: []byte("user1.22"),
Description: []byte("step 1.22"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieIU\x05USN06U\x0bx-generatorq\x02U\x0czodb/py2 (e)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12112,
Oid: 6,
Tid: 0x0285cbad64b17ecc,
PrevRevPos: 10330,
TxnPos: 12017,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e1.22q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12215,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad6962fd19,
Status: ' ',
User: []byte("user1.23"),
Description: []byte("step 1.23"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookie2U\x05UXAETU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12310,
Oid: 5,
Tid: 0x0285cbad6962fd19,
PrevRevPos: 11518,
TxnPos: 12215,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a1.23q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12413,
LenPrev: 198,
Len: 198,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad6e147b66,
Status: ' ',
User: []byte("user1.24"),
Description: []byte("step 1.24"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieHU\x05AT11FU\x0bx-generatorq\x02U\x0czodb/py2 (a)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12508,
Oid: 5,
Tid: 0x0285cbad6e147b66,
PrevRevPos: 12310,
TxnPos: 12413,
DataLen: 53,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a1.24q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 12611,
LenPrev: 198,
Len: 217,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad77777800,
Status: ' ',
User: []byte("root1.0\nYour\nMagesty "),
Description: []byte("undo 1.0\nmore detailed description\n\nzzz ...\t"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieMU\x051G51MU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrWSxfsw=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12770,
Oid: 6,
Tid: 0x0285cbad77777800,
PrevRevPos: 12112,
TxnPos: 12611,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00(Z"),
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05e1.13q\x02."),
/* copy from */ 0x0285cbad3a740e19,
},
},
},
{
TxnHeader{
Pos: 12828,
LenPrev: 217,
Len: 218,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad7c28f64c,
Status: ' ',
User: []byte("root1.1\nYour\nMagesty "),
Description: []byte("undo 1.1\nmore detailed description\n\nzzz ...\t\t"),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieVU\x05JCDRHU\x0bx-generatorq\x02U\x1czodb/py2 (undo AoXLrW4Ue2Y=)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 12988,
Oid: 5,
Tid: 0x0285cbad7c28f64c,
PrevRevPos: 12508,
TxnPos: 12828,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x000\x16"),
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x05a1.23q\x02."),
/* copy from */ 0x0285cbad6962fd19,
},
},
},
{
TxnHeader{
Pos: 13046,
LenPrev: 218,
Len: 409,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad80da7499,
Status: ' ',
User: []byte(""),
Description: []byte("predelete 6"),
Extension: []byte(""),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13080,
Oid: 0,
Tid: 0x0285cbad80da7499,
PrevRevPos: 7068,
TxnPos: 13046,
DataLen: 232,
},
[]byte("\x80\x02cpersistent.mapping\nPersistentMapping\nq\x01.\x80\x02}q\x02U\x04dataq\x03}q\x04(U\x01aU\x08\x00\x00\x00\x00\x00\x00\x00\x05q\x05czodbtools.test.gen_testdata\nObject\nq\x06\x86QU\x01cU\x08\x00\x00\x00\x00\x00\x00\x00\x08q\x07h\x06\x86QU\x01bU\x08\x00\x00\x00\x00\x00\x00\x00\x04q\x08h\x06\x86QU\x01eU\x08\x00\x00\x00\x00\x00\x00\x00\tq\th\x06\x86QU\x01dU\x08\x00\x00\x00\x00\x00\x00\x00\x02q\nh\x06\x86QU\x01gU\x08\x00\x00\x00\x00\x00\x00\x00\x03q\x0bh\x06\x86QU\x01fU\x08\x00\x00\x00\x00\x00\x00\x00\x01q\x0ch\x06\x86Qus."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
{
DataHeader{
Pos: 13354,
Oid: 9,
Tid: 0x0285cbad80da7499,
PrevRevPos: 0,
TxnPos: 13046,
DataLen: 51,
},
[]byte("\x80\x02czodbtools.test.gen_testdata\nObject\nq\x01.\x80\x02U\x03e1*q\x02."),
/* same as ^^^ */ sameAsRaw,
/* no copy */ 0,
},
},
},
{
TxnHeader{
Pos: 13455,
LenPrev: 409,
Len: 248,
TxnInfo: zodb.TxnInfo{
Tid: 0x0285cbad858bf2e6,
Status: ' ',
User: []byte("root1\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
Description: []byte("delete 1\nalpha beta gamma'delta\"lambda\n\nqqq ..."),
Extension: []byte("\x80\x02}q\x01(U\tx-cookieSU\x05MC4OMU\x0bx-generatorq\x02U\x13zodb/py2 (delete 6)u."),
},
},
[]txnEntry{
{
DataHeader{
Pos: 13645,
Oid: 6,
Tid: 0x0285cbad858bf2e6,
PrevRevPos: 12770,
TxnPos: 13455,
DataLen: 0,
},
[]byte("\x00\x00\x00\x00\x00\x00\x00\x00"),
/* deleted */ nil,
/* deleted */ 0,
},
},
},
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment