space_object:pairs()
-
object
space_object
-
space_object:
pairs
([key[, iterator]]) Поиск кортежа или набора кортежей в заданном спейсе и итерация по одному кортежу за раз.
Параметры: - space_object (space_object) – ссылка на объект
- key (scalar/table) – значение должно совпасть с индексным ключом, который может быть составным
- iterator – см. index_object:pairs()
возвращает: итератор, который может использовать в цикле for/end или с функцией totable()
Возможные ошибки:
- отсутствие такого спейса.
- неправильный тип.
Факторы сложности: Размер индекса, тип индекса.
Чтобы посмотреть примеры сложных запросов
pairs
, где можно указать индекс для поиска и используемое условие (например, «больше чем» вместо «равен»), см. раздел далее по тексту index_object:pairs().Для получения информации о внутренней структуре итераторов см. документацию по библиотеке для функционального программирования в Lua «Lua Functional library».
Пример:
tarantool> s = box.schema.space.create('space33') --- ... tarantool> -- в индексе 'X' количество частей по умолчанию {1, 'unsigned'} tarantool> s:create_index('X', {}) --- ... tarantool> s:insert{0, 'Hello my '}, s:insert{1, 'Lua world'} --- - [0, 'Hello my '] - [1, 'Lua world'] ... tarantool> tmp = '' --- ... tarantool> for k, v in s:pairs() do > tmp = tmp .. v[2] > end --- ... tarantool> tmp --- - Hello my Lua world ...
-