[tarantool-patches] [PATCH v2 1/1] Deal with upgrade mess in 2.0

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Sat Jun 9 20:06:19 MSK 2018


Merge upgrade to 1.8.2/.4 into 2.1.0. Versions 1.8.2/.4 are
broken because of invalid _trigger creation and deprecated
versioning policy.

Vinyl/Xlog upgrade tests from 1.7.7 are broken too since they
actually contains 1.8 snapshots, so remove them. Add the test on
upgrade from 1.10 to ensure the new upgrade_to_2_1_0 works.
---
Branch: https://github.com/tarantool/tarantool/tree/gerold103/upgrade-2.1.0-mess

 src/box/bootstrap.snap                             | Bin 1698 -> 1698 bytes
 src/box/lua/upgrade.lua                            |  41 ++-----
 test/sql/upgrade.result                            | 123 +++++++++++++++++++++
 test/sql/upgrade.test.lua                          |  45 ++++++++
 test/sql/upgrade/1.10/00000000000000000003.snap    | Bin 0 -> 1568 bytes
 test/sql/upgrade/upgrade.lua                       |   7 ++
 test/vinyl/suite.ini                               |   1 +
 .../vinyl/upgrade/1.7.7/00000000000000000000.vylog | Bin 1384 -> 0 bytes
 test/vinyl/upgrade/1.7.7/00000000000000000010.snap | Bin 1669 -> 0 bytes
 .../vinyl/upgrade/1.7.7/00000000000000000010.vylog | Bin 3771 -> 0 bytes
 test/vinyl/upgrade/1.7.7/00000000000000000010.xlog | Bin 3461 -> 0 bytes
 .../upgrade/1.7.7/513/0/00000000000000000011.index | Bin 191 -> 0 bytes
 .../upgrade/1.7.7/513/0/00000000000000000011.run   | Bin 156 -> 0 bytes
 .../upgrade/1.7.7/513/0/00000000000000000015.index | Bin 186 -> 0 bytes
 .../upgrade/1.7.7/513/0/00000000000000000015.run   | Bin 141 -> 0 bytes
 .../upgrade/1.7.7/513/1/00000000000000000017.index | Bin 234 -> 0 bytes
 .../upgrade/1.7.7/513/1/00000000000000000017.run   | Bin 171 -> 0 bytes
 .../upgrade/1.7.7/514/0/00000000000000000023.index | Bin 186 -> 0 bytes
 .../upgrade/1.7.7/514/0/00000000000000000023.run   | Bin 142 -> 0 bytes
 .../upgrade/1.7.7/514/1/00000000000000000021.index | Bin 208 -> 0 bytes
 .../upgrade/1.7.7/514/1/00000000000000000021.run   | Bin 142 -> 0 bytes
 .../upgrade/1.7.7/515/0/00000000000000000029.index | Bin 186 -> 0 bytes
 .../upgrade/1.7.7/515/0/00000000000000000029.run   | Bin 141 -> 0 bytes
 .../upgrade/1.7.7/515/0/00000000000000000037.index | Bin 186 -> 0 bytes
 .../upgrade/1.7.7/515/0/00000000000000000037.run   | Bin 143 -> 0 bytes
 .../upgrade/1.7.7/515/1/00000000000000000027.index | Bin 204 -> 0 bytes
 .../upgrade/1.7.7/515/1/00000000000000000027.run   | Bin 141 -> 0 bytes
 .../upgrade/1.7.7/515/1/00000000000000000034.index | Bin 204 -> 0 bytes
 .../upgrade/1.7.7/515/1/00000000000000000034.run   | Bin 143 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000035.index | Bin 242 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000035.run   | Bin 420 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000040.index | Bin 242 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000040.run   | Bin 420 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000042.index | Bin 242 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000042.run   | Bin 420 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000043.index | Bin 242 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000043.run   | Bin 420 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000052.index | Bin 209 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000052.run   | Bin 220 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000053.index | Bin 242 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000053.run   | Bin 420 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000057.index | Bin 223 -> 0 bytes
 .../upgrade/1.7.7/516/0/00000000000000000057.run   | Bin 300 -> 0 bytes
 test/xlog/suite.ini                                |   2 +-
 test/xlog/upgrade/1.7.7/00000000000000000000.snap  | Bin 1528 -> 0 bytes
 test/xlog/upgrade/1.7.7/00000000000000000000.xlog  | Bin 480 -> 0 bytes
 test/xlog/upgrade/1.7.7/00000000000000000005.xlog  | Bin 418 -> 0 bytes
 test/xlog/upgrade/1.7.7/00000000000000000010.xlog  | Bin 422 -> 0 bytes
 test/xlog/upgrade/1.7.7/00000000000000000015.xlog  | Bin 543 -> 0 bytes
 test/xlog/upgrade/1.7.7/00000000000000000020.xlog  | Bin 385 -> 0 bytes
 test/xlog/upgrade/1.7.7/00000000000000000025.xlog  | Bin 393 -> 0 bytes
 test/xlog/upgrade/1.7.7/00000000000000000030.xlog  | Bin 217 -> 0 bytes
 52 files changed, 189 insertions(+), 30 deletions(-)
 create mode 100644 test/sql/upgrade.result
 create mode 100644 test/sql/upgrade.test.lua
 create mode 100644 test/sql/upgrade/1.10/00000000000000000003.snap
 create mode 100644 test/sql/upgrade/upgrade.lua
 delete mode 100644 test/vinyl/upgrade/1.7.7/00000000000000000000.vylog
 delete mode 100644 test/vinyl/upgrade/1.7.7/00000000000000000010.snap
 delete mode 100644 test/vinyl/upgrade/1.7.7/00000000000000000010.vylog
 delete mode 100644 test/vinyl/upgrade/1.7.7/00000000000000000010.xlog
 delete mode 100644 test/vinyl/upgrade/1.7.7/513/0/00000000000000000011.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/513/0/00000000000000000011.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/513/0/00000000000000000015.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/513/0/00000000000000000015.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/513/1/00000000000000000017.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/513/1/00000000000000000017.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/514/0/00000000000000000023.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/514/0/00000000000000000023.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/514/1/00000000000000000021.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/514/1/00000000000000000021.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/515/0/00000000000000000029.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/515/0/00000000000000000029.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/515/0/00000000000000000037.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/515/0/00000000000000000037.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/515/1/00000000000000000027.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/515/1/00000000000000000027.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/515/1/00000000000000000034.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/515/1/00000000000000000034.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000035.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000035.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000040.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000040.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000042.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000042.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000043.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000043.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000052.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000052.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000053.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000053.run
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000057.index
 delete mode 100644 test/vinyl/upgrade/1.7.7/516/0/00000000000000000057.run
 delete mode 100644 test/xlog/upgrade/1.7.7/00000000000000000000.snap
 delete mode 100644 test/xlog/upgrade/1.7.7/00000000000000000000.xlog
 delete mode 100644 test/xlog/upgrade/1.7.7/00000000000000000005.xlog
 delete mode 100644 test/xlog/upgrade/1.7.7/00000000000000000010.xlog
 delete mode 100644 test/xlog/upgrade/1.7.7/00000000000000000015.xlog
 delete mode 100644 test/xlog/upgrade/1.7.7/00000000000000000020.xlog
 delete mode 100644 test/xlog/upgrade/1.7.7/00000000000000000025.xlog
 delete mode 100644 test/xlog/upgrade/1.7.7/00000000000000000030.xlog

diff --git a/src/box/bootstrap.snap b/src/box/bootstrap.snap
index 11063f70a1ee98e57ef652dbbf90d7a35e64eb6a..d271dca7bc6030f6a05c28c6385ed01a0a02f700 100644
GIT binary patch
delta 1067
zcmV+`1l0SY4WbQ at 8Gki5FfC^{GBGk at H8D6g3Q2BrbYX5|WjY{cV_`NkWi(?gWH at 4E
zEi_{_GA&{=HD)bkI599dVlgr_VmCMnRzqxWV{1Afdoem7FntON)w&D1%?2X?&S}Wp
z%cTGS0000ewJ-euP}ML1`a+}*NzhnL0f0S>QV*k1We|P|G=D%P;@m--#QgxsZzdiv
zbjQR-M5d%BCGDCdLcUBUDimjsv@@O3EeWdiT<j`17fToH9LPqVrj%0B0LcL405uWT
z_iLcA{9dy%*W>NWON5AYnEM665O+q at MS!i7obsS|L2%R^&qqIk_f^95osqB?GJDt6
zG?vc0^V*BBPJa`M4VgjR^{(=|zJ+;bqb(Ha2v-VV>m*_Oy7Crnt<KWFJHHXhxHGB%
zY at Or~B{)#Hn9=`2ob_m<M4XGYb&``-9cI4&Wiw*yB$Fu8m%E_rs!>}fd2e)79_n*!
zz8sWkrIX{CPWXglvQhoYbUp0Zpi~$Gmi?WNAhyN07JoXYl at _5S7qUP}qH=|&3V=F=
z0(pxn2ewY~Sr6t{-eOVL at dxq3qyMn$yIHnZ-eOnMR0G+5KB5 at dI>}ZauWUabyON$-
zj9@*kUR{mSEU<NwV}EW0>v7eUbVdOYmtbG9%rl~(|8(wZR0aW(S7$_H4)ptVO(+Ee
zwoX#t2Y<uR12ODd_~Nqf+j$vub#~46v%c$W6TfpB68+=P^R9@(6af1C;xKM|bvF7!
z;O>3P>)PR}#=79D?0O7w_ko{RM>@0g*N!~CBJXOnG{DwLiq|#cT?}d9#UU6#Sj2v;
zxKSS!J}G)ov^YU`cy at MFCR8O<Bx1Fi8ZlEMY=51kjTK3SK&enEl+G#V1mc84b3<b@
zM1z_+&3v$Rl0!2!oGHe6km(SU;SfU;GZV9+#czv(2AB*m7+@~ESa{)HWNIx{ps^t-
zv=mdKK&cCit&?<_Fk?ege*DRLtP%O&oi<x25)mgO!PZIc3tlX`F0Xx{p8dR at 5#a!N
z>3^IS^yL}o^%<()&O7jjcSiI_>HB{7>t}U5GdU{ag!)9Vb&|1uu^xBtif9i6TPMk4
z<=wj*ZSla?Nsh7ZMt59Z0Vy31#|Gu4PN>wIRv>OXlMM)rWBR<*XTmstlXLM30~Q+N
zc7Rm)L4EAl9<_&uY6nUOO%4u6j1PUeVSno+s|!Ucs|~8d+_4^4w at PJPszy>$k`+qB
z)=8G;^Zl=^$J-2BCkdcVD&tZz_KPDgX at wX#gW~TaYGFJWZW_*@H;Oe{W!&k7&aUs4
zl=j#<NfNA8ON4Qd=fw)#p+=7fg30J7 at dePoTCXUm+u|niwr~-V{d}Z#{v)fTQy<2i
lT-Z8E9vm=cG+gOiv!9POH9?{Ggi;wd(;`5uNV6~masni=^3wnS

