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 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
net = require('net.box')
---
...
--
-- gh-2978: field names for tuples received from netbox.
--
_ = box.schema.create_space("named", {format = {{name = "id"}, {name="abc"}}})
---
...
_ = box.space.named:create_index('id', {parts = {{1, 'unsigned'}}})
---
...
box.space.named:insert({1, 1})
---
- [1, 1]
...
box.schema.user.grant('guest', 'read, write, execute', 'space')
---
...
cn = net.connect(box.cfg.listen)
---
...
s = cn.space.named
---
...
s:get{1}.id
---
- 1
...
s:get{1}:tomap()
---
- 1: 1
2: 1
abc: 1
id: 1
...
s:insert{2,3}:tomap()
---
- 1: 2
2: 3
abc: 3
id: 2
...
s:replace{2,14}:tomap()
---
- 1: 2
2: 14
abc: 14
id: 2
...
s:update(1, {{'+', 2, 10}}):tomap()
---
- 1: 1
2: 11
abc: 11
id: 1
...
s:select()[1]:tomap()
---
- 1: 1
2: 11
abc: 11
id: 1
...
s:delete({2}):tomap()
---
- 1: 2
2: 14
abc: 14
id: 2
...
-- Check that formats changes after reload.
box.space.named:format({{name = "id2"}, {name="abc2"}})
---
...
s:select()[1]:tomap()
---
- 1: 1
2: 11
abc: 11
id: 1
...
cn:reload_schema()
---
...
s:select()[1]:tomap()
---
- 1: 1
2: 11
id2: 1
abc2: 11
...
cn:close()
---
...
box.space.named:drop()
---
...
box.schema.user.revoke('guest', 'read, write, execute', 'space')
---
...
|