1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
env = require('test_run')
---
...
test_run = env.new()
---
...
test_run:cmd('restart server default with cleanup=1')
--
-- Test various tuple bugs which do not require a write ahead log.
--
-- -------------------------------------------------------
-- gh-372 Assertion with a function that inserts increasingly
-- large tables
-- -------------------------------------------------------
tester = box.schema.space.create('tester')
---
...
index = tester:create_index('primary',{})
---
...
test_run:cmd("setopt delimiter ';'")
---
- true
...
function tuple_max()
local n = 'a'
while true do
n = n..n
local status, reason = pcall(tester.insert, tester, {#n, n})
if not status then
return #n, reason
end
collectgarbage('collect')
end
end;
---
...
test_run:cmd("setopt delimiter ''");
---
- true
...
n, reason = tuple_max()
---
...
n
---
- 1048576
...
n + 32 >= box.cfg.memtx_max_tuple_size
---
- true
...
reason
---
- 'Failed to allocate 1048601 bytes for tuple: tuple is too large. Check ''memtx_max_tuple_size''
configuration option.'
...
tester:drop()
---
...
tuple_max = nil
---
...
collectgarbage('collect')
---
- 0
...
|