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
|
net = require('net.box')
---
...
--
-- gh-2666: check that netbox.call is not repeated on schema
-- change.
--
box.schema.user.grant('guest', 'write', 'space', '_space')
---
...
box.schema.user.grant('guest', 'write', 'space', '_schema')
---
...
box.schema.user.grant('guest', 'create', 'universe')
---
...
count = 0
---
...
function create_space(name) count = count + 1 box.schema.create_space(name) return true end
---
...
box.schema.func.create('create_space')
---
...
box.schema.user.grant('guest', 'execute', 'function', 'create_space')
---
...
c = net.connect(box.cfg.listen)
---
...
c:call('create_space', {'test1'})
---
- true
...
count
---
- 1
...
c:call('create_space', {'test2'})
---
- true
...
count
---
- 2
...
c:call('create_space', {'test3'})
---
- true
...
count
---
- 3
...
box.space.test1:drop()
---
...
box.space.test2:drop()
---
...
box.space.test3:drop()
---
...
box.schema.user.revoke('guest', 'write', 'space', '_space')
---
...
box.schema.user.revoke('guest', 'write', 'space', '_schema')
---
...
box.schema.user.revoke('guest', 'create', 'universe')
---
...
c:close()
---
...
box.schema.func.drop('create_space')
---
...
|