проблемы при выборке большого количества записей

Bug #1224346 reported by Ильяс Гусейнов
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
tarantool
New
Medium
UNera

Bug Description

Привет, при попытке выбрать много записей за один запрос (например 15000) получаем ошибку:

<?php
$t = new Tarantool('127.0.0.1', 13013)
$t->call("box.select_range", array('0', '0', "15000", 1), 0);

An error has occured: call failed: 13058(0x00003302): Lua error: too many results to unpack(0)

Tarantool - 1.4.9
Extension - 1.0

Revision history for this message
Kostja Osipov (kostja) wrote :

Это проблема select_range(), лимит - 8000 кортежей. Попробуйте вернуть Lua table из самописной хранимой процедуры, в этом случае лимита не будет.

Revision history for this message
Kostja Osipov (kostja) wrote :

Как мы это решим в 1.6 - будем возвращать из select_range Lua table.

Changed in tarantool:
milestone: none → 1.6.1
assignee: nobody → UNera (unera)
Revision history for this message
Kostja Osipov (kostja) wrote :

Дима, в 1.6 надо изменить семантику select чтобы возвращал Lua table, а не значения на стэке. Речь идёт о всех селектах. Также, в 1.6 из space:select* надо убрать index id. Для того, чтобы сделать select* по индексу, надо просто делать space.index.index_name:select(...).
Таким образом index id станет необязательным атрибутом.

Kostja Osipov (kostja)
Changed in tarantool:
importance: Undecided → Medium
Revision history for this message
UNera (unera) wrote :

не семантику select, а семантику select_range

либо ввести select_multi

просто если select будет всегда возвращать множество таплов то большинство кейзов которые выбирают один тапл по одному ключу начнут страдать

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.