delta 1067
zcmV+`1l0SY4WbQ at 8Gke|GA(C0I5=ctVly{43Q2BrbYX5|WjY`-HaTK4GB{x^HZWl}
zEi^bWGA%hdGBYh=Wiw?kW;Hc2V`MW5RzqxWV{1Afdoem7FntON)w&D1%?2X?&fdZO
z6{P?G0000ewJ-euP}ML1`a+}*NzfQK0RUe-z!wi#2aG*P27hXGN`Xj3V)Ot9t^MF$
zx?`e6+bL;sGsPrHdf5|=jWvmvE2-BmR-ldMW)ZskXrfxx8Nqe=lu`=P0LlR30JHJc
z_v;?<{9c2ZYqIubB|kx0%pHfJ=ygN2MZmSRl=7hphassuo{63evFm(k94lWhB=#+=
zWuVTx^VyHDE`R$mhfts1`qqhC&+>Rjt1Okuk!=*<T3Ws~Zsk4FSRK^AJFgMRUN>X`
zTuaL#NpPTW5v%`+Ue+Y725l|(T3XU-wV3&S7tP4Ev at EJrzTElX)~sGjOBINl8`J58
zP237avcV at 6DW&=o$un_JQhkrA`D{20SN3;Kh91q_Sbr*|Rakz8NJTUlK(UfD1%RbL
z0eO!p2iMZ_!4I=5?@_4h-Um^MME_#fc!M-o-eY%GR0G(4PI3&cr6sGA7`C62-C0X4
zMm$ZfT-~hBEV!1IWPfhN)8wi<tBiu6Ey2d)nPWjd|LNS#Y77D-u5PHp9O(G#m{bY|
zuBD~MAAgFXD)e5@^00UIjXOVmu+FX6e(<}_wDCKaA<<9rJnw|+OM#xxF8<;)S4XQZ
z1n}PY#H}r^W*`n%XV;|Ybzk^-MWi#Re|F?OJo0W<M+2^<<%nA`-bYauVowYMKv<YR
zR at CZ_ik%cXC|aDTI5{{tDHEv at DH7()qDD}Zh<|HodCelI5L}8waUe=JC7aS|re?+j
zG{ec1WIkL=OCTAVjbv^fVmg>H9AIW(WMDS1IA&4M at RH#L!^;I13oe^WjJ2Z*)dY%C
zM=&D_wYI!mOUsrC)C7|9Bv01ljL84)GRjh^1Z^=AuBGM1A@;@==Cd!<F`n14pc4?6
z&VOY-Uyg;U9^*RhybF1FH&lO&zVCRyez4<t2~m+Ibtl5Lv@|>RG`V{xRCOR+OG^;U
zyLYwP;=#4FB+af?aavpfHJ``X*sMxl^D0t}DU~9bIMj)BgG)Cgj53*2sT&i9E7ja^
zfK>QVec;?4R)<Gw2d85u$A$xDr at Gv@mVcJErBXSqjjF}mJx#7^w!$`4jiREWDwW2y
zv>egr`(0U+wHepa5`d)@wxML~A4z`J3NgGKj=zcOh4G=dWnK<d<T$Gqwv}G!-1_iY
ztIoBwBmu5i<BNwmFIIRRYV`P?myBK-U-Z0-<$A(l7AK9E<p~kl&q-P5Pl9Kquph1D
l;#ykf;D8aU;!0<l{hXws at ex%{YK3hwEdrQD0<$m#asuC}_0RwS

diff --git a/src/box/lua/upgrade.lua b/src/box/lua/upgrade.lua
index efd424539..7258f472b 100644
--- a/src/box/lua/upgrade.lua
+++ b/src/box/lua/upgrade.lua
@@ -69,6 +69,7 @@ local function set_system_triggers(val)
     box.space._user:run_triggers(val)
     box.space._func:run_triggers(val)
     box.space._priv:run_triggers(val)
+    box.space._trigger:run_triggers(val)
 end
 
 --------------------------------------------------------------------------------
@@ -85,6 +86,7 @@ local function erase()
     truncate(box.space._sequence)
     truncate(box.space._truncate)
     truncate(box.space._collation)
+    truncate(box.space._trigger)
     --truncate(box.space._schema)
     box.space._schema:delete('version')
     box.space._schema:delete('max_id')
@@ -458,43 +460,33 @@ local function upgrade_to_1_10_0()
 end
 
 --------------------------------------------------------------------------------
--- Tarantool 1.8.2
+-- Tarantool 2.1.0
 --------------------------------------------------------------------------------
 
-local function upgrade_to_1_8_2()
+local function upgrade_to_2_1_0()
     local _space = box.space[box.schema.SPACE_ID]
     local _index = box.space[box.schema.INDEX_ID]
     local _trigger = box.space[box.schema.TRIGGER_ID]
+    local MAP = setmap({})
+
+    log.info("create space _trigger")
     local format = {{name='name', type='string'},
                     {name='opts', type='map'}}
+    _space:insert{_trigger.id, ADMIN, '_trigger', 'memtx', 0, MAP, format}
 
-    log.info("create space _trigger")
-    _space:insert{_trigger.id, ADMIN, '_trigger', 'memtx', 0, setmap({}), {}}
     log.info("create index primary on _trigger")
     _index:insert{_trigger.id, 0, 'primary', 'tree', { unique = true },
-        {{0, 'string'}}}
-
-    log.info("alter space _trigger set format")
-    _trigger:format(format)
-end
-
---------------------------------------------------------------------------------
--- Tarantool 1.8.4
---------------------------------------------------------------------------------
+                  {{0, 'string'}}}
 
-local function upgrade_to_1_8_4()
-    local _space = box.space[box.schema.SPACE_ID]
-    local _index = box.space[box.schema.INDEX_ID]
     local stat1_ft = {{name='tbl', type='string'},
                       {name='idx', type='string'},
-	              {name='stat', type='string'}}
+                      {name='stat', type='string'}}
     local stat4_ft = {{name='tbl', type='string'},
                       {name='idx', type='string'},
                       {name='neq', type='string'},
                       {name='nlt', type='string'},
                       {name='ndlt', type='string'},
                       {name='sample', type='scalar'}}
-    local MAP = setmap({})
 
     log.info("create space _sql_stat1")
     _space:insert{box.schema.SQL_STAT1_ID, ADMIN, '_sql_stat1', 'memtx', 0,
@@ -511,7 +503,7 @@ local function upgrade_to_1_8_4()
     log.info("create index primary on _sql_stat4")
     _index:insert{box.schema.SQL_STAT4_ID, 0, 'primary', 'tree',
                   {unique = true}, {{0, 'string'}, {1, 'string'},
-                  {5, 'scalar'}}}
+                                    {5, 'scalar'}}}
 
     -- Nullability wasn't skipable. This was fixed in 1-7.
     -- Now, abscent field means NULL, so we can safely set second
@@ -523,14 +515,6 @@ local function upgrade_to_1_8_4()
     box.space._schema:format(format)
 end
 
---------------------------------------------------------------------------------
--- Tarantool 2.1.0
---------------------------------------------------------------------------------
-
-local function upgrade_to_2_1_0()
-    upgrade_to_1_10_0()
-end
-
 local function get_version()
     local version = box.space._schema:get{'version'}
     if version == nil then
@@ -556,8 +540,7 @@ local function upgrade(options)
     local handlers = {
         {version = mkversion(1, 7, 6), func = upgrade_to_1_7_6, auto = true},
         {version = mkversion(1, 7, 7), func = upgrade_to_1_7_7, auto = true},
-        {version = mkversion(1, 8, 2), func = upgrade_to_1_8_2, auto = true},
-        {version = mkversion(1, 8, 4), func = upgrade_to_1_8_4, auto = true},
+        {version = mkversion(1, 10, 0), func = upgrade_to_1_10_0, auto = true},
         {version = mkversion(2, 1, 0), func = upgrade_to_2_1_0, auto = true}
     }
 
