[tarantool-patches] Re: [PATCH] sql: make DROP TABLE delete entry from _sequence_data

n.pettik korablev at tarantool.org
Mon Oct 15 22:04:50 MSK 2018


>> diff --git a/test/sql/drop-table.result b/test/sql/drop-table.result
>> index 08f249668..bf02e3def 100644
>> --- a/test/sql/drop-table.result
>> +++ b/test/sql/drop-table.result
>> @@ -29,6 +29,23 @@ box.sql.execute("INSERT INTO zzzoobar VALUES (111, 222, 'c3', 444)")
>>  ---
>>  - error: 'no such table: ZZZOOBAR'
>>  ...
>> +-- gh-3712: if space features sequence, data from _sequence_data
>> +-- must be deleted before space is dropped.
>> +--
>> +box.sql.execute("CREATE TABLE t1 (id INT PRIMARY KEY AUTOINCREMENT);")
>> +---
>> +...
>> +box.sql.execute("INSERT INTO t1 VALUES (NULL);")
>> +---
>> +...
>> +box.snapshot()
>> +---
>> +- ok
>> +...
>> +test_run:cmd('restart server default')
> 
> Unfortunately, we have no luxury of time to restart a
> server on such a simple test. Lets just check that
> _sequence_data space is empty.

But restart is a part of this test. Without recovery entry doesn’t appear
in _sequence_data. It is easy to check this out (on 2.0):

tarantool> box.sql.execute("CREATE TABLE t1 (id INT PRIMARY KEY AUTOINCREMENT);")
---
...

tarantool> box.sql.execute("INSERT INTO t1 VALUES (NULL)")
---
...

tarantool> box.snapshot()
2018-10-15 22:03:09.045 [29254] snapshot/101/main I> saving snapshot `./00000000000000000006.snap.inprogress'
2018-10-15 22:03:09.045 [29254] snapshot/101/main I> done
---
- ok
...

tarantool> box.space._sequence_data:select()
---
- []
…

Then lets restart server and see at that space again:

tarantool> os.exit()
n:tarantool n.pettik$ ./src/tarantool 
Tarantool 2.0.5-75-gdd8e14ffb
type 'help' for interactive help
tarantool> box.cfg{}
2018-10-15 22:03:58.932 [29259] main/101/interactive C> Tarantool 2.0.5-75-gdd8e14ffb
2018-10-15 22:03:58.932 [29259] main/101/interactive C> log level 5
2018-10-15 22:03:58.933 [29259] main/101/interactive I> mapping 268435456 bytes for memtx tuple arena...
2018-10-15 22:03:58.933 [29259] main/101/interactive I> mapping 134217728 bytes for vinyl tuple arena...
2018-10-15 22:03:58.943 [29259] main/101/interactive I> recovery start
2018-10-15 22:03:58.943 [29259] main/101/interactive I> recovering from `./00000000000000000006.snap'
2018-10-15 22:03:59.009 [29259] main/101/interactive I> recover from `./00000000000000000006.xlog'
2018-10-15 22:03:59.009 [29259] main/101/interactive I> done `./00000000000000000006.xlog'
2018-10-15 22:03:59.011 [29259] main/101/interactive I> ready to accept requests
2018-10-15 22:03:59.011 [29259] main/107/checkpoint_daemon I> started
2018-10-15 22:03:59.012 [29259] main/107/checkpoint_daemon I> scheduled the next snapshot at Tue Oct 16 00:02:23 2018
---
...

tarantool> box.space._sequence_data:select()
---
- - [1, 1]
...

So, to make this test be fair - restart is required.



More information about the Tarantool-patches mailing list