File: autoincrement.test.lua

package info (click to toggle)
tarantool 2.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 85,364 kB
  • sloc: ansic: 513,760; cpp: 69,489; sh: 25,650; python: 19,190; perl: 14,973; makefile: 4,173; yacc: 1,329; sql: 1,074; pascal: 620; ruby: 190; awk: 18; lisp: 7
file content (33 lines) | stat: -rw-r--r-- 1,021 bytes parent folder | download | duplicates (3)
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
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');
seqs = box.space._sequence:select{}
#seqs == 1 and seqs[1].name == seq.name or seqs
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)')
seqs = box.space._sequence:select{}
#seqs == 1 or seqs
seq = seqs[1].name
box.schema.user.grant('user1', 'write', 'sequence', seq)
box.execute('DROP TABLE t')
seqs = box.space._sequence:select{}
#seqs == 0 or seqs

box.schema.user.drop('user1')