diff --git a/test/sql/upgrade.result b/test/sql/upgrade.result
new file mode 100644
index 000000000..dcdb689bb
--- /dev/null
+++ b/test/sql/upgrade.result
@@ -0,0 +1,123 @@
+test_run = require('test_run').new()
+---
+...
+work_dir = 'sql/upgrade/1.10/'
+---
+...
+test_run:cmd('create server upgrade with script="sql/upgrade/upgrade.lua", workdir="' .. work_dir .. '"')
+---
+- true
+...
+test_run:cmd('start server upgrade')
+---
+- true
+...
+test_run:switch('upgrade')
+---
+- true
+...
+-- test system tables
+box.space._space.index['name']:get('_trigger')
+---
+- [328, 1, '_trigger', 'memtx', 0, {}, [{'name': 'name', 'type': 'string'}, {'name': 'opts',
+      'type': 'map'}]]
+...
+box.space._space.index['name']:get('_sql_stat1')
+---
+- [348, 1, '_sql_stat1', 'memtx', 0, {}, [{'name': 'tbl', 'type': 'string'}, {'name': 'idx',
+      'type': 'string'}, {'name': 'stat', 'type': 'string'}]]
+...
+box.space._space.index['name']:get('_sql_stat4')
+---
+- [349, 1, '_sql_stat4', 'memtx', 0, {}, [{'name': 'tbl', 'type': 'string'}, {'name': 'idx',
+      'type': 'string'}, {'name': 'neq', 'type': 'string'}, {'name': 'nlt', 'type': 'string'},
+    {'name': 'ndlt', 'type': 'string'}, {'name': 'sample', 'type': 'scalar'}]]
+...
+box.space._index:get({box.space._space.index['name']:get('_trigger').id, 0})
+---
+- [328, 0, 'primary', 'tree', {'unique': true}, [[0, 'string']]]
+...
+box.space._index:get({box.space._space.index['name']:get('_sql_stat1').id, 0})
+---
+- [348, 0, 'primary', 'tree', {'unique': true}, [[0, 'string'], [1, 'string']]]
+...
+box.space._index:get({box.space._space.index['name']:get('_sql_stat4').id, 0})
+---
+- [349, 0, 'primary', 'tree', {'unique': true}, [[0, 'string'], [1, 'string'], [5,
+      'scalar']]]
+...
+box.space._schema:format()
+---
+- [{'type': 'string', 'name': 'key'}, {'type': 'any', 'name': 'value', 'is_nullable': true}]
+...
+-- test data migration
+box.space._space.index['name']:get('T1')
+---
+- [512, 1, 'T1', 'memtx', 0, {}, [{'name': 'x', 'type': 'unsigned'}]]
+...
+box.space._index:get({box.space._space.index['name']:get('T1').id, 0})
+---
+- [512, 0, 'primary', 'tree', {'unique': true}, [[0, 'unsigned']]]
+...
+-- test system tables functionality
+box.sql.execute("CREATE TABLE t(x INTEGER PRIMARY KEY);")
+---
+...
+box.sql.execute("CREATE TABLE t_out(x INTEGER PRIMARY KEY);")
+---
+...
+box.sql.execute("CREATE TRIGGER t1t AFTER INSERT ON t BEGIN INSERT INTO t_out VALUES(1); END;")
+---
+...
+box.space._space.index['name']:get('T')
+---
+- [513, 1, 'T', 'memtx', 1, {'sql': 'CREATE TABLE t(x INTEGER PRIMARY KEY)'}, [{'type': 'integer',
+      'nullable_action': 'abort', 'name': 'X', 'is_nullable': false}]]
+...
+box.space._space.index['name']:get('T_OUT')
+---
+- [514, 1, 'T_OUT', 'memtx', 1, {'sql': 'CREATE TABLE t_out(x INTEGER PRIMARY KEY)'},
+  [{'type': 'integer', 'nullable_action': 'abort', 'name': 'X', 'is_nullable': false}]]
+...
+box.space._trigger:get('T1T')
+---
+- ['T1T', {'sql': 'CREATE TRIGGER t1t AFTER INSERT ON t BEGIN INSERT INTO t_out VALUES(1);
+      END;'}]
+...
+box.sql.execute("INSERT INTO T VALUES(1);")
+---
+...
+box.space.T:select()
+---
+- - [1]
+...
+box.space.T_OUT:select()
+---
+- - [1]
+...
+box.sql.execute("SELECT * FROM T")
+---
+- - [1]
+...
+box.sql.execute("SELECT * FROM T")
+---
+- - [1]
+...
+box.sql.execute("DROP TABLE T;")
+---
+...
+box.sql.execute("DROP TABLE T_OUT;")
+---
+...
+test_run:switch('default')
+---
+- true
+...
+test_run:cmd('stop server upgrade')
+---
+- true
+...
+test_run:cmd('cleanup server upgrade')
+---
+- true
+...
diff --git a/test/sql/upgrade.test.lua b/test/sql/upgrade.test.lua
new file mode 100644
index 000000000..d0add86f0
--- /dev/null
+++ b/test/sql/upgrade.test.lua
@@ -0,0 +1,45 @@
+test_run = require('test_run').new()
+
+work_dir = 'sql/upgrade/1.10/'
+test_run:cmd('create server upgrade with script="sql/upgrade/upgrade.lua", workdir="' .. work_dir .. '"')
+test_run:cmd('start server upgrade')
+
+test_run:switch('upgrade')
+
+-- test system tables
+box.space._space.index['name']:get('_trigger')
+box.space._space.index['name']:get('_sql_stat1')
+box.space._space.index['name']:get('_sql_stat4')
+
+box.space._index:get({box.space._space.index['name']:get('_trigger').id, 0})
+box.space._index:get({box.space._space.index['name']:get('_sql_stat1').id, 0})
+box.space._index:get({box.space._space.index['name']:get('_sql_stat4').id, 0})
+
+box.space._schema:format()
+
+-- test data migration
+box.space._space.index['name']:get('T1')
+box.space._index:get({box.space._space.index['name']:get('T1').id, 0})
+
+-- test system tables functionality
+box.sql.execute("CREATE TABLE t(x INTEGER PRIMARY KEY);")
+box.sql.execute("CREATE TABLE t_out(x INTEGER PRIMARY KEY);")
+box.sql.execute("CREATE TRIGGER t1t AFTER INSERT ON t BEGIN INSERT INTO t_out VALUES(1); END;")
+box.space._space.index['name']:get('T')
+box.space._space.index['name']:get('T_OUT')
+box.space._trigger:get('T1T')
+
+box.sql.execute("INSERT INTO T VALUES(1);")
+box.space.T:select()
+box.space.T_OUT:select()
+box.sql.execute("SELECT * FROM T")
+box.sql.execute("SELECT * FROM T")
+
+
+box.sql.execute("DROP TABLE T;")
+box.sql.execute("DROP TABLE T_OUT;")
+
+
+test_run:switch('default')
+test_run:cmd('stop server upgrade')
+test_run:cmd('cleanup server upgrade')
diff --git a/test/sql/upgrade/1.10/00000000000000000003.snap b/test/sql/upgrade/1.10/00000000000000000003.snap
new file mode 100644
index 0000000000000000000000000000000000000000..728d12c9157092b3cc31b2f7ed32c5219bc48d0b
GIT binary patch
literal 1568
zcmV+*2H*KpPC-x#FfK7O3RY!ub7^mGIv_DFF)%JMEjckQXJIfgGiEq63Q2BrbYX5|
zWjY`-G%{voIb=93V=yscEi_><Vl6l|GcqkSGBP+eWi(=DVq|6tRzqxWV{1Afdoem7
zGkppQ)w&D1%>|?Y&ihq-2c-Z20000ewJ-euP~9v57XI2v at RW7Tz%%d+Eb^42?+Mq~
zbKu|8#<eXCsLkkQA+<$KrqYl~3Ypeql9ZCrN?5B3)~aG8Um|ZfJCs>To&+}8BtQpG
zk_ at GkQpNzi0MGz3o&RRJBXd}iJhS$@<~U_4Y7X0;pFH9YqLbt0{+T4p5cIL302+r*
z%QD}=`0n5Hv|0N*9h;6y`!X#{vrNZA5B4mI1?usM0N`8ETF<iG&0g%oxbENc<m?di
zxw$WNf^S82{J0sBLT9yDhMS)~oBKkzfaT@(UC(+u_*S%DAaR4VEaO>xE4o^}R2t^x
zB{Q;OPNNvUPNU3fbwag5m{W=szC at W9nU*G9e}9r;@AjeCT9=^c$k^3Rb|hgkqvYgP
zon{aCLw(~_{%Bo(o;$2J+ua0H%VL1*+MlTf_*OLb&y4HZpI~ZHC_5oP#~H}8CI$Fb
z^!(cIg!~-A)Rq$DJ_J3R>DJ|FTI3t#S(XDnW}uHH8Nj!qCz)sI?Pn1jVpR&@TTz}h
zS(Yy{tm#;o!}Rz3eM-xG%XD4C^yj;0>hE_xxIS}e5BAs;0yuile9iY}V9$;Q<lb|d
zWxX7EuuP8W=Vuv$BB}TI!#9j;UJo5+(}O%K5`b?-%^ZBYbnQ<U7h3r$VlD0~k*IeB
zkF^nDGehIDt`IH|tq&~^tqwQdWpSvi7QPk5Hy$ijN+uPPf<diNFDR8MWkT6Z8%i#v
z6TTI-l{9=AZXX5~(~YG>x<Il(su1%zrqYr^A!S0!H)0vBj7ay2RP4=m#EMcx608kH
zz_+5IQN7ua=rhOWCof0q{&y9{0_8py5xy0r0kNfQg4lW?i2CQQxrTv$3;E$e#M(T-
zx1zV7Lw@!T_E;JR_*V41fjrg~n(c138sJ+|4b$YF?H;4}8ec0N!&0eMC)EoK>-0+H
z)hVY?;fW=-^r%{?TAJ9~=c=(n!_IJF8JFg!Ws{0wg7Li|xv--a_*V3WEKqt`SYGZQ
z@^j?5EAXvoP*70N5~~8=ii)cCUC%Z at d1~;j=*g`X_pxZYHcy}0l@#G7P2GPiMxn{F
z at 4`*KPLpRZ?n9m6TPEhzS`+wI^aE^+nKe(&)R+h}ys)8hYAim=tijQ<*vv>O$Nb66
zv9KqnYk%&(*C#Bs75AY^;9Jp|8x=ZRjsbxssKH=lObyHc00IJ_01*a9DQ86k5`e%s
z3ZyU!U>Jr&2r!Bb7y$smfsmjGpcV`Qvm#8o{T!UIWrMJgrbyP(S{cOSu`>q0a<pa1
zXQS%bG8O}!gq&K#zaL_ACMj(Gm=HntuDw-OoHg&R`m`Zzw0=F}xYk;M0S5QQRI0_x
zcB`dIz!l2)PNY1QNC~n4-njg7TPb84ZbnhlE6L%CY%LToqK7YLnV^=P#-S4jY@?Bl
z>TX^Y0$Cv}Frw0!#oNlZYEOIT^w<I&ttYCd_UOx55aMu&2j}ERV(^KCTM<yb%OF~!
zTk>$W4bhI&gDhY~r7??VrD}v1k{x|p4tA^>W_wL|1Ekl-Re3*L?88c#?>0TAZIy$N
z{mnd1h?n_-^c6$^lrF(3h~7jq7CpU(#f;QHj>s^~sYa|*=@00*UCS&n;_YNGC{UX%
zFO8vAsLcqgm|TyPgJCccB;F_bdoWuF0>2OgXr#EU<I>G!gop+l@!BX7arFEs&y_w}
z>tGM5{t$20_Ji68+cVwjPz(+^JkSE;*Eqi2Hc!qB{~RxI2K3JPcR1TK<g}JfPkI5)
z5a&Ds at FZB2Kz^(&1f;N$dk8N?6F{b>+whP_oqX#j_FBN13|u8Ic_ed*nU@$bD at B)x
zUd%~0qgsAR_7B{VN+4EeK*JhZ2n`7eDb?{mIH%Am8jx<JNwjRKfwKM&uRBZYkO?f5
SQp{n$V$+iZh|dAl5UuUZE$h4h

literal 0
HcmV?d00001

diff --git a/test/sql/upgrade/upgrade.lua b/test/sql/upgrade/upgrade.lua
new file mode 100644
index 000000000..2853492b0
--- /dev/null
+++ b/test/sql/upgrade/upgrade.lua
@@ -0,0 +1,7 @@
+#!/usr/bin/env tarantool
+
+box.cfg{
+    listen = os.getenv("LISTEN"),
+}
+
+require('console').listen(os.getenv('ADMIN'))
diff --git a/test/vinyl/suite.ini b/test/vinyl/suite.ini
index ca964289b..322c6a474 100644
--- a/test/vinyl/suite.ini
+++ b/test/vinyl/suite.ini
@@ -8,3 +8,4 @@ lua_libs = suite.lua stress.lua large.lua txn_proxy.lua ../box/lua/utils.lua
 use_unix_sockets = True
 long_run = stress.test.lua large.test.lua write_iterator_rand.test.lua dump_stress.test.lua select_consistency.test.lua
 is_parallel = False
+disabled = upgrade.test.lua
diff --git a/test/vinyl/upgrade/1.7.7/00000000000000000000.vylog b/test/vinyl/upgrade/1.7.7/00000000000000000000.vylog
deleted file mode 100644
index 7d0e7cd6fb3bdc917af81ef9e9b0e703ea46bcab..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1384
zcma)+PiPZC7{zBN+5gc*g+fszRs;`jY_e;bL{KDH5hEUiKt&JfX1m1Jtt2T at CD0@u
zJhjwA1 at Ty`Sc;y5iiPUIKLLxaC-I>5P!ORA6;X6{X1BX`_h62Xw{L#m`(~2w%bhtP
zbjRYdkk`tU(y)<<#$&0NETv^hPp8y`n&?RiCyh$AV5nLqT2NA&nobQ!idIl1C8=pr
zK}pEcAvvWaRaxy;R87cdhlbU`O!Qh!5SCivY!0+L^Ism_1LRi+u)gP}IMx6#`0Cj5
zZGHUn;zOi>CI~QZAYdmOcLz$^P!UX5M=xvlM~q5IH?-nrKdgg*8Q%-qpax#p at h;oi
zVG_%rSn5Awu^%=7Ls3?6&*a%vZ}1A(Wd>gdEKU6rO=04hO0`@vbO(g^Q7}tEGq?k^
zr)FDmpWxOx6dXiGXpgqz<MB?fakY{~M!IPldCobB=v<S6Fu<W4yJ4aWD46Fgg3*PJ
zQ$E30XhOh1+Unr>%LmI|<G0*ZLV%2J0-_ at V3ep_o5D*;^FdGCPruG@$;I-;Oy93rD
z=vt2zy~g#vqjm=@&pRg(9e2QTu5O5qJK(Jj_OHy%`2?T8VRwLy=z`VuE?o2)f3 at cA
z4tO^K(QyYnhYqy2Ky=)JO)&U#`=U?q(<e58XrbQ9e){e;{^@;2j4TY9#@Az@{kDHZ
zpCM0e<LHUNV-Xqox(mnAoHbb*Q-}2CZ;|GdZ28ayWT5C8-O};sBDclb-|ygsogVfH
z=92m9 at f{BFPD_ at K_ZQ-}IvB){_lN&h&?}lA-yQJ at E+4Sl3tI&9ciwe*jbi@~LcqYV
jn}Fzeh%gs%2#AjNXA>Mb&A#^u*3*Q5h1- at Qb6@`gS@^)i

diff --git a/test/vinyl/upgrade/1.7.7/00000000000000000010.snap b/test/vinyl/upgrade/1.7.7/00000000000000000010.snap
deleted file mode 100644
index aea4df50578d40c0af5eb7faa3e2ccff3e039398..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1669
zcmV;02738ZPC-x#FfK7O3RY!ub7^mGIv_DFI4(0SIWsM1IXGi7V=^~33Q2BrbYX5|
zWjY{XG&p5rIXGr5G-Y99Ei^V|Wi4SeGBYhTGdMIhV>4qgG-G87RzqxWV{1Afdoem7
zF))1!3e~y`y3Ga%0M3|?HQJ>B00000D77#B08sre06Ij(4oTn`rvNa_FvB!P!x#ZD
zh>U~QowQ_SX)}q4(v1kLic4Z6GEG`a+BJzJeWq!$_SA at Z9d6gz3ebp+)fQ@(t7h7k
zU)6PtDWw$E0L=j80Qu8TQ}XzV+ at sOb09z+1-j@;YVmJdY4ndk2>-+UjSh8M!nd{NU
z%0)p$I?VloV2C{@^hLn`F#6Zkvrp&UIqk(*p9KjGnLz#Zukya$g}GOwE)+=#R|;V3
zBxC!&@)m2Z{^{SH+lXZBIjI0_o#c=vI8eASqR$F()?<wlaWB@^Nmc?>hneq()somc
zNm`Lu*#o*S8ntzjIT+vW>RcTh7RvOkRA<t`$w`@P{?wUNE!^F(@J$9S`#T>&T$6Dw
zbWSWTK}15f82OlF*|`Fs&Y)P2yL&gv^T5_geqY|*v(XkWwoY=Cc{aLo0LxocHL!J(
z|2>#td5br%<M-hc9{q=1-~H8Kd5d02I|f7h`G|6{b&{?=-l6?`^h$bKkOb?o1 at mZ>
zMuDx99Q*SmSdT5Qq%#SKI0XBOWi}!LdX~-}jmjLbb&?}^VWq5JmIsAWFktH>^?fi5
zeLx(07rwac`*vOeU7cS>`@iox*TnC9wnYC3<hggFF$I1;!+4C>U|x;F5V(8a^1gQ1
zqJ0-^m0gb^_E_NO){zc#&J`AYx05M@^xqY4OqSeCT-jpFdxatBbDIcOSHj%y_C84F
zo*p-p3O?*XZ@=j2aZ9mM<cC-^XFXw~Jv%)s9uqA}&=rZ*2$cv`2$f1kt6euc9a|@9
zWk|Xl6b>qdx;fdLP^S|O2$~ui)69n%54KKHXr=>4BjaXdILKr+xcGHZ&=8X$21CpR
z7!F1T#zL*73REUkg_bCkVkn(p>m*+!Oqr0CAAw{&(un-;KASESiHMVd>HPbQ(ps{0
zl1GM2Fs3t1e2uIpbk+#0?{~lc&*S;Y5t1mh2ZF7Wl=T~rQzv|bb5h+6j_JlGbxr>{
zDHFb*GPODt{w{ShXrVH0#lyl5s$*qyR303v9 at GsQ8(a+vL*s=am30QyVeVLuEnAgg
z>m-wsl9I5{7`9HbG at tK>Wj)$p*g8o7b<!cOd$C^}c}Xqs;0%htkEnI=V7O;EgFd53
zqjiWowb1#+x+SG7Y at H;DujLYB9Nc-a0(+>@<9}i@`bm88^Dq~T3hKJJNxUw6BeI{5
zv(A6~N;-$Q(+XQBxq}0S5e-{9*X-wGO$|`!GlkM2Zbn75$wf2;MdhMND~f?GsL at zt
zObyHc00II40RRC8Kwy+|X7dt&z&Hw{Fp7Z~24n~@j7%5-0D*y!fCxYu094~8b4!`T
zp4OXNYeG)Q2{~mrd1Ob5T2}i7_ZhynV9#Q?Y!EkOJ`Bl!j2WTCIm26caj(phsAxxw
zz}xK8hJ=~z;w%1gUu)N;?=<C2ncBTFYca5zo>BgvkIL5NUv)s!Cd93`h8sD>yS04U
z<<spVAC>u8CE_wW&@ZTPR@^w1v3+YhrV#_c%J at 3=y%?k|jLS$pzmRh0!xiIXG6$g1
z2Z}nLQyT|3aJ;4g#fu6v at QmBZGw_VtDUU91>%k*BowLCqgibeU8VpZZ2Hd1TA=(`c
zTgm?gVr7Wq$ShjGgYg`EjdN@|*l}DBYOuaLNWJ~iJ^}unzKONq*ZU84MQ~6#<LK<{
z7D)viH`5#?6Q_M92KoOx_0j8br~}CQ+yX<>D2}Ot!8k_}MRV7BSpKmVBJ3yE$8W^0
zdn1#$*fa>?ehDxFjiFiq6bN&kPb<lhV<3_cuMpThFrc?TU#R&M5}l>X;s-L{iJ^|V
zEHoDZA2<p<4RTZ#e^jb-n;{VomD<F4FdaKZcw7?b2|)G$J1$T^8{RzbxG?R{zdCGC
zox%&ikKpDJIhwK%lEOHyBn%DB5^<UW!^3FmgxR#Xw~}(pz%TNeb7aDw$%m1hD1JqB
zBAjFfs#K1o3q^KR6$q}$RI)$WM_F1SoqEw%X0=u$^zWulB2Tm$==5*yI)lhIEHicl
PHDA%_Ns`0m)ex=iaIpf!

diff --git a/test/vinyl/upgrade/1.7.7/00000000000000000010.vylog b/test/vinyl/upgrade/1.7.7/00000000000000000010.vylog
deleted file mode 100644
index 9c982569ae3cac7ebfb32980c2296f16100a9666..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3771
zcmai0ZERCj7(Vy3YtL=BZnzEFjcpx+GPZTBYdgBdMQ{dK05xicA0eTZvJA*D3{(V!
zZVM*-P*@-;h8V>S3}T`NjUa)<4-9OL5+D&tP*D>MD1Jnv{=oO1_uSpH-h=E{?{l8}
zywCf-&%L`{k1W1#fv2f467_VY*Y)+R?QIK28WWAtaBDQ&-I_=>r<&)qcshIg)+c*Y
z>9$}pmPn^s6Dz~9bTSo=wWQPGWUM(Fjz<%*mQ*y=6icN&T^(!IrdGEFH$_0LX^Y2m
z{;2oRn6{Z at 6PGt{A120MhR{s)5E&p2*BB-4UH!u=d(vxGkT=$Ed?I~tLvLSCcW-(H
zvS@}l#`!MbYyZ#p^b?ov!8`H>h>I3Zxbo_{bf%kEt_+p&Je?s6 at I3rQL08l8HyhA2
z>SYDeRUs?FD>6vjdD;Y at 8t-eQZ~eNS-fm=pOSkFE3BTzi#KEzf=9?${%58e&R}Rw|
z_;G769AlE;hf)V~N>^?sI^bvd%!g;*ZN at rA50dQt3kPS9@NJNOLY-&kUD(_Gg8$q#
zkkd2Fr@)v31Md^>g at HK~m|KD6=VH9UNjl7Cq9$))61&5&UP7{+d-feWfX-#>-~R^I
z-LNk~ySBXYR|V~AEz)#BJ5olS3flE{q&Wm_^P=nX6to*JBF!ymp_w~ZD`>y}h_rlz
zHlJi;nTtJkT42T;puuBN0P&%>in%o%<U<e&v|=Gl%RfJ<5RUv~2oDk;Po^b3A(@ge
z=Yz0MD=~y8lkAa`9a|K_?+_4%5cp`RaPZowidcEd7&|N&h<c$_32|6(2`y!lb8$$5
zPcIY>9{uiUpWQ*_>CezX0i7ZoJo{c~rkyx_);V+lMA-r2;GmdJVSdX2;^3eF9Xvp?
z13O$pcHvNT1cc$4k?bSp$Y>>&AY!h5TI!J!jwrlWe1>}{^2ON`enpXc4EIn(av0(m
z6e*U9a14q}nNWnIP^3VN==>q?--;qVHBbcd=ZE|`ZlAvp=R-{VT0jUlEI58fA^fC~
zf5=~e=g*S9MgBsZ55fVh%n*kB9j at B5NFjXH2sY#|K+A=LhthA4*oh6T#)As^1EOAL
z%?okZei<!iQ*&|HQ$RNzZ1p;~D}>uOq60sz5Dtbfevq^iBgK=^0T5*eh=YRwtzeaw
z1H{3BA03RIBiXl}`u9uQJ3G4R2M~s6NH-$}(Fj<Ah(R<e<Y*wucUYCng%`BntL36l
zNgC96C26SRmCBWs0$MOv6DkF~nwa0u2Uf-H^NYT60@{Rd1|giz+lLeR&{$Bb78#oN
z+ at YuK!m-!|++cuC6U4E_+ba~r)>0$}X^pTN+;L^0o!GwGNF@*3G`+&=6>(T~kWORM
zb8#Lvo*{_)rd97M{@t{%?L-HDIzu>UyLtI5yMw#ftLOl%>a|uS#KA!|tzn^D92^Ao
zS|Plw`0SWnxMRaj6b1)!Ylwqz6`jFmTEd9)6q~K-oqPN3!V88!#MXk;bZ{m9_{VnQ
zl5*o+0>cHO-egrmoVQlXX653%wI;FNr8jlOD`H92OQwT5LELvb{FB|mz2(CuvECq#
z4wCFIJBM7hC$sC+aUjC;BH0<or0F9DPiBq$yo{r at c9geYC%2Dm-hLfx5IfxPXUCm(
z|4T2uX-=?SPgs*eoJ-WRa4ya#nBe_hgm18_uSaeDF8!tq`;~7tu?9(yWAJvW&c!IK
zRcmzal0GX at lnrW)v>pzav~uaF&N!N_l#4i&auHe&2P~R<4^)cKI^(EWq+tL2OAjih
z`0b}=3Sxq|b@`(A?Zn5XR-44QL425Gi%#!<-A-I~_eVHBsl{<j>J2d-ftb8M#9 at Dp
zG{#ztQY%RI#xu=|kLBd^e?TcN5!dHhBS4%FJ8n#Lj^Zdn<HmHP;NV?6Aalhi>c;+h
p+1_Dt=%_i0R)ZKK+4v{NitNPheY=6^*k+YS1U_LL=Zg+s{}0)My66A^

diff --git a/test/vinyl/upgrade/1.7.7/00000000000000000010.xlog b/test/vinyl/upgrade/1.7.7/00000000000000000010.xlog
deleted file mode 100644
index 95363970928d6292ec394305d8baa28e97d22e54..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3461
zcmd7Udr(wW90%}w_uhqNLEY3v&{cOs5W`&_yTF2)kfnw&>Wo at 8)pl90>kfFAb{Df4
z%U5ZTDI|ukX;@?x5FfqA_#?BZ3Axk5N6ln26*<_b<<wM at O?A%o_j5TkWB*nAAI#_c
z?r*>Mcg~*s%NNcw<~VYl#$|Fa<PRvt)?A0%;j|Yy?Y<(nH_w|_SYW(Y356xaD;HZO
zms|E0xmVg<vgEb93S`+Xx$>O$e5c!0;B|U)Twd9 at Y)*B+TUBhW%O%xv))|dwPb79_
za_VMxvgIIm<FlC)b-a)$_LZL7<J+F{r at GnH&zsD=wK2L{TI=zzur<EWnx*6E(riv$
z_Wr7eVoP;oX%Z|=9l35JS(;*dv7h|ABP at r)o)y7BP5T<Z at _043eg~~^dKafoT2g;D
ziVvq1Mqq_B3$0+a?IIPph(Gs0I4H}{L~9lQqqXv>SAw;Q#~Y|s!k!vA=&6?1$kn<d
z^q(RB6S5~Lh5doPlB64zJ1VOKfz_UsHNn2w9lPmgPe+a9lQr9K<vN3s0)MF`WJzNa
zcc at kg`F)DKLThv<r=HOFjAR-eiH&BL#2V!z{=9#+Q9c?92mOkVwrSzi#(~vG*f%l?
z+bpajZR&Kkro at OO0U!9PBAw+X;2E}$fhR{QD=DAAsqyLWSYupI-qvl%GXgY(CDumr
z2q=Di#21HHJsNdRgBF>!iB1Rb*Ok5HEFXis^g at ht&`U+nafRh$kuNNwyzFK#r1S5j
zYs*<}M!onV)hRbM*%C8MZx5Mkx+RiPFFkyVE#c(U)bu4AV-KPOJr0*H-=RH-ZV7?!
z*0w~L46IiQ%YWMzGm}rBWTq_ztN0$%vY^{S_#bSG^DSfaOrxpTXl-7s(f at Q?kk{{c
zWA4lBTN#gSKDmIjsS|8Xd at JsXQy0z;uzCV$XXs7PNfAlg6=|G$>Zb)C#CQUE<rd^?
zpV~wxF_WH}JZ~f8E@<OEkyCr0-LNXQiVn&|T(uzx52<UDD!p{x$xJ#g*AK=#oyke)
zpYFZIOy+RvhgU}|j4h>)nv6^9Kc_EAJEldxQ=7?9O|?JF4rD#2W;{H(jCs#iEV27}
zT0%RgMJ`fP_0Pv2KkS_D7Y1*6LW at JrXVdVrc|50D<Y-^)`w8Ux*|53RRvM*9-mZ2k
z5&T;I at vm8YJK_W7fOP^5o!}GBYoD?>4RN#wupk1SGM4|I#ZwS>j0Y_00e=)WJ;>s8
z#9i7!O?uYH0lrvhDPeI2;_fD>92XCG#-i+Y7EeWd)B!l&0C?2kwt5z4B0hEuupt5P
ztkiKsZVEK#X at KX6KLF-2x~&-v$JxqvAU6B~SclOq+IOjt#aW1x1^^2fU2kN|ITlYx
zJURieh|yi&r2CP at cEskBfb|$%MQ68z#SX+NKLd`#=yry)%q-4EY^eeqkI`kmT6Lbq
zIfy4U12$+kGBR~vitD$qI2Uk5`!|4jjBa0AWEzX}5FdOCunwc!dS<@BVkhE5zXBF8
zx>@Z<hrK};;?69<B1WfQUiS-IIUjM?J%IHXo%y-aA-5DdNCk)wR|1a1=%#L4+Q3#W
zMBKdza6CrWHGQy*#csq$8UY&;VV<X&FTKa&BES!{{0^AM=sxSSPhoK};=MRXI*cw^
zxN2wd48;38pt69`wSHnwWARMHFDZaUjPB~zcWo at 5g}8M(U_C}x)m*rp#dji(Tm~G6
z(N%bQ#;|xc;sY&!<1xB2yYX8VmmrRo0yZSkoXM~6{N99NH at i~6zUFR%Z(JL-iygVb
zo;mr*kY6i$$-E2o-u+Zt>9vu=d!XUU?4npFl+Qulwuo}=9*FwBxr={e_1&o3+o;y=
Lf!tYB_m#f at 7FT6D

diff --git a/test/vinyl/upgrade/1.7.7/513/0/00000000000000000011.index b/test/vinyl/upgrade/1.7.7/513/0/00000000000000000011.index
deleted file mode 100644
index 54a30913810672a7fe0184d1ce273dac104d5c3e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zmm9;mbc+RdmNP(r##a5m3;}N$8LlujGNiOIPGn at 7$i&RS!pX|WHif}~^{4;?HzNx}
oBSUH%V*--}3lr-^MrKtuF%||}c6lonP8N?AuLPc}0&Cv_0DB=ZH~;_u

