Top.Mail.Ru
space_object:pairs() | Tarantool
 

space_object:pairs()

space_object:pairs()

object space_object
space_object:pairs([key[, iterator]])

Поиск кортежа или набора кортежей в заданном спейсе и итерация по одному кортежу за раз.

Параметры:
  • space_object (space_object) – ref:ссылка на объект <app_server-object_reference>
  • 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
...