From 86d14a78eb51e348a0f976f720923ebc30641365 Mon Sep 17 00:00:00 2001 From: Konstantin Osipov <kostja@tarantool.org> Date: Wed, 27 Aug 2014 21:13:52 +0400 Subject: [PATCH] Add a scenario of old truncate implementation to the test suite. (gh-438) --- test/big/tree_pk_multipart.result | 34 +++++++++++++++++++++++++++++ test/big/tree_pk_multipart.test.lua | 23 +++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/test/big/tree_pk_multipart.result b/test/big/tree_pk_multipart.result index e5653c703b..9c93f8694d 100644 --- a/test/big/tree_pk_multipart.result +++ b/test/big/tree_pk_multipart.result @@ -481,6 +481,40 @@ space:replace{1, 1} space:drop() --- ... +-- test deletion of data one by one +space = box.schema.space.create('test') +--- +... +space:create_index('primary', { type = 'tree', parts = {1, 'str'}, unique = true }) +--- +... +space:create_index('second', { type = 'tree', parts = {2, 'str', 3, 'str'}, unique = true }) +--- +... +--# setopt delimiter ';' +for i = 1, 100 do + v = tostring(i) + space:insert{v, string.rep(v, 2) , string.rep(v, 3)} +end; +--- +... +local pk = space.index[0] +while pk:len() > 0 do + local state, t + for state, t in pk:pairs() do + local key = {} + for _k2, parts in ipairs(pk.parts) do + table.insert(key, t[parts.fieldno]) + end + space:delete(key) + end +end; +--- +... +--# setopt delimiter '' +space:drop() +--- +... space = nil --- ... diff --git a/test/big/tree_pk_multipart.test.lua b/test/big/tree_pk_multipart.test.lua index d804547268..c38d023d63 100644 --- a/test/big/tree_pk_multipart.test.lua +++ b/test/big/tree_pk_multipart.test.lua @@ -168,4 +168,27 @@ space:replace{1, 1} space:drop() +-- test deletion of data one by one +space = box.schema.space.create('test') +space:create_index('primary', { type = 'tree', parts = {1, 'str'}, unique = true }) +space:create_index('second', { type = 'tree', parts = {2, 'str', 3, 'str'}, unique = true }) +--# setopt delimiter ';' +for i = 1, 100 do + v = tostring(i) + space:insert{v, string.rep(v, 2) , string.rep(v, 3)} +end; +local pk = space.index[0] +while pk:len() > 0 do + local state, t + for state, t in pk:pairs() do + local key = {} + for _k2, parts in ipairs(pk.parts) do + table.insert(key, t[parts.fieldno]) + end + space:delete(key) + end +end; +--# setopt delimiter '' +space:drop() + space = nil -- GitLab