diff --git a/test/vinyl/upgrade/1.7.7/513/0/00000000000000000011.run b/test/vinyl/upgrade/1.7.7/513/0/00000000000000000011.run
deleted file mode 100644
index cb798067c3121b73d141db28d1a5aaa65c8d81a3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 156
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;y
v!?{U?vW?3bAfSnXiJ7BOaT4RgL=ck`$YffW)X0$5$asVUs)qZjz}mL}8M`Vh

diff --git a/test/vinyl/upgrade/1.7.7/513/0/00000000000000000015.index b/test/vinyl/upgrade/1.7.7/513/0/00000000000000000015.index
deleted file mode 100644
index 8886d29acf99e6bcfe5b1a75ffcf02c8c5ba4a61..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zmm|ZuN&CB8mNP(r##a5m3;{<O8LlujGNiOIPGn}9$jr>e!o|wSHif}~^{4;?HzNx}
hBSUH%V*-;V3nME~T8xdGiNTWHZlQal;Z=dPZvl+yFw+14

diff --git a/test/vinyl/upgrade/1.7.7/513/0/00000000000000000015.run b/test/vinyl/upgrade/1.7.7/513/0/00000000000000000015.run
deleted file mode 100644
index 17767a2e925c0d57d4520728967e515987354cf9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 141
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;g
n!?~&p at x99#AfSnXiJ7ZWaT4>w<VJ?HM#dv7An~gLYu^F@*<2^!

diff --git a/test/vinyl/upgrade/1.7.7/513/1/00000000000000000017.index b/test/vinyl/upgrade/1.7.7/513/1/00000000000000000017.index
deleted file mode 100644
index e6ead5436ceb137af8debcaff018fcff961a3edb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 234
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zS0TeW=bps3%NZa*W2^pOh5%P)h9k_43 at L4llNKg2GEG{T%*@Qe!o|wSHif}~^{4=Y
zfI>rqBBKKX6GMXoV<SUq8)E{KI}0-_NIA0!o1y at NouldjYlBGUfM|mUT??cX7!$<(
d!<5)HJQ)5k>oNN<>{Koi{PB?8 at 2bGsw*W<*KoI}{

diff --git a/test/vinyl/upgrade/1.7.7/513/1/00000000000000000017.run b/test/vinyl/upgrade/1.7.7/513/1/00000000000000000017.run
deleted file mode 100644
index 2019e5ac79569435f28dc40714ccd66ab792d754..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 171
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;R
z!?|tiJv){&KtK}%6EjDn;-rO%j36c_h?&F$Vse3)$;^!mX^o6Wc%aI;fwb6FfwgY|
D(D*I3

diff --git a/test/vinyl/upgrade/1.7.7/514/0/00000000000000000023.index b/test/vinyl/upgrade/1.7.7/514/0/00000000000000000023.index
deleted file mode 100644
index dbfb23acd0c16445019f7357908ec7e703120d4e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zmm|ZuSsQP9FK2)Njjj5B83K+nGF)M5WJqaaoXE{Ik(-&Hg`bs?Z3=?}>rnv)ZblY{
iMuyZj#snrU7DiT}v^X0N6N4qI-NJCzV^;;%z6AiQsxfZ>

diff --git a/test/vinyl/upgrade/1.7.7/514/0/00000000000000000023.run b/test/vinyl/upgrade/1.7.7/514/0/00000000000000000023.run
deleted file mode 100644
index 21d337905f8d4651dbad38f9e4e9bad39e64345e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 142
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;=
o!@0B at PA1D4AfSnXiJ8AqaT52U#KcC1v_{4wEFg)i0&Cv_0P!#<%m4rY

diff --git a/test/vinyl/upgrade/1.7.7/514/1/00000000000000000021.index b/test/vinyl/upgrade/1.7.7/514/1/00000000000000000021.index
deleted file mode 100644
index cd41eb5a79fd1c8c5ce1ff4f58d62f4195ae5715..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 208
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zS2)ADlNmM(mNP(r##a5m3<0G~3}2WU8B*F9CoM`$<Yr>#XW?gMWShd^z<N}GfrX)g
zff1;@ks-B>F at Z^og^^X9jfa~-v4Aa}vxaQ}L-~P?=QHf at GpMoYxoOM^7wi(hDzNq~
E01`GhC;$Ke

diff --git a/test/vinyl/upgrade/1.7.7/514/1/00000000000000000021.run b/test/vinyl/upgrade/1.7.7/514/1/00000000000000000021.run
deleted file mode 100644
index eeb73848a1dcaa535282caaab6d980b66880eed9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 142
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;=
o!#T(8e*2d*KtK}%6ElCK;-p21iQJ70X^o6WSU?h21=hX=0R1v39RL6T

diff --git a/test/vinyl/upgrade/1.7.7/515/0/00000000000000000029.index b/test/vinyl/upgrade/1.7.7/515/0/00000000000000000029.index
deleted file mode 100644
index 30f6847b1142825d0414d74d77e6d1bd9c7c4cd9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zmm|Zu-pnsa%NZa*W2^pOhJd4t3|E*M8B*F9Co(ckWMr0Nkz!?Jo5JA0dQ^acn~{Z~
hks-B>F at Z^wg^?8~Eyl*p#ITdyZlRC_^HqVhZvmgtFwOt~

diff --git a/test/vinyl/upgrade/1.7.7/515/0/00000000000000000029.run b/test/vinyl/upgrade/1.7.7/515/0/00000000000000000029.run
deleted file mode 100644
index 100f7785ad1a8169f0c5bafdc0799c8c0cf449bc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 141
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;g
n!#TIL^%s{jKtK}%6SGvK;v~j}iH!_tjf_WFK;l;g*1iP*+kGeb

diff --git a/test/vinyl/upgrade/1.7.7/515/0/00000000000000000037.index b/test/vinyl/upgrade/1.7.7/515/0/00000000000000000037.index
deleted file mode 100644
index 5c45a6aabd5cee05b43377d19c9eb19e0831ad01..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zmm|Zu$;{by%NZa*W2^pOhJd4t3|E*M8B*F9Css2}tY(&Fk!59Mo5JA0dQ^ZxjERGx
hks-B>F at Z^&g^?8~Ey2di#9-;5`sEgT@>PMgZvl=*GF1Qo

diff --git a/test/vinyl/upgrade/1.7.7/515/0/00000000000000000037.run b/test/vinyl/upgrade/1.7.7/515/0/00000000000000000037.run
deleted file mode 100644
index aa98e56c9a3d55f34b6eb7049942c059b30b8ba7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 143
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;M
p!@2TjE>D&-KtK}%6SHii;-u=uiAl+g3~7ywM_52IR|VF-1pq^EDS-e0

