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
|
-- test-run result file version 2
test_run = require('test_run').new()
| ---
| ...
engine = test_run:get_cfg('engine')
| ---
| ...
--
-- Not automatic sequence should not be removed by DROP TABLE.
--
box.schema.user.create('user1')
| ---
| ...
test_space = box.schema.create_space('T', { \
engine = engine, \
format = {{'i', 'integer'}} \
})
| ---
| ...
seq = box.schema.sequence.create('S')
| ---
| ...
ind = test_space:create_index('I', {sequence = 'S'})
| ---
| ...
box.schema.user.grant('user1', 'write', 'sequence', 'S')
| ---
| ...
box.execute('DROP TABLE t');
| ---
| - row_count: 1
| ...
seqs = box.space._sequence:select{}
| ---
| ...
#seqs == 1 and seqs[1].name == seq.name or seqs
| ---
| - true
| ...
seq:drop()
| ---
| ...
--
-- Automatic sequence should be removed at DROP TABLE, together
-- with all the grants.
--
box.execute('CREATE TABLE t (id INTEGER PRIMARY KEY AUTOINCREMENT)')
| ---
| - row_count: 1
| ...
seqs = box.space._sequence:select{}
| ---
| ...
#seqs == 1 or seqs
| ---
| - true
| ...
seq = seqs[1].name
| ---
| ...
box.schema.user.grant('user1', 'write', 'sequence', seq)
| ---
| ...
box.execute('DROP TABLE t')
| ---
| - row_count: 1
| ...
seqs = box.space._sequence:select{}
| ---
| ...
#seqs == 0 or seqs
| ---
| - true
| ...
box.schema.user.drop('user1')
| ---
| ...
|