space_object:get()
-
object
space_object -
space_object:get(key) Поиск кортежа в данном спейсе.
Параметры: - space_object (space_object) – ссылка на объект
- key (scalar/table) – значение должно совпасть с индексным ключом, который может быть составным.
возвращает: кортеж, ключ индекса в котором совпадает с
keyилиnil.тип возвращаемого значения: tuple
Возможные ошибки:
space_objectне существуетФакторы сложности Размер индекса, тип индекса, количество индексов, к которым получен доступ, настройки журнала упреждающей записи (WAL).
Функция
box.space...selectвернет набор кортежей в виде Lua-таблицы; функцияbox.space...getвернет самое большее один кортеж. Можно получить первый кортеж в спейсе, добавив[1]. Таким образом,box.space.tester:get{1}эквивалентнаbox.space.tester:select{1}[1], если найден только один кортеж.Пример:
box.space.tester:get{1}
Использование имен полей вместо номеров полей: в
get()можно использовать имена полей, описанные в необязательном операторе space_object:format(). Это аналогично стандартной Lua-функции, где на компонент можно ссылаться по имени, а не по номеру. Например, может форматировать спейсtesterс полем под названиемxи использовать имяxв определении индекса:box.space.tester:format({{name='x',type='scalar'}}) box.space.tester:create_index('I',{parts={'x'}})
Тогда если
getилиselectвернут отдельный кортеж, можно сослаться на поле „x“ в кортеже по имени:box.space.tester:get{1}['x'] box.space.tester:select{1}[1]['x']
-