diff --git a/test/vinyl/upgrade/1.7.7/515/1/00000000000000000027.index b/test/vinyl/upgrade/1.7.7/515/1/00000000000000000027.index
deleted file mode 100644
index e6113214e54df04b9e0dc8ff934ad7b00dea9f16..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 204
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zS1`l5HV*!x<qQy at u~q*sLqI4Kg9&pZLrNRtq=ku$Odx_;ibaZ*k!=ct1M5)%1_6bJ
vhDL_eHpT=dO%_I0umUkQZgz(9W_clo{|%=ZgdN^>#IV%;XcWFGu=Xtg8vHn)

diff --git a/test/vinyl/upgrade/1.7.7/515/1/00000000000000000027.run b/test/vinyl/upgrade/1.7.7/515/1/00000000000000000027.run
deleted file mode 100644
index 0d4a7eb0fdf6fdfe3c939dbb299e00638396bff1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 141
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;g
n!#S(sr~b<sAfSnXiCL;qaniy>#zuy;M#dv7An~gLYu^F@&gCbU

diff --git a/test/vinyl/upgrade/1.7.7/515/1/00000000000000000034.index b/test/vinyl/upgrade/1.7.7/515/1/00000000000000000034.index
deleted file mode 100644
index 01d2551f921f479dea1f0295369bb5c1f31e5a72..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 204
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zS1`jl*&Wkcmoq?s##a5m3<04`3{RLE8B*F9CoN7)O0H&NmSvG;Wn`Pe;J|uRfI)$Q
zg at J{mks-B>F at Z^&g^^W)jhB-_sle#I+6QHx70uJ_r*D0b_#vs;Vrk1%m8$}4-vR)K
CK|2os

