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

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Mon Oct 15 22:42:04 MSK 2018


Ok, understood. LGTM then.

On 15/10/2018 22:04, n.pettik wrote:
> 
>>> 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