Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
neoppod
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Levin Zimmermann
neoppod
Commits
1eb56978
Commit
1eb56978
authored
Mar 15, 2017
by
Kirill Smelkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
X got python quoting right
parent
fa3a552c
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
253 additions
and
208 deletions
+253
-208
t/neo/storage/fs1/cmd/fstail/fstail.go
t/neo/storage/fs1/cmd/fstail/fstail.go
+49
-14
t/neo/storage/fs1/cmd/fstail/testdata/1.fsdump.ok
t/neo/storage/fs1/cmd/fstail/testdata/1.fsdump.ok
+59
-59
t/neo/storage/fs1/py/gen-testdata
t/neo/storage/fs1/py/gen-testdata
+4
-1
t/neo/storage/fs1/testdata/1.fs
t/neo/storage/fs1/testdata/1.fs
+0
-0
t/neo/storage/fs1/testdata/1.fs.index
t/neo/storage/fs1/testdata/1.fs.index
+0
-0
t/neo/storage/fs1/testdata_expect_test.go
t/neo/storage/fs1/testdata_expect_test.go
+129
-129
t/neo/zodb/cmd/zodbdump/testdata/1.zdump.pyok
t/neo/zodb/cmd/zodbdump/testdata/1.zdump.pyok
+0
-0
t/neo/zodb/cmd/zodbdump/zodbdump_test.go
t/neo/zodb/cmd/zodbdump/zodbdump_test.go
+12
-5
No files found.
t/neo/storage/fs1/cmd/fstail/fstail.go
View file @
1eb56978
...
@@ -29,6 +29,7 @@ import (
...
@@ -29,6 +29,7 @@ import (
"log"
"log"
"os"
"os"
"strconv"
"strconv"
"strings"
"unicode/utf8"
"unicode/utf8"
"../../../../storage/fs1"
"../../../../storage/fs1"
...
@@ -36,9 +37,7 @@ import (
...
@@ -36,9 +37,7 @@ import (
"lab.nexedi.com/kirr/go123/mem"
"lab.nexedi.com/kirr/go123/mem"
)
)
// pyQuote quotes string the way python would do it
// pyQuote quotes string the way python repr(str) would do it
// specifically quote char is ' (not " as in go)
// XXX s = 'a\'bc'; print repr(s) -> "a'bc" (not 'a\'bc' <- XXX fix this
func
pyQuote
(
s
string
)
string
{
func
pyQuote
(
s
string
)
string
{
out
:=
pyQuoteBytes
(
mem
.
Bytes
(
s
))
out
:=
pyQuoteBytes
(
mem
.
Bytes
(
s
))
return
mem
.
String
(
out
)
return
mem
.
String
(
out
)
...
@@ -47,19 +46,52 @@ func pyQuote(s string) string {
...
@@ -47,19 +46,52 @@ func pyQuote(s string) string {
func
pyQuoteBytes
(
b
[]
byte
)
[]
byte
{
func
pyQuoteBytes
(
b
[]
byte
)
[]
byte
{
s
:=
mem
.
String
(
b
)
s
:=
mem
.
String
(
b
)
buf
:=
make
([]
byte
,
0
,
len
(
s
))
buf
:=
make
([]
byte
,
0
,
len
(
s
))
buf
=
append
(
buf
,
'\'
'
)
// smartquotes: choose ' or " as quoting character
// https://github.com/python/cpython/blob/v2.7.13-116-g1aa1803b3d/Objects/stringobject.c#L947
quote
:=
byte
(
'\'
'
)
noquote
:=
byte
(
'"'
)
if
strings
.
ContainsRune
(
s
,
'\'
'
)
&&
!
strings
.
ContainsRune
(
s
,
'"'
)
{
quote
,
noquote
=
noquote
,
quote
}
buf
=
append
(
buf
,
quote
)
for
i
,
r
:=
range
s
{
for
i
,
r
:=
range
s
{
if
r
==
utf8
.
RuneError
{
switch
r
{
buf
=
append
(
buf
,
[]
byte
(
fmt
.
Sprintf
(
"
\\
x%0x"
,
s
[
i
]))
...
)
case
utf8
.
RuneError
:
}
else
{
buf
=
append
(
buf
,
[]
byte
(
fmt
.
Sprintf
(
"
\\
x%02x"
,
s
[
i
]))
...
)
rq
:=
strconv
.
QuoteRune
(
r
)
// "'\x01'"
case
'\\'
,
rune
(
quote
)
:
rq
=
rq
[
1
:
len
(
rq
)
-
1
]
// "\x01"
buf
=
append
(
buf
,
'\\'
,
byte
(
r
))
buf
=
append
(
buf
,
rq
...
)
case
rune
(
noquote
)
:
buf
=
append
(
buf
,
noquote
)
// NOTE python converts to \<letter> only \t \n \r (not e.g. \v)
// https://github.com/python/cpython/blob/v2.7.13-116-g1aa1803b3d/Objects/stringobject.c#L963
case
'\t'
:
buf
=
append
(
buf
,
`\t`
...
)
case
'\n'
:
buf
=
append
(
buf
,
`\n`
...
)
case
'\r'
:
buf
=
append
(
buf
,
`\r`
...
)
default
:
switch
{
case
r
<
' '
:
// we already converted to \<letter> what python represents as such above
buf
=
append
(
buf
,
[]
byte
(
fmt
.
Sprintf
(
"
\\
x%02x"
,
s
[
i
]))
...
)
default
:
// we aleady handled ', " and (< ' ') above, so now it
// should be safe to reuse strconv.QuoteRune
rq
:=
strconv
.
QuoteRune
(
r
)
// "'\x01'"
rq
=
rq
[
1
:
len
(
rq
)
-
1
]
// "\x01"
buf
=
append
(
buf
,
rq
...
)
}
}
}
}
}
buf
=
append
(
buf
,
'\'
'
)
buf
=
append
(
buf
,
quote
)
return
buf
return
buf
}
}
...
@@ -141,7 +173,11 @@ func fsDump(w io.Writer, path string, ntxn int) (err error) {
...
@@ -141,7 +173,11 @@ func fsDump(w io.Writer, path string, ntxn int) (err error) {
// print information about read txn record
// print information about read txn record
_
,
err
=
fmt
.
Fprintf
(
w
,
"%s: hash=%x
\n
user=%s description=%s length=%d offset=%d (+%d)
\n\n
"
,
_
,
err
=
fmt
.
Fprintf
(
w
,
"%s: hash=%x
\n
user=%s description=%s length=%d offset=%d (+%d)
\n\n
"
,
txnh
.
Tid
.
Time
(),
sha1
.
Sum
(
data
),
txnh
.
Tid
.
Time
(),
sha1
.
Sum
(
data
),
// fstail.py uses repr to print user/description:
// https://github.com/zopefoundation/ZODB/blob/5.2.0-4-g359f40ec7/src/ZODB/scripts/fstail.py#L39
pyQuoteBytes
(
txnh
.
User
),
pyQuoteBytes
(
txnh
.
Description
),
pyQuoteBytes
(
txnh
.
User
),
pyQuoteBytes
(
txnh
.
Description
),
// NOTE in zodb/py .length is len - 8, in zodb/go - whole txn record length
// NOTE in zodb/py .length is len - 8, in zodb/go - whole txn record length
txnh
.
Len
-
8
,
txnh
.
Len
-
8
,
txnh
.
Pos
,
txnh
.
HeaderLen
())
txnh
.
Pos
,
txnh
.
HeaderLen
())
...
@@ -157,7 +193,7 @@ func fsDump(w io.Writer, path string, ntxn int) (err error) {
...
@@ -157,7 +193,7 @@ func fsDump(w io.Writer, path string, ntxn int) (err error) {
func
main
()
{
func
main
()
{
ntxn
:=
10
ntxn
:=
10
usage
:
=
func
()
{
flag
.
Usage
=
func
()
{
fmt
.
Fprintf
(
os
.
Stderr
,
fmt
.
Fprintf
(
os
.
Stderr
,
`fstail [options] <storage>
`fstail [options] <storage>
Dump transactions from a FileStorage in reverse order
Dump transactions from a FileStorage in reverse order
...
@@ -171,13 +207,12 @@ Dump transactions from a FileStorage in reverse order
...
@@ -171,13 +207,12 @@ Dump transactions from a FileStorage in reverse order
`
,
ntxn
)
`
,
ntxn
)
}
}
flag
.
Usage
=
usage
flag
.
IntVar
(
&
ntxn
,
"n"
,
ntxn
,
"output the last <N> transactions"
)
flag
.
IntVar
(
&
ntxn
,
"n"
,
ntxn
,
"output the last <N> transactions"
)
flag
.
Parse
()
flag
.
Parse
()
argv
:=
flag
.
Args
()
argv
:=
flag
.
Args
()
if
len
(
argv
)
<
1
{
if
len
(
argv
)
<
1
{
u
sage
()
flag
.
U
sage
()
os
.
Exit
(
2
)
// XXX recheck it is same as from flag.Parse on -zzz
os
.
Exit
(
2
)
// XXX recheck it is same as from flag.Parse on -zzz
}
}
storPath
:=
argv
[
0
]
storPath
:=
argv
[
0
]
...
...
t/neo/storage/fs1/cmd/fstail/testdata/1.fsdump.ok
View file @
1eb56978
1979-01-03 21:01:31.300002: hash=
9176cad01fe2751a2317912476da043f2cd27085
1979-01-03 21:01:31.300002: hash=
132dacc98500dc2f6d3ed7339fb9f8e820719477
user="root1\nYour\nRoyal\nMagesty'
" description='delete 1\nalpha beta gamma\'delta"lambda\n\nqqq ...' length=206 offset=11948 (+156
)
user="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='delete 1\nalpha beta gamma\'delta"lambda\n\nqqq ...' length=238 offset=11980 (+188
)
1979-01-03 21:01:30.200002: hash=
4c2bcec885530156e134f089e7255a0ad1f2eab0
1979-01-03 21:01:30.200002: hash=
d783be6d164baac8786e235590903bc67e949b61
user='' description='predelete 6' length=362 offset=11
578
(+34)
user='' description='predelete 6' length=362 offset=11
610
(+34)
1979-01-03 21:01:29.100002: hash=
fd3148ac612b6ec793747165c73ce236a3b61702
1979-01-03 21:01:29.100002: hash=
7ec0737f615cf705cebfbda1a0b89412adb52d0a
user='root1.1\nYour\nMagesty ' description='undo 1.1\nmore detailed description\n\nzzz ...\t\t' length=208 offset=113
62
(+158)
user='root1.1\nYour\nMagesty ' description='undo 1.1\nmore detailed description\n\nzzz ...\t\t' length=208 offset=113
94
(+158)
1979-01-03 21:01:28.000002: hash=
ef9928d3049ad902a5d98293d46358cea8f44319
1979-01-03 21:01:28.000002: hash=
c2fcc684a7916bdcce0a8ba9cb9c9391ba13654d
user='root1.0\nYour\nMagesty ' description='undo 1.0\nmore detailed description\n\nzzz ...\t' length=207 offset=111
47
(+157)
user='root1.0\nYour\nMagesty ' description='undo 1.0\nmore detailed description\n\nzzz ...\t' length=207 offset=111
79
(+157)
1979-01-03 21:01:25.800002: hash=
bc4c742d2821d463ffad5348f6c86d4ed44996cf
1979-01-03 21:01:25.800002: hash=
392f2216c2c2ae37d1a396bfe0394d85aad0f1dc
user='user1.24' description='step 1.24' length=165 offset=1
0974
(+93)
user='user1.24' description='step 1.24' length=165 offset=1
1006
(+93)
1979-01-03 21:01:24.700002: hash=
ad2bfa76c1c7288f99831397715d120a84ac3e63
1979-01-03 21:01:24.700002: hash=
89f5e0ad5af7fa46d418412ecb5ccf8ec5d550f4
user='user1.23' description='step 1.23' length=165 offset=108
01
(+93)
user='user1.23' description='step 1.23' length=165 offset=108
33
(+93)
1979-01-03 21:01:23.600002: hash=
722921c9dd036f270f505d4e1645a63b62f6bac1
1979-01-03 21:01:23.600002: hash=
422d4514a5a0cf08afc427b2a589264fa798f0fd
user='user1.22' description='step 1.22' length=165 offset=106
28
(+93)
user='user1.22' description='step 1.22' length=165 offset=106
60
(+93)
1979-01-03 21:01:22.500002: hash=
f22d4cdd01d17a66d53e8727b1305c227983b194
1979-01-03 21:01:22.500002: hash=
11ecff1984ddf48e3da386bc4d689900fb70c9b1
user='user1.21' description='step 1.21' length=165 offset=104
55
(+93)
user='user1.21' description='step 1.21' length=165 offset=104
87
(+93)
1979-01-03 21:01:21.400002: hash=
e3c412c26b6522c046bdfe630eef32451b50ba69
1979-01-03 21:01:21.400002: hash=
1057ae69f5f40b49fb610f8672698ecd31dd3501
user='user1.20' description='step 1.20' length=165 offset=10
282
(+93)
user='user1.20' description='step 1.20' length=165 offset=10
314
(+93)
1979-01-03 21:01:20.300002: hash=
54cdd59a7131c0784bb3236471d857ed6f33f9b9
1979-01-03 21:01:20.300002: hash=
916cb146cafdc4094f57ec64b32256195e6bd0b5
user='user1.19' description='step 1.19' length=165 offset=101
09
(+93)
user='user1.19' description='step 1.19' length=165 offset=101
41
(+93)
1979-01-03 21:01:19.200002: hash=
20a4abf3c8a0984798374af5ed890e2910f46265
1979-01-03 21:01:19.200002: hash=
422ddafb8ba35869bb887c583cb15cb35ee90d0a
user='user1.18' description='step 1.18' length=165 offset=99
36
(+93)
user='user1.18' description='step 1.18' length=165 offset=99
68
(+93)
1979-01-03 21:01:18.100002: hash=
a7c66e66a6e25cafe9b046b5a41993287ba3e296
1979-01-03 21:01:18.100002: hash=
5c0b9f3fc2cb8da9de23109cbb05b47600209a3f
user='user1.17' description='step 1.17' length=165 offset=97
63
(+93)
user='user1.17' description='step 1.17' length=165 offset=97
95
(+93)
1979-01-03 21:01:17.000002: hash=
a69f094230ca875a963524c93a35d23f0687308d
1979-01-03 21:01:17.000002: hash=
7bc7b122bc5b19fc5956ea1fadff26bddd6d76ef
user='user1.16' description='step 1.16' length=165 offset=9
590
(+93)
user='user1.16' description='step 1.16' length=165 offset=9
622
(+93)
1979-01-03 21:01:15.900002: hash=
96316e0682da99e24c5d587b4bd4d2f3150eea8b
1979-01-03 21:01:15.900002: hash=
c883974a78a88618132cf3152d29db1ee3626da9
user='user1.15' description='step 1.15' length=165 offset=94
17
(+93)
user='user1.15' description='step 1.15' length=165 offset=94
49
(+93)
1979-01-03 21:01:14.800002: hash=
da20e7ad9c0f55e7576dba5ffd9912c37d05923
2
1979-01-03 21:01:14.800002: hash=
7f3e20b9ba460593174bb9f1a9901aa6f8b559e
2
user='user1.14' description='step 1.14' length=165 offset=92
44
(+93)
user='user1.14' description='step 1.14' length=165 offset=92
76
(+93)
1979-01-03 21:01:13.700002: hash=
877241dc4a5f14d24a7779917310332f6c2e414e
1979-01-03 21:01:13.700002: hash=
3818e96310cf6e6b67709fc486858fc223113be5
user='user1.13' description='step 1.13' length=165 offset=9
071
(+93)
user='user1.13' description='step 1.13' length=165 offset=9
103
(+93)
1979-01-03 21:01:12.600002: hash=
321ea792b7e67ac9339de238e817ca639d7f42ec
1979-01-03 21:01:12.600002: hash=
97a27eaa6771b0fc8a0473251ef2f06a65866c08
user='user1.12' description='step 1.12' length=165 offset=8
898
(+93)
user='user1.12' description='step 1.12' length=165 offset=8
930
(+93)
1979-01-03 21:01:11.500002: hash=
6b64527e3ba109266a8d68321147d54af8d6edc
7
1979-01-03 21:01:11.500002: hash=
ca201ecaf94a4809b6c87b9c22e827cc8e90161
7
user='user1.11' description='step 1.11' length=165 offset=87
25
(+93)
user='user1.11' description='step 1.11' length=165 offset=87
57
(+93)
1979-01-03 21:01:10.400002: hash=
a5db043429fc63d48df1922ab60f3e6990d3561c
1979-01-03 21:01:10.400002: hash=
f9cd2cadaef25f9854e589965d5a6dfee9a42b2e
user='user1.10' description='step 1.10' length=165 offset=85
52
(+93)
user='user1.10' description='step 1.10' length=165 offset=85
84
(+93)
1979-01-03 21:01:09.300001: hash=
200139e7913a7ff53a34c6f5484b92128b246cde
1979-01-03 21:01:09.300001: hash=
3cc0c694df5aaf607331a3b5f0f7246353d2cea5
user='user1.9' description='step 1.9' length=162 offset=8
382
(+91)
user='user1.9' description='step 1.9' length=162 offset=8
414
(+91)
1979-01-03 21:01:08.200001: hash=
39dfd11d1f24fb97387aeabf2a013f6ede6385dd
1979-01-03 21:01:08.200001: hash=
a2c2c7e3fd68f0f464e8df2e2d657403ebe998b1
user='user1.8' description='step 1.8' length=162 offset=82
12
(+91)
user='user1.8' description='step 1.8' length=162 offset=82
44
(+91)
1979-01-03 21:01:07.100001: hash=
9f7327cd475602bca99bf085aabf6051f2573313
1979-01-03 21:01:07.100001: hash=
8aaae32a640e94ec46c56604ef727d819174dadf
user='user1.7' description='step 1.7' length=162 offset=80
42
(+91)
user='user1.7' description='step 1.7' length=162 offset=80
74
(+91)
1979-01-03 21:01:06.000001: hash=
735edd1e61556098b0268dee9df1cae6a66aa938
1979-01-03 21:01:06.000001: hash=
d6a491262e79be892f77442401851e97057a5e1b
user='user1.6' description='step 1.6' length=162 offset=7
872
(+91)
user='user1.6' description='step 1.6' length=162 offset=7
904
(+91)
1979-01-03 21:01:04.900001: hash=4
3863e7c4b4fb3f1bd400248d71fabbdac9456b6
1979-01-03 21:01:04.900001: hash=4
67a7e8eb8c9c42d6dd07ce66869a6b549864899
user='user1.5' description='step 1.5' length=162 offset=77
02
(+91)
user='user1.5' description='step 1.5' length=162 offset=77
34
(+91)
1979-01-03 21:01:03.800001: hash=
22ee061f2372fd74d03cf5dd54197bc3aa12a816
1979-01-03 21:01:03.800001: hash=
5e3e9b8032ac4a1343b115fbfb662bdc5c5778e4
user='user1.4' description='step 1.4' length=162 offset=75
32
(+91)
user='user1.4' description='step 1.4' length=162 offset=75
64
(+91)
1979-01-03 21:01:02.700001: hash=
be00cfff67f8f186cce0efb4be7af5525a8fdda7
1979-01-03 21:01:02.700001: hash=
cef316831ff36f956440a7586df1a0170e7b8111
user='user1.3' description='step 1.3' length=162 offset=73
62
(+91)
user='user1.3' description='step 1.3' length=162 offset=73
94
(+91)
1979-01-03 21:01:01.600001: hash=
152e5811cc260c0e9c28cf6bc0c5fb5c147b4daa
1979-01-03 21:01:01.600001: hash=
9844714205a885699405eb241cdb65f8bc08a503
user='user1.2' description='step 1.2' length=162 offset=7
192
(+91)
user='user1.2' description='step 1.2' length=162 offset=7
224
(+91)
1979-01-03 21:01:00.500001: hash=
16e51f130683d896e8d182ebdd3bb80ae35d605
0
1979-01-03 21:01:00.500001: hash=
aa5020c400ecf153ec97c3565fb2948641830fd
0
user='user1.1' description='step 1.1' length=162 offset=70
22
(+91)
user='user1.1' description='step 1.1' length=162 offset=70
54
(+91)
1979-01-03 21:00:59.400001: hash=
17453ac2d8f8044d959f763516b56eda268e96ad
1979-01-03 21:00:59.400001: hash=
3781d0578e07d668c46a4d446425c37924261501
user='user1.0' description='step 1.0' length=162 offset=68
52
(+91)
user='user1.0' description='step 1.0' length=162 offset=68
84
(+91)
1979-01-03 21:00:45.100001: hash=51db603ba9898da20dbe162dd20e4a76aeacbfeb
1979-01-03 21:00:45.100001: hash=51db603ba9898da20dbe162dd20e4a76aeacbfeb
user="root0\nYour\nRoyal\nMagesty'
" description='delete 0\nalpha beta gamma\'delta"lambda\n\nqqq ...' length=206 offset=6638 (+156
)
user="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='delete 0\nalpha beta gamma\'delta"lambda\n\nqqq ...' length=238 offset=6638 (+188
)
1979-01-03 21:00:44.000001: hash=469f380f59f9a72dae5ee6351fa2e38efb170d86
1979-01-03 21:00:44.000001: hash=469f380f59f9a72dae5ee6351fa2e38efb170d86
user='' description='predelete 7' length=362 offset=6268 (+34)
user='' description='predelete 7' length=362 offset=6268 (+34)
...
...
t/neo/storage/fs1/py/gen-testdata
View file @
1eb56978
...
@@ -33,6 +33,8 @@ def escapeqq(s):
...
@@ -33,6 +33,8 @@ def escapeqq(s):
# we don't want ' to be escaped
# we don't want ' to be escaped
for
_
in
s
.
split
(
"'"
):
for
_
in
s
.
split
(
"'"
):
# this escape almost everything except " character
# this escape almost everything except " character
# NOTE string_escape does not do smartquotes and always uses ' for quoting
# (repr(str) is the same except it does smartquoting picking ' or " automatically)
q
=
_
.
encode
(
"string_escape"
)
q
=
_
.
encode
(
"string_escape"
)
q
=
q
.
replace
(
'"'
,
r'\"'
)
q
=
q
.
replace
(
'"'
,
r'\"'
)
outv
.
append
(
q
)
outv
.
append
(
q
)
...
@@ -154,7 +156,8 @@ def main():
...
@@ -154,7 +156,8 @@ def main():
# Get serial via history.
# Get serial via history.
obj_tid_lastchange
=
db
.
history
(
obj
.
_p_oid
)[
0
][
'tid'
]
obj_tid_lastchange
=
db
.
history
(
obj
.
_p_oid
)[
0
][
'tid'
]
txn
=
precommit
(
u"root%i
\
n
Your
\
n
Royal
\
n
Magesty' "
%
i
,
txn
=
precommit
(
u"root%i
\
n
Your
\
n
Royal
\
n
Magesty' "
%
i
+
''
.
join
(
chr
(
_
)
for
_
in
range
(
32
)),
# <- NOTE all control characters
u"delete %i
\
n
alpha beta gamma'delta
\
"
lambda
\
n
\
n
qqq ..."
%
i
,
u"delete %i
\
n
alpha beta gamma'delta
\
"
lambda
\
n
\
n
qqq ..."
%
i
,
ext
(
"delete %s"
%
unpack64
(
obj
.
_p_oid
)))
ext
(
"delete %s"
%
unpack64
(
obj
.
_p_oid
)))
stor
.
tpc_begin
(
txn
)
stor
.
tpc_begin
(
txn
)
...
...
t/neo/storage/fs1/testdata/1.fs
View file @
1eb56978
No preview for this file type
t/neo/storage/fs1/testdata/1.fs.index
View file @
1eb56978
No preview for this file type
t/neo/storage/fs1/testdata_expect_test.go
View file @
1eb56978
...
@@ -3,18 +3,18 @@ package fs1
...
@@ -3,18 +3,18 @@ package fs1
import
"../../zodb"
import
"../../zodb"
const
_1fs_indexTopPos
=
12
162
const
_1fs_indexTopPos
=
12
226
var
_1fs_indexEntryv
=
[
...
]
indexEntry
{
var
_1fs_indexEntryv
=
[
...
]
indexEntry
{
{
0
,
116
12
},
{
0
,
116
44
},
{
1
,
100
29
},
{
1
,
100
61
},
{
2
,
9
683
},
{
2
,
9
715
},
{
3
,
105
48
},
{
3
,
105
80
},
{
4
,
7
283
},
{
4
,
7
315
},
{
5
,
115
20
},
{
5
,
115
52
},
{
6
,
121
04
},
{
6
,
121
68
},
{
7
,
6
794
},
{
7
,
6
826
},
{
8
,
8991
},
{
8
,
9023
},
{
9
,
11
870
},
{
9
,
11
902
},
}
}
var
_1fs_dbEntryv
=
[
...
]
dbEntry
{
var
_1fs_dbEntryv
=
[
...
]
dbEntry
{
...
@@ -996,11 +996,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -996,11 +996,11 @@ var _1fs_dbEntryv = [...]dbEntry{
TxnHeader
{
TxnHeader
{
Pos
:
6638
,
Pos
:
6638
,
LenPrev
:
370
,
LenPrev
:
370
,
Len
:
2
14
,
Len
:
2
46
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
Tid
:
0x0285cbacc06d3a4c
,
Tid
:
0x0285cbacc06d3a4c
,
Status
:
' '
,
Status
:
' '
,
User
:
[]
byte
(
"root0
\n
Your
\n
Royal
\n
Magesty' "
),
User
:
[]
byte
(
"root0
\n
Your
\n
Royal
\n
Magesty'
\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
\n
alpha beta gamma'delta
\"
lambda
\n\n
qqq ..."
),
Description
:
[]
byte
(
"delete 0
\n
alpha beta gamma'delta
\"
lambda
\n\n
qqq ..."
),
Extension
:
[]
byte
(
"}q
\x01
(U
\t
x-cookieEU
\x05
ZM3QZU
\x0b
x-generatorq
\x02
U
\x13
zodb/py2 (delete 7)u."
),
Extension
:
[]
byte
(
"}q
\x01
(U
\t
x-cookieEU
\x05
ZM3QZU
\x0b
x-generatorq
\x02
U
\x13
zodb/py2 (delete 7)u."
),
},
},
...
@@ -1009,7 +1009,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1009,7 +1009,7 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
6
794
,
Pos
:
6
826
,
Oid
:
7
,
Oid
:
7
,
Tid
:
0x0285cbacc06d3a4c
,
Tid
:
0x0285cbacc06d3a4c
,
PrevRevPos
:
5995
,
PrevRevPos
:
5995
,
...
@@ -1024,8 +1024,8 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1024,8 +1024,8 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
68
52
,
Pos
:
68
84
,
LenPrev
:
2
14
,
LenPrev
:
2
46
,
Len
:
170
,
Len
:
170
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
Tid
:
0x0285cbacfd70a433
,
Tid
:
0x0285cbacfd70a433
,
...
@@ -1039,11 +1039,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1039,11 +1039,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
69
43
,
Pos
:
69
75
,
Oid
:
8
,
Oid
:
8
,
Tid
:
0x0285cbacfd70a433
,
Tid
:
0x0285cbacfd70a433
,
PrevRevPos
:
6560
,
PrevRevPos
:
6560
,
TxnPos
:
68
52
,
TxnPos
:
68
84
,
DataLen
:
29
,
DataLen
:
29
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
c1.0q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
c1.0q
\x02
."
),
...
@@ -1054,7 +1054,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1054,7 +1054,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
70
22
,
Pos
:
70
54
,
LenPrev
:
170
,
LenPrev
:
170
,
Len
:
170
,
Len
:
170
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1069,11 +1069,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1069,11 +1069,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
71
13
,
Pos
:
71
45
,
Oid
:
6
,
Oid
:
6
,
Tid
:
0x0285cbad02222280
,
Tid
:
0x0285cbad02222280
,
PrevRevPos
:
3944
,
PrevRevPos
:
3944
,
TxnPos
:
70
22
,
TxnPos
:
70
54
,
DataLen
:
29
,
DataLen
:
29
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
e1.1q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
e1.1q
\x02
."
),
...
@@ -1084,7 +1084,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1084,7 +1084,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
7
192
,
Pos
:
7
224
,
LenPrev
:
170
,
LenPrev
:
170
,
Len
:
170
,
Len
:
170
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1099,11 +1099,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1099,11 +1099,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
7
283
,
Pos
:
7
315
,
Oid
:
4
,
Oid
:
4
,
Tid
:
0x0285cbad06d3a0cc
,
Tid
:
0x0285cbad06d3a0cc
,
PrevRevPos
:
4463
,
PrevRevPos
:
4463
,
TxnPos
:
7
192
,
TxnPos
:
7
224
,
DataLen
:
29
,
DataLen
:
29
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
b1.2q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
b1.2q
\x02
."
),
...
@@ -1114,7 +1114,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1114,7 +1114,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
73
62
,
Pos
:
73
94
,
LenPrev
:
170
,
LenPrev
:
170
,
Len
:
170
,
Len
:
170
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1129,11 +1129,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1129,11 +1129,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
74
53
,
Pos
:
74
85
,
Oid
:
3
,
Oid
:
3
,
Tid
:
0x0285cbad0b851f19
,
Tid
:
0x0285cbad0b851f19
,
PrevRevPos
:
6210
,
PrevRevPos
:
6210
,
TxnPos
:
73
62
,
TxnPos
:
73
94
,
DataLen
:
29
,
DataLen
:
29
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
g1.3q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
g1.3q
\x02
."
),
...
@@ -1144,7 +1144,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1144,7 +1144,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
75
32
,
Pos
:
75
64
,
LenPrev
:
170
,
LenPrev
:
170
,
Len
:
170
,
Len
:
170
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1159,11 +1159,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1159,11 +1159,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
76
23
,
Pos
:
76
55
,
Oid
:
3
,
Oid
:
3
,
Tid
:
0x0285cbad10369d66
,
Tid
:
0x0285cbad10369d66
,
PrevRevPos
:
74
53
,
PrevRevPos
:
74
85
,
TxnPos
:
75
32
,
TxnPos
:
75
64
,
DataLen
:
29
,
DataLen
:
29
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
g1.4q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
g1.4q
\x02
."
),
...
@@ -1174,7 +1174,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1174,7 +1174,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
77
02
,
Pos
:
77
34
,
LenPrev
:
170
,
LenPrev
:
170
,
Len
:
170
,
Len
:
170
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1189,11 +1189,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1189,11 +1189,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
7
793
,
Pos
:
7
825
,
Oid
:
8
,
Oid
:
8
,
Tid
:
0x0285cbad14e81bb3
,
Tid
:
0x0285cbad14e81bb3
,
PrevRevPos
:
69
43
,
PrevRevPos
:
69
75
,
TxnPos
:
77
02
,
TxnPos
:
77
34
,
DataLen
:
29
,
DataLen
:
29
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
c1.5q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
c1.5q
\x02
."
),
...
@@ -1204,7 +1204,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1204,7 +1204,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
7
872
,
Pos
:
7
904
,
LenPrev
:
170
,
LenPrev
:
170
,
Len
:
170
,
Len
:
170
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1219,11 +1219,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1219,11 +1219,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
79
63
,
Pos
:
79
95
,
Oid
:
1
,
Oid
:
1
,
Tid
:
0x0285cbad19999a00
,
Tid
:
0x0285cbad19999a00
,
PrevRevPos
:
3425
,
PrevRevPos
:
3425
,
TxnPos
:
7
872
,
TxnPos
:
7
904
,
DataLen
:
29
,
DataLen
:
29
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
f1.6q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
f1.6q
\x02
."
),
...
@@ -1234,7 +1234,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1234,7 +1234,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
80
42
,
Pos
:
80
74
,
LenPrev
:
170
,
LenPrev
:
170
,
Len
:
170
,
Len
:
170
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1249,11 +1249,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1249,11 +1249,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
81
33
,
Pos
:
81
65
,
Oid
:
2
,
Oid
:
2
,
Tid
:
0x0285cbad1e4b184c
,
Tid
:
0x0285cbad1e4b184c
,
PrevRevPos
:
4982
,
PrevRevPos
:
4982
,
TxnPos
:
80
42
,
TxnPos
:
80
74
,
DataLen
:
29
,
DataLen
:
29
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
d1.7q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
d1.7q
\x02
."
),
...
@@ -1264,7 +1264,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1264,7 +1264,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
82
12
,
Pos
:
82
44
,
LenPrev
:
170
,
LenPrev
:
170
,
Len
:
170
,
Len
:
170
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1279,11 +1279,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1279,11 +1279,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
83
03
,
Pos
:
83
35
,
Oid
:
8
,
Oid
:
8
,
Tid
:
0x0285cbad22fc9699
,
Tid
:
0x0285cbad22fc9699
,
PrevRevPos
:
7
793
,
PrevRevPos
:
7
825
,
TxnPos
:
82
12
,
TxnPos
:
82
44
,
DataLen
:
29
,
DataLen
:
29
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
c1.8q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
c1.8q
\x02
."
),
...
@@ -1294,7 +1294,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1294,7 +1294,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
8
382
,
Pos
:
8
414
,
LenPrev
:
170
,
LenPrev
:
170
,
Len
:
170
,
Len
:
170
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1309,11 +1309,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1309,11 +1309,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
8
473
,
Pos
:
8
505
,
Oid
:
8
,
Oid
:
8
,
Tid
:
0x0285cbad27ae14e6
,
Tid
:
0x0285cbad27ae14e6
,
PrevRevPos
:
83
03
,
PrevRevPos
:
83
35
,
TxnPos
:
8
382
,
TxnPos
:
8
414
,
DataLen
:
29
,
DataLen
:
29
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
c1.9q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x04
c1.9q
\x02
."
),
...
@@ -1324,7 +1324,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1324,7 +1324,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
85
52
,
Pos
:
85
84
,
LenPrev
:
170
,
LenPrev
:
170
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1339,11 +1339,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1339,11 +1339,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
86
45
,
Pos
:
86
77
,
Oid
:
6
,
Oid
:
6
,
Tid
:
0x0285cbad2c5f9333
,
Tid
:
0x0285cbad2c5f9333
,
PrevRevPos
:
71
13
,
PrevRevPos
:
71
45
,
TxnPos
:
85
52
,
TxnPos
:
85
84
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
e1.10q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
e1.10q
\x02
."
),
...
@@ -1354,7 +1354,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1354,7 +1354,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
87
25
,
Pos
:
87
57
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1369,11 +1369,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1369,11 +1369,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
88
18
,
Pos
:
88
50
,
Oid
:
5
,
Oid
:
5
,
Tid
:
0x0285cbad31111180
,
Tid
:
0x0285cbad31111180
,
PrevRevPos
:
4636
,
PrevRevPos
:
4636
,
TxnPos
:
87
25
,
TxnPos
:
87
57
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
a1.11q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
a1.11q
\x02
."
),
...
@@ -1384,7 +1384,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1384,7 +1384,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
8
898
,
Pos
:
8
930
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1399,11 +1399,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1399,11 +1399,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
8991
,
Pos
:
9023
,
Oid
:
8
,
Oid
:
8
,
Tid
:
0x0285cbad35c28fcc
,
Tid
:
0x0285cbad35c28fcc
,
PrevRevPos
:
8
473
,
PrevRevPos
:
8
505
,
TxnPos
:
8
898
,
TxnPos
:
8
930
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
c1.12q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
c1.12q
\x02
."
),
...
@@ -1414,7 +1414,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1414,7 +1414,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
9
071
,
Pos
:
9
103
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1429,11 +1429,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1429,11 +1429,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
91
64
,
Pos
:
91
96
,
Oid
:
6
,
Oid
:
6
,
Tid
:
0x0285cbad3a740e19
,
Tid
:
0x0285cbad3a740e19
,
PrevRevPos
:
86
45
,
PrevRevPos
:
86
77
,
TxnPos
:
9
071
,
TxnPos
:
9
103
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
e1.13q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
e1.13q
\x02
."
),
...
@@ -1444,7 +1444,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1444,7 +1444,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
92
44
,
Pos
:
92
76
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1459,11 +1459,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1459,11 +1459,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
93
37
,
Pos
:
93
69
,
Oid
:
3
,
Oid
:
3
,
Tid
:
0x0285cbad3f258c66
,
Tid
:
0x0285cbad3f258c66
,
PrevRevPos
:
76
23
,
PrevRevPos
:
76
55
,
TxnPos
:
92
44
,
TxnPos
:
92
76
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
g1.14q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
g1.14q
\x02
."
),
...
@@ -1474,7 +1474,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1474,7 +1474,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
94
17
,
Pos
:
94
49
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1489,11 +1489,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1489,11 +1489,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
95
10
,
Pos
:
95
42
,
Oid
:
3
,
Oid
:
3
,
Tid
:
0x0285cbad43d70ab3
,
Tid
:
0x0285cbad43d70ab3
,
PrevRevPos
:
93
37
,
PrevRevPos
:
93
69
,
TxnPos
:
94
17
,
TxnPos
:
94
49
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
g1.15q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
g1.15q
\x02
."
),
...
@@ -1504,7 +1504,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1504,7 +1504,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
9
590
,
Pos
:
9
622
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1519,11 +1519,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1519,11 +1519,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
9
683
,
Pos
:
9
715
,
Oid
:
2
,
Oid
:
2
,
Tid
:
0x0285cbad48888900
,
Tid
:
0x0285cbad48888900
,
PrevRevPos
:
81
33
,
PrevRevPos
:
81
65
,
TxnPos
:
9
590
,
TxnPos
:
9
622
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
d1.16q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
d1.16q
\x02
."
),
...
@@ -1534,7 +1534,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1534,7 +1534,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
97
63
,
Pos
:
97
95
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1549,11 +1549,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1549,11 +1549,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
98
56
,
Pos
:
98
88
,
Oid
:
3
,
Oid
:
3
,
Tid
:
0x0285cbad4d3a074c
,
Tid
:
0x0285cbad4d3a074c
,
PrevRevPos
:
95
10
,
PrevRevPos
:
95
42
,
TxnPos
:
97
63
,
TxnPos
:
97
95
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
g1.17q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
g1.17q
\x02
."
),
...
@@ -1564,7 +1564,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1564,7 +1564,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
99
36
,
Pos
:
99
68
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1579,11 +1579,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1579,11 +1579,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
100
29
,
Pos
:
100
61
,
Oid
:
1
,
Oid
:
1
,
Tid
:
0x0285cbad51eb8599
,
Tid
:
0x0285cbad51eb8599
,
PrevRevPos
:
79
63
,
PrevRevPos
:
79
95
,
TxnPos
:
99
36
,
TxnPos
:
99
68
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
f1.18q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
f1.18q
\x02
."
),
...
@@ -1594,7 +1594,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1594,7 +1594,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
101
09
,
Pos
:
101
41
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1609,11 +1609,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1609,11 +1609,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
102
02
,
Pos
:
102
34
,
Oid
:
5
,
Oid
:
5
,
Tid
:
0x0285cbad569d03e6
,
Tid
:
0x0285cbad569d03e6
,
PrevRevPos
:
88
18
,
PrevRevPos
:
88
50
,
TxnPos
:
101
09
,
TxnPos
:
101
41
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
a1.19q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
a1.19q
\x02
."
),
...
@@ -1624,7 +1624,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1624,7 +1624,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
10
282
,
Pos
:
10
314
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1639,11 +1639,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1639,11 +1639,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
10
375
,
Pos
:
10
407
,
Oid
:
3
,
Oid
:
3
,
Tid
:
0x0285cbad5b4e8233
,
Tid
:
0x0285cbad5b4e8233
,
PrevRevPos
:
98
56
,
PrevRevPos
:
98
88
,
TxnPos
:
10
282
,
TxnPos
:
10
314
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
g1.20q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
g1.20q
\x02
."
),
...
@@ -1654,7 +1654,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1654,7 +1654,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
104
55
,
Pos
:
104
87
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1669,11 +1669,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1669,11 +1669,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
105
48
,
Pos
:
105
80
,
Oid
:
3
,
Oid
:
3
,
Tid
:
0x0285cbad60000080
,
Tid
:
0x0285cbad60000080
,
PrevRevPos
:
10
375
,
PrevRevPos
:
10
407
,
TxnPos
:
104
55
,
TxnPos
:
104
87
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
g1.21q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
g1.21q
\x02
."
),
...
@@ -1684,7 +1684,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1684,7 +1684,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
106
28
,
Pos
:
106
60
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1699,11 +1699,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1699,11 +1699,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
107
21
,
Pos
:
107
53
,
Oid
:
6
,
Oid
:
6
,
Tid
:
0x0285cbad64b17ecc
,
Tid
:
0x0285cbad64b17ecc
,
PrevRevPos
:
91
64
,
PrevRevPos
:
91
96
,
TxnPos
:
106
28
,
TxnPos
:
106
60
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
e1.22q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
e1.22q
\x02
."
),
...
@@ -1714,7 +1714,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1714,7 +1714,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
108
01
,
Pos
:
108
33
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1729,11 +1729,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1729,11 +1729,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
10
894
,
Pos
:
10
926
,
Oid
:
5
,
Oid
:
5
,
Tid
:
0x0285cbad6962fd19
,
Tid
:
0x0285cbad6962fd19
,
PrevRevPos
:
102
02
,
PrevRevPos
:
102
34
,
TxnPos
:
108
01
,
TxnPos
:
108
33
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
a1.23q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
a1.23q
\x02
."
),
...
@@ -1744,7 +1744,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1744,7 +1744,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
1
0974
,
Pos
:
1
1006
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
173
,
Len
:
173
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1759,11 +1759,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1759,11 +1759,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
110
67
,
Pos
:
110
99
,
Oid
:
5
,
Oid
:
5
,
Tid
:
0x0285cbad6e147b66
,
Tid
:
0x0285cbad6e147b66
,
PrevRevPos
:
10
894
,
PrevRevPos
:
10
926
,
TxnPos
:
1
0974
,
TxnPos
:
1
1006
,
DataLen
:
30
,
DataLen
:
30
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
a1.24q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
a1.24q
\x02
."
),
...
@@ -1774,7 +1774,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1774,7 +1774,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
111
47
,
Pos
:
111
79
,
LenPrev
:
173
,
LenPrev
:
173
,
Len
:
215
,
Len
:
215
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1789,14 +1789,14 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1789,14 +1789,14 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
113
04
,
Pos
:
113
36
,
Oid
:
6
,
Oid
:
6
,
Tid
:
0x0285cbad77777800
,
Tid
:
0x0285cbad77777800
,
PrevRevPos
:
107
21
,
PrevRevPos
:
107
53
,
TxnPos
:
111
47
,
TxnPos
:
111
79
,
DataLen
:
0
,
DataLen
:
0
,
},
},
[]
byte
(
"
\x00\x00\x00\x00\x00\x00
#
\x
c
c
"
),
[]
byte
(
"
\x00\x00\x00\x00\x00\x00
#
\x
e
c
"
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
e1.13q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
e1.13q
\x02
."
),
0x0285cbad3a740e19
,
0x0285cbad3a740e19
,
},
},
...
@@ -1804,7 +1804,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1804,7 +1804,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
113
62
,
Pos
:
113
94
,
LenPrev
:
215
,
LenPrev
:
215
,
Len
:
216
,
Len
:
216
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1819,14 +1819,14 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1819,14 +1819,14 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
115
20
,
Pos
:
115
52
,
Oid
:
5
,
Oid
:
5
,
Tid
:
0x0285cbad7c28f64c
,
Tid
:
0x0285cbad7c28f64c
,
PrevRevPos
:
110
67
,
PrevRevPos
:
110
99
,
TxnPos
:
113
62
,
TxnPos
:
113
94
,
DataLen
:
0
,
DataLen
:
0
,
},
},
[]
byte
(
"
\x00\x00\x00\x00\x00\x00
*
\x
8
e
"
),
[]
byte
(
"
\x00\x00\x00\x00\x00\x00
*
\x
a
e
"
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
a1.23q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x05
a1.23q
\x02
."
),
0x0285cbad6962fd19
,
0x0285cbad6962fd19
,
},
},
...
@@ -1834,7 +1834,7 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1834,7 +1834,7 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
11
578
,
Pos
:
11
610
,
LenPrev
:
216
,
LenPrev
:
216
,
Len
:
370
,
Len
:
370
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
...
@@ -1849,11 +1849,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1849,11 +1849,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
116
12
,
Pos
:
116
44
,
Oid
:
0
,
Oid
:
0
,
Tid
:
0x0285cbad80da7499
,
Tid
:
0x0285cbad80da7499
,
PrevRevPos
:
6302
,
PrevRevPos
:
6302
,
TxnPos
:
11
578
,
TxnPos
:
11
610
,
DataLen
:
216
,
DataLen
:
216
,
},
},
[]
byte
(
"cpersistent.mapping
\n
PersistentMapping
\n
q
\x01
.}q
\x02
U
\x04
dataq
\x03
}q
\x04
(U
\x01
a(U
\x08\x00\x00\x00\x00\x00\x00\x00\x05
q
\x05
c__main__
\n
Object
\n
q
\x06
tQU
\x01
c(U
\x08\x00\x00\x00\x00\x00\x00\x00\x08
q
\x07
h
\x06
tQU
\x01
b(U
\x08\x00\x00\x00\x00\x00\x00\x00\x04
q
\x08
h
\x06
tQU
\x01
e(U
\x08\x00\x00\x00\x00\x00\x00\x00\t
q
\t
h
\x06
tQU
\x01
d(U
\x08\x00\x00\x00\x00\x00\x00\x00\x02
q
\n
h
\x06
tQU
\x01
g(U
\x08\x00\x00\x00\x00\x00\x00\x00\x03
q
\x0b
h
\x06
tQU
\x01
f(U
\x08\x00\x00\x00\x00\x00\x00\x00\x01
q
\x0c
h
\x06
tQus."
),
[]
byte
(
"cpersistent.mapping
\n
PersistentMapping
\n
q
\x01
.}q
\x02
U
\x04
dataq
\x03
}q
\x04
(U
\x01
a(U
\x08\x00\x00\x00\x00\x00\x00\x00\x05
q
\x05
c__main__
\n
Object
\n
q
\x06
tQU
\x01
c(U
\x08\x00\x00\x00\x00\x00\x00\x00\x08
q
\x07
h
\x06
tQU
\x01
b(U
\x08\x00\x00\x00\x00\x00\x00\x00\x04
q
\x08
h
\x06
tQU
\x01
e(U
\x08\x00\x00\x00\x00\x00\x00\x00\t
q
\t
h
\x06
tQU
\x01
d(U
\x08\x00\x00\x00\x00\x00\x00\x00\x02
q
\n
h
\x06
tQU
\x01
g(U
\x08\x00\x00\x00\x00\x00\x00\x00\x03
q
\x0b
h
\x06
tQU
\x01
f(U
\x08\x00\x00\x00\x00\x00\x00\x00\x01
q
\x0c
h
\x06
tQus."
),
...
@@ -1862,11 +1862,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1862,11 +1862,11 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
DataHeader
{
DataHeader
{
Pos
:
11
870
,
Pos
:
11
902
,
Oid
:
9
,
Oid
:
9
,
Tid
:
0x0285cbad80da7499
,
Tid
:
0x0285cbad80da7499
,
PrevRevPos
:
0
,
PrevRevPos
:
0
,
TxnPos
:
11
578
,
TxnPos
:
11
610
,
DataLen
:
28
,
DataLen
:
28
,
},
},
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x03
e1*q
\x02
."
),
[]
byte
(
"c__main__
\n
Object
\n
q
\x01
.U
\x03
e1*q
\x02
."
),
...
@@ -1877,13 +1877,13 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1877,13 +1877,13 @@ var _1fs_dbEntryv = [...]dbEntry{
},
},
{
{
TxnHeader
{
TxnHeader
{
Pos
:
119
48
,
Pos
:
119
80
,
LenPrev
:
370
,
LenPrev
:
370
,
Len
:
2
14
,
Len
:
2
46
,
TxnInfo
:
zodb
.
TxnInfo
{
TxnInfo
:
zodb
.
TxnInfo
{
Tid
:
0x0285cbad858bf2e6
,
Tid
:
0x0285cbad858bf2e6
,
Status
:
' '
,
Status
:
' '
,
User
:
[]
byte
(
"root1
\n
Your
\n
Royal
\n
Magesty' "
),
User
:
[]
byte
(
"root1
\n
Your
\n
Royal
\n
Magesty'
\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
\n
alpha beta gamma'delta
\"
lambda
\n\n
qqq ..."
),
Description
:
[]
byte
(
"delete 1
\n
alpha beta gamma'delta
\"
lambda
\n\n
qqq ..."
),
Extension
:
[]
byte
(
"}q
\x01
(U
\t
x-cookieSU
\x05
MC4OMU
\x0b
x-generatorq
\x02
U
\x13
zodb/py2 (delete 6)u."
),
Extension
:
[]
byte
(
"}q
\x01
(U
\t
x-cookieSU
\x05
MC4OMU
\x0b
x-generatorq
\x02
U
\x13
zodb/py2 (delete 6)u."
),
},
},
...
@@ -1892,11 +1892,11 @@ var _1fs_dbEntryv = [...]dbEntry{
...
@@ -1892,11 +1892,11 @@ var _1fs_dbEntryv = [...]dbEntry{
[]
txnEntry
{
[]
txnEntry
{
{
{
DataHeader
{
DataHeader
{
Pos
:
121
04
,
Pos
:
121
68
,
Oid
:
6
,
Oid
:
6
,
Tid
:
0x0285cbad858bf2e6
,
Tid
:
0x0285cbad858bf2e6
,
PrevRevPos
:
113
04
,
PrevRevPos
:
113
36
,
TxnPos
:
119
48
,
TxnPos
:
119
80
,
DataLen
:
0
,
DataLen
:
0
,
},
},
[]
byte
(
"
\x00\x00\x00\x00\x00\x00\x00\x00
"
),
[]
byte
(
"
\x00\x00\x00\x00\x00\x00\x00\x00
"
),
...
...
t/neo/zodb/cmd/zodbdump/testdata/1.zdump.pyok
View file @
1eb56978
No preview for this file type
t/neo/zodb/cmd/zodbdump/zodbdump_test.go
View file @
1eb56978
...
@@ -34,16 +34,23 @@ func loadZdumpPy(t *testing.T, path string) string {
...
@@ -34,16 +34,23 @@ func loadZdumpPy(t *testing.T, path string) string {
t
.
Fatal
(
err
)
t
.
Fatal
(
err
)
}
}
// python qoutes "\v" as "\x0b", go as "\v"; same for "\f"
vs "\x0c"
// python qoutes "\v" as "\x0b", go as "\v"; same for "\f"
, "\a", "\b".
// XXX this is a bit hacky. We could compare quoted strings as decoded,
// XXX this is a bit hacky. We could compare quoted strings as decoded,
// but this would need zdump format parser which could contain other
// but this would need zdump format parser which could contain other
// bugs. Here we want to compare output ideally bit-to-bit but those
// bugs. Here we want to compare output ideally bit-to-bit but those
// \v vs \x0b glitches prevents that to be done directly. So here we
// \v vs \x0b glitches prevents that to be done directly. So here we
// are with this ugly hack:
// are with this ugly hack:
r0b
:=
regexp
.
MustCompile
(
`\\x0b`
)
var
pyNoBackLetter
=
[]
struct
{
backNoLetterRe
,
backLetter
string
}
{
r0c
:=
regexp
.
MustCompile
(
`\\x0c`
)
{
`\\x07`
,
`\a`
},
dump
=
r0b
.
ReplaceAllLiteral
(
dump
,
[]
byte
(
`\v`
))
{
`\\x08`
,
`\b`
},
dump
=
r0c
.
ReplaceAllLiteral
(
dump
,
[]
byte
(
`\f`
))
{
`\\x0b`
,
`\v`
},
{
`\\x0c`
,
`\f`
},
}
for
_
,
__
:=
range
pyNoBackLetter
{
re
:=
regexp
.
MustCompile
(
__
.
backNoLetterRe
)
dump
=
re
.
ReplaceAllLiteral
(
dump
,
[]
byte
(
__
.
backLetter
))
}
return
string
(
dump
)
return
string
(
dump
)
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment