1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
test_run = require('test_run').new()
---
...
test_run:cmd('restart server default with cleanup=1')
fio = require('fio')
---
...
xlog = require('xlog')
---
...
netbox = require('net.box')
---
...
--
-- Check that xlogs doesn't contain IPROTO_SYNC
--
box.schema.user.grant('guest', 'write', 'space', '_schema')
---
...
conn = netbox.connect(box.cfg.listen)
---
...
-- insert some row using the binary protocol
conn.space._schema:insert({'test'})
---
- ['test']
...
-- rotate xlog
box.snapshot()
---
- ok
...
-- dump xlog
xlog_path = fio.pathjoin(box.cfg.wal_dir, string.format("%020d.xlog", 0))
---
...
result = {}
---
...
fun, param, state = xlog.pairs(xlog_path)
---
...
type(fun.totable)
---
- function
...
-- skip grants until our insert into _schema
repeat state, row = fun(param, state) until row.BODY.space_id == box.space._schema.id
---
...
row.HEADER.type
---
- INSERT
...
row.HEADER.sync
---
- null
...
row.BODY
---
- space_id: 272
tuple: ['test']
...
box.space._schema:delete('test')
---
- ['test']
...
--
-- Clean up
--
netbox = nil
---
...
xlog = nil
---
...
fio = nil
---
...
box.schema.user.revoke('guest', 'write', 'space', '_schema')
---
...
|