diff --git a/test/vinyl/upgrade/1.7.7/515/1/00000000000000000034.run b/test/vinyl/upgrade/1.7.7/515/1/00000000000000000034.run
deleted file mode 100644
index 1c9129990e22572ac0fb365b5876949dd05c3ef3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 143
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;M
p!#Rzwmu#0aKtK}%6SHii;-tliNy*iX3~7ywM_52IR|VF-1pqcLDJTE{

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000035.index b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000035.index
deleted file mode 100644
index 90f704abb8ad60907f1945a3ac422cef9c2ee616..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 242
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zS0%%_qp8y+moq?s##a5m3<0go3@$8<3 at L4l6B(H%axg2hXs~jyO<{0gJu1M!&B(&g
z$dKB`n82jL!pJ(2ky(_D>r4mJ2Id<qXBin-&oXMT1+Z6efP{q at 5;zRl*_hpK$S|L}
ln#H35WJe#c*bsR(Gc)c&^oO<O99bL_IHn$uxGJ#rEdYHoLMQ+L

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000035.run b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000035.run
deleted file mode 100644
index 6a4ddbc8a7b85816eaec78cf25a05e5999737d46..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 420
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;w
z!#SNK-Rk8G5YWWH%&gd`IEj&|ks+;- at dyh@7^-fK$5mEjbxJ^WOw5?-LbYYrBdb#e
zs$*usRF`AMd;(dW3Q!#jE2g at DNwXIrt5XH4V`alscVS2J9b|QCKy_^FnCh1AtYJr1
drw&xd&Vi}!rTUG<$m%qJ>Nq%&)d{S93jpb}YeE13

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000040.index b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000040.index
deleted file mode 100644
index 7d1e94d6387c97eac5b116cf847f5e0d62dd0e84..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 242
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zS0%$aW$RhR%NZa*W2^pOhJaRP1{an_hLkqOiHuAWIhZwB3|KkXrZ70L9u;8VW at KS#
zWJqmeOkmPrVPu`i$Slgnb*6)91M>}*vy2R^XBjov0 at y1!K*B-{2^<FOY|L&qWSCD~
l&EnAjvZD`JY=}IYnHhH>`or3Cjx3G|98(WSToqXR763;<LCF9B

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000040.run b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000040.run
deleted file mode 100644
index e70aacdc50b862544492c275f8fc4ec1e7a13557..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 420
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;w
z!?~AlzXdL5fPf|jW at gPs#Yv3JjSOjxj7L~N!ccYR9)IgcR;LA2$HaoEZo-mdt;p)M
zf$Er9G1Z-pDriDhrvp^S!iK4Cs;ol?vN~O$I#zZ}bvA|5)sfZd0oAc_V5&<pTds?&
dP9La_ofA{tqUggq$m$G$>NvQN)d{S93jkKJZJz)D

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000042.index b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000042.index
deleted file mode 100644
index 7d1e94d6387c97eac5b116cf847f5e0d62dd0e84..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 242
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zS0%$aW$RhR%NZa*W2^pOhJaRP1{an_hLkqOiHuAWIhZwB3|KkXrZ70L9u;8VW at KS#
zWJqmeOkmPrVPu`i$Slgnb*6)91M>}*vy2R^XBjov0 at y1!K*B-{2^<FOY|L&qWSCD~
l&EnAjvZD`JY=}IYnHhH>`or3Cjx3G|98(WSToqXR763;<LCF9B

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000042.run b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000042.run
deleted file mode 100644
index e70aacdc50b862544492c275f8fc4ec1e7a13557..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 420
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;w
z!?~AlzXdL5fPf|jW at gPs#Yv3JjSOjxj7L~N!ccYR9)IgcR;LA2$HaoEZo-mdt;p)M
zf$Er9G1Z-pDriDhrvp^S!iK4Cs;ol?vN~O$I#zZ}bvA|5)sfZd0oAc_V5&<pTds?&
dP9La_ofA{tqUggq$m$G$>NvQN)d{S93jkKJZJz)D

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000043.index b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000043.index
deleted file mode 100644
index 0971f35ba0ffd7845efceffe4e61ee51ff821940..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 242
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zS0%%_ at 6&djTFw9g8e8 at MG6b|TGq|ucGNiOIPGn at 7$iZyLV!_J6Hif}~^{4;?HzNx}
zBSUH%V*--~3nS}9MrKhqt}`7>8<=mfoMmKSJ<F)U7QkM?0TLEsNZ>GFXJdA|A;Wy?
lY8H<MkR5%%VngKF%*?n8(I3{9b7XN$;Fx+q;;O*fw*W2XLw^7O

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000043.run b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000043.run
deleted file mode 100644
index 320ea6262817eb6b308071f432c3d675d8d1f330..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 420
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;w
z!@2aZy>iPLAfSnXnc1*WaS|g-BSTsv;}I5+FjU?18rKA5bw)sSOstsdZr`}eg{;mP
zsE(NpQ{AJZhjWqDnE=(Xuw$y5dgRVFWOb%Mb*vni>O|kEoIqA*22{t!iK$N0YtJHN
db>={I>|B`Y(yvIcA*-_hs^j2BRwuCbEdVdkZPow)

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000052.index b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000052.index
deleted file mode 100644
index 7171a5edf22a1d52932d0069ed4eb5fe4a606898..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 209
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zR|Lbk>n9(xFK2)Njjj5B83JmV7*d!U8B*F9Co(ckWM(#GF=l0Eo5JA0dQ^acn~{Z~
zks-B>F at Z^gg^_h4BeN(Q*O?Bc4a^`02SWnKjqT4Kn5=(m{^LUXgeHd00L~u9s{(7^
F0swthJDmUk

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000052.run b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000052.run
deleted file mode 100644
index e4a9dd8fc2e95a821cb3877a548a52d34e2c3931..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 220
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;w
z!@2aZy>iPLAfSnXnc1*WaS|g-BSTsv;}I5+FjU?18rKA5bw)sSOstsdZr`}eg{;mP
NsE(NpS)IVzw*b1cI`#kn

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000053.index b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000053.index
deleted file mode 100644
index 7cb88f85dd037415a937c9ae7b7966db194efbd6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 242
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zS0%$aiG$4E%NZa*W2^pOhJaRP1{an_hLkqOiHuAWIhZY399TKnrZ70L9u;8VW at KS#
zWJqmeOkmPrVPu`i$Slgnb*6)91M>}*vy2R^XBjov0 at y1!K*B-{2^<FOY|L&qWSCD~
l&EnAjvZD`JY=}IYnHhH>`or3Cjx3G|98(WSToqXR76354L8Sly

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000053.run b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000053.run
deleted file mode 100644
index 7aa272f414a976527b312930a1c8e6123798fd68..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 420
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;w
z!?{H_(@d5#KtK}%GqYu*;v`1aMuxOT#v?2sVW>I>0W&RRbyh%iOl+9y<ign$kkwfO
z)iJYUs^jA^pN6c?2B?mO15;gqH~So9b+$lttelwYHZ_GeA*-_ks$=8ARQKj+dIz#P
cd!RaYZcKGu*Up$Ct8)OV<KRJ7C$RP{0G*?0oB#j-

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000057.index b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000057.index
deleted file mode 100644
index 07d85e85224fd231ffe1982bf13433c037ab0a0c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 223
zcmebDb8(H}GSD+L<_b$KD$dN$vr;hBv(PivwKUdEx3ow$N;Wb#<MPZaE=kNwPPI}<
zG_gocwzNpoHAziO)-^FpP1Q{_F*4RQHMTG at OEyk6FiB433UkiMPtLYdsIKMWy1I*d
zR~o~)8m4b2mNP(r##a5m3;}PM7>+PEGNiOIPGn)4$iZyG;=szvHif}~^{4;?HzNx}
zBSUH%V*--~3nS}97G_a4t}`918`y5JpJim=0C9O3qIwyh9!N;wmS8tqZK->fyNY|?
T*LH_ihRzGi4 at g`USo;<LyuLqg

diff --git a/test/vinyl/upgrade/1.7.7/516/0/00000000000000000057.run b/test/vinyl/upgrade/1.7.7/516/0/00000000000000000057.run
deleted file mode 100644
index c521d427ed7cbe0b1d61ffe969cb7687c29d2568..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 300
zcmWFv_2V+oGc at K3OD!tS%+Iq at Fx0cqGuE{<)=jsxNH$6~GB at M$%quQQ%u7zSQb;th
zNKLl1NYgb*O-$A`F-uL=O*Anw)-^S at FfmIuPBt(}PUQ-7&dE>Cwo<6B<>I=!i+i;w
z!#O at 4^J&W&AfSnXnc1dMaS{thBSTsv;}I5+FjQTDH~So9b+$lttelwYHZ_GeA*-_k
os$=8ARQKj+dIz#Pd!RaYZcKGu*Up$Ct8)OV<KRJ7C$RP{08+?KLI3~&

diff --git a/test/xlog/suite.ini b/test/xlog/suite.ini
index 8ee97204c..016c5707b 100644
--- a/test/xlog/suite.ini
+++ b/test/xlog/suite.ini
@@ -2,7 +2,7 @@
 core = tarantool
 description = tarantool write ahead log tests
 script = xlog.lua
-disabled = snap_io_rate.test.lua
+disabled = snap_io_rate.test.lua upgrade.test.lua
 valgrind_disabled =
 release_disabled = errinj.test.lua panic_on_lsn_gap.test.lua
 config = suite.cfg
diff --git a/test/xlog/upgrade/1.7.7/00000000000000000000.snap b/test/xlog/upgrade/1.7.7/00000000000000000000.snap
deleted file mode 100644
index c5e67fa58bf98e7c7dc4706d7417c4a73e7678b4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1528
zcmV<U1qb?5PC-x#FfK7O3RY!ub7^mGIv_DFI4(0SIWsM1IXGi7V=^~33Q2BrbYX5|
zWjY`^WHB@`V>x9lW->K2Ei^bZF)cV^WHK#eIbkqkW-u~lVPj?rRzqxWV{1AfdwmKD
z)w&D1%>{q}&H(E>K&1cx0000ewJ-euP`xVvwmj5H;1)LlFw8K+3{x_)EiB~-LkZ%L
zhy-g0TuzZDMC>8Lh_>luDVgJvr2I{?S}~pQ1yrOynHwWUT-GY7!IE&>Lxn0f*fUBg
zrM>{R0LcJ2i(zbRb^cpNJiXtbCU-gW^bj7OE$WWLP|O{XsuJLF{QL at U7`Qd>WbDUQ
zhw=32pgVo_s}rwYmB~(4Q>u^;O$6XtYPL9DX+FwS9o)}5IoqLgN5rCBOHCa at YM5B@
zQ{NM_-leSiXe#$wYT5yHi<;!mlJ&TjnnP8{)7=hU#p<=xe4KN}*xP2FGod&xWtzb=
zDAUKij0vB%jq~8iygcFG$ui6`mzGi~ZIZ%6LBWO~AP^@tOi(Q42{~fWzt}hCpp2#Y
z*qt at C;KiRTx0GwCsp=(u at h8jftS1FM@-9DC7ptWN*HW|WPxi>W{JOJ}5cp^ZI37>^
z<FoVL)?KW+7`T?2Wr$g)t7ES-QdtUIOU;cx6vdn{w_cTTK0C*qJa_Qcs~`U0_pN2)
zcM|qvf0^US4ydjW(0R=wTcnKD$?9kT<{Y1R#l<fM;_y5BF2&q=;p;DGYjA(e$7ei}
zU95@(TuaRnuYSlrim)(GmM}0oVh)m8UmA&KR&hw+jJOeD6Qa_9p!vXYT#B1<#caw0
zO?9}In%Bi6h1z7cm~A_qP8?1!B~xibNdqYZsdOzhdq^Y=gG;;MV!`F|q9U=1rNRn@
z6>Y_3)H0edVzE}VQe8btsz`z;Lan1~si`8OuAU`d=Fq#0?fB;%MpLSgkLCiw`;PhV
z2Rl+13F2|2;yk#Pny!xXE_v^O>WzbIsR at Fb_ik2gRIa6F>FQ>crU6Uykz;TzH6Q#?
zvos%px}N_=U&dd|>B}d~d8QaICuQ1DDU=D-A?7nZmp9braW7A*OQXSQp;2ehTp9Kz
z1_xt%QF5WRs3R6CRp_)gb&I;^U4AoLUs`I#(9lqmYI7|$Mf6GjEWOK_ifgHfVrhM8
zsTBOjl00h*imb!&c~HG4J`_1D>oBJrW7WR2lZmZY9zJU=aV<4PfS+n?kzoys6j_4|
z8?V!P(N7}_ooA_7Nj9t^O(RxipdI|l64uEt!L!nrcB;9Snl&|A{8aJV8iogf9H`+`
zWRMb=0RR92PyitYM=54D4-$aTIEte%3Sk%qWC%Ej4HyA{z#t?b0;mN5S_XDO%NKaG
zumfh*nI=<nRgw!H+050Z<8&2&I#n`adsKi?E-?uO;(?F|L)DMWx0MjKeBlz#s-=v|
zq7e0!S!&u)Wwx((_e32tj2k);PZEI0L!m2;EK^tmN#w=Vvc5o~SpZ>4H=Hf*MS{y_
zBknb8dy%15C|8ksZfWGZrr^dQ5oh_)CyTlRflo3Vz9?V~5G&WfvUn at iKv}e%U!yCK
z_2fX0AmEu0VvsikG-NzsgF;GyqG$seG7#De?6M*(L$<OOlEwRk)&p&t*fHR2yx0Zm
zsT;kO5TIOwIr58??7vq8CftX^jGmm%=>!uq*Z(>HNIV&4FtR at 9z|cQ>M-4fCA0+uS
zhY^J3A8R3Ee7-(7CE)rrHi;|4AfN3^BIz1KH3eccY!|;2$-#CI_ago$wEw!*JLfO7
zJuuSTrA-N at GDF;;BbV!%iHM&bWdjV3EXp5t)DOjwyttk=;18LuMZqo(17ZVEqG1;&
z^rDCNgZmLi`!Q%_W9W&`0qQMyxFQ!*7C=%Mz)>V`nkJs&&{25EqfWQmt>~rybs0E|
zyq8~@Afp-bNIWdQNOZ+KsR~!=4+)=j?T#wIuX$Z!W<C!Ux7rgG&)y<XLyd61A36yK
e;c6h#|DkmsdDO6^>c|AX&exNqFv<bd5UuUX*S~WB

diff --git a/test/xlog/upgrade/1.7.7/00000000000000000000.xlog b/test/xlog/upgrade/1.7.7/00000000000000000000.xlog
deleted file mode 100644
index cf2fb11d05b7562f28409012ab4aed2f4b78a1f4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 480
zcma#>@ptDk&@(jV3QH|2&dkrVQZUrB&@<MxG}cYGv`98eHZnKk^2{qPNz6-5wNkK5
zF*GquwoKJcGcq;NHL)-;)U`-TG15)3Of*PNGcZa^OitqpbI!?6&bCshuI1vox{G_Y
z2E#drXUgZ7GeAHK0}B%)Gb77s$7{3F=jxdkwFsPL6cA-pn7AxAu_8V*MRDTfh1yJv
zAgwwK=WfV+xPZ{g1k}m|(`x6^1k@^_IQ=XW1LLxk%;J)w{H3|6xg`}04HH1x0~pS6
z*T?@u)y at pl?tK at eT|sdgP&>o&f}+ga#G=Y28HvRijmt{&G7C#n4^N)NuncHwW?uRv
zMi_%>MQL7fW_n&~3djmuhI5Q2S{A5Qu)wScl|fj+xFR_}B{eTGHx<>6iEyJq=2<hG
pD;1x%3DrDSn0ZO&2=kbhlw<<UDk(}$g}L|8#7WEu*9okB3jiqrq0ayS

diff --git a/test/xlog/upgrade/1.7.7/00000000000000000005.xlog b/test/xlog/upgrade/1.7.7/00000000000000000005.xlog
deleted file mode 100644
index 63b3903c9b8914c639aabba7132d2bd32f81b650..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 418
zcma#>@ptDk&@(jV3QH|2&dkrVQZUrB&@<MxG}cYGv`98eHZnKk^2{qPNz6-5wNkK5
zF*GquwoKJcGcq;NHL)-;)U`-TG15)3Of*PNGcZa^OitqpbI!?6&bCshHndVOt>xmn
zx{G_Y4#PSA*OzB5XMlhf1|}v(W;T}7j at M?T&(%v8X%aZg#Gp83SxRbBW at 6s5tkmM-
z%+!E$p*AZ8pxPHP>fc1w&JNXXU>|~}y*wi|wW`wXTwu!q29S1LhI3mYJKa#VbHKDa
zEk)J7ytuFws6W-_oUgCo1dx7hhI4EAo)n<!=Y;8Z(?r$3G$%DLuhQt8=d=#6<Fy#h
iDFrxGpz7v=>GrsUs(VRlNpgn9IX8)g3|9r#z6Ai=X@}(i

diff --git a/test/xlog/upgrade/1.7.7/00000000000000000010.xlog b/test/xlog/upgrade/1.7.7/00000000000000000010.xlog
deleted file mode 100644
index 98e63adabe051d22ed482e7cc5d4cad1f43dd5a5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 422
zcma#>@ptDk&@(jV3QH|2&dkrVQZUrB&@<MxG}cYGv`98eHZnKk^2{qPNz6-5wNkK5
zF*GquwoKJcGcq;NHL)-;)U`-TG15)3Of*PNGcZa^OitqpbI!?6&bCshHUyexP|L-2
zbr<()ZH9A;Kg`;^oB;w_7?_wCnYmd`J6 at ZWKG(pTxk=zG6NBQEWhtpinTdHzixZ2|
zQ{~S&En#Ya>V6bG(G68M4^+3|tr=*#%k%S7D&@}EnjdEX>DFO5=P!7;6IC}aO!qx$
znC{Y~(!7$=CFPkpm1kL>oeR at gIsv3zm*HHoV*Dah?R+rp54WIdUs{$~mYH&v^})GN
si!EUNdJN~nk55^Gs-GXG|H%$i{mV*<N{dT?4yZX7?BB(3RbcH~0BG8fNB{r;

diff --git a/test/xlog/upgrade/1.7.7/00000000000000000015.xlog b/test/xlog/upgrade/1.7.7/00000000000000000015.xlog
deleted file mode 100644
index ec903966229bf295f79e46eebdd3938daae77b07..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 543
zcma#>@ptDk&@(jV3QH|2&dkrVQZUrB&@<MxG}cYGv`98eHZnKk^2{qPNz6-5wNkK5
zF*GquwoKJcGcq;NHL)-;)U`-TG15)3Of*PNGcZa^OitqpbI!?6&bCshHUyexTFb?C
zbr<()eTH+}<Br@}&Hw=|3`|Un%mOT at 9k0zwpKJI$vq|7A6NBQEWu-}_c_pRG3yM;c
zGmBHtvOYWKKa-&WWI`#!xwQhi{}Cpz08J2tnqXXUwngA9ql74<!bFfk6DKdUWuMZt
zBrh>Hby0rtl9I}T)WyXmMG%oCDVfD3XkyFDARzz|&MVD at DlN&(O@)hr+ at Zm6Zfc0%
zS5$Wh!Q9a>3FHm|kUN&;CRW5}rhwd{&BO at OYQ=C)^r<f&LMtc`gkf4+JAr|~D4{t0
zEE6N+%97OFg8ZVyqROSYsktQ;42=kp!xKP;1u&fBn6k4O)i4p5VSSb$!weLsDlo1n
z&d*IPElw?30wNk$CTAoT=oV)r8tySFEK3UX^zb#Q@(s^$%*{2ba8Gsj%PP$G at U^`v
Hu=XtgD+0gf

