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