Alleviate box.unpack() limit of 8000 tuples
Bug #1018775 reported by
Kostja Osipov
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tarantool |
Fix Released
|
Medium
|
Dmitry Simonenko | ||
tarantool (Debian) |
Fix Released
|
Unknown
|
Bug Description
Currently select_range() can only return 8000 tuples, because it puts these tuples into a Lua table, and then calls unpack() on the table.
Instead, teach LuaPort to send Lua tables which consist entirely from box.tuple instances as is, without repacking them into a tuple.
I.e. when we do send of a Lua table, check the type of the first element: if it is a scalar, send the table as if it was a tuple of fields, if it is a tuple, send it as if it was a result set of tuples.
Changed in tarantool: | |
assignee: | nobody → Aleksey Demakov (ademakov) |
importance: | Undecided → Medium |
status: | New → Confirmed |
Changed in tarantool: | |
assignee: | Aleksey Demakov (ademakov) → Kostja Osipov (kostja) |
milestone: | none → 1.4.9 |
Changed in tarantool: | |
assignee: | Kostja Osipov (kostja) → Dmitry Simonenko (pmwkaa) |
status: | Confirmed → Fix Committed |
Changed in tarantool (Debian): | |
status: | Unknown → New |
Changed in tarantool (Debian): | |
status: | New → Confirmed |
Changed in tarantool: | |
status: | Fix Committed → Fix Released |
Changed in tarantool (Debian): | |
status: | Confirmed → Fix Released |
To post a comment you must log in.
function bla () 0].index[ 0] box.index. GE) do
table. insert( lst, d)
local lst = {}
local index = box.space[
for d in index:iterator(
end
return lst
end,
Such code throws an exception: 12290: Return type 'userdata' is not supported in the binary protocol