diff --git a/test/xlog/upgrade/1.7.7/00000000000000000020.xlog b/test/xlog/upgrade/1.7.7/00000000000000000020.xlog
deleted file mode 100644
index a4ce1ead87736690a07521fb588290c79088f256..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 385
zcma#>@ptDk&@(jV3QH|2&dkrVQZUrB&@<MxG}cYGv`98eHZnKk^2{qPNz6-5wNkK5
zF*GquwoKJcGcq;NHL)-;)U`-TG15)3Of*PNGcZa^OitqpbI!?6&bCshHndVOGN|R^
zy1I*dwIaj0&));*E at yy%76xV}MrKi#(~j3>rO!2<s?j8HmeE3SDx<=ZqWqjxCKiw$
zRfco*yXK0a>JfwLF<s~c*R!HDFS88jfm8+wsJ_jLImb}-iNo}*62qcT8l+Ey;auG!
zp8p7aOh7kE!1S%32hyjZIF(6ZMR9&^YFcStGUH;OP)Dehhm_tvKxhSdPZFkeYXTN4
KC9VpreG33jo_I6>

diff --git a/test/xlog/upgrade/1.7.7/00000000000000000025.xlog b/test/xlog/upgrade/1.7.7/00000000000000000025.xlog
deleted file mode 100644
index 80ba6a81c68f2b479039a55fc92322242a97b301..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 393
zcma#>@ptDk&@(jV3QH|2&dkrVQZUrB&@<MxG}cYGv`98eHZnKk^2{qPNz6-5wNkK5
zF*GquwoKJcGcq;NHL)-;)U`-TG15)3Of*PNGcZa^OitqpbI!?6&bCshHndVOGOgv}
zy1I*dwI;*4xt|lvmNP&=3j-4qBeN9CX~%1`(&w7)YHSiX%V?lDRgrN;aei)UQGQP9
z5)jb<(yPdD?)MA7WeB~@K)upXz2?WZf%IA^PGwX8Yf)qY=}}=gw`-;#H>w^Pn4XJX
zFg=P(iwhEyQ_nInFoU$IGMt-y|3V6?Hd&aqhgC3bOe at k#^O8$|A;tu at PM6_ac<$}J
p2z?;$$-(qJTLIFip*WS9aV^Mu`6U^tMIZwh7W;%cUKLpT764}<ehdHr

diff --git a/test/xlog/upgrade/1.7.7/00000000000000000030.xlog b/test/xlog/upgrade/1.7.7/00000000000000000030.xlog
deleted file mode 100644
index 750239e382bac5576b14246746e76a1f52f1fd25..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 217
zcma#>@ptDk&@(jV3QH|2&dkrVQZUrB&@<MxG}cYGv`98eHZnKk^2{qPNz6-5wNkK5
zF*GquwoKJcGcq;NHL)-;)U`-TG15)3Of*PNGcZa^OitqpbI!?6&bCshHndVOHmK#|
zy1I*dwJO88m3M6>EN6g#76xV}MrL`I(~j3>rO!2g%hM!qmeE3SDx<=Rw9>rf5};F<
nSwQ+!7|s<f+LMQ>PXVgWGHn-J-_qiO#N^boKvS;@tbGdrV?IH*

-- 
2.15.1 (Apple Git-101)





More information about the Tarantool-patches mailing list