Top.Mail.Ru
space_object:replace() / put() | Tarantool
 
Вложенный модуль box.space / space_object:replace() / put()
Вложенный модуль box.space / space_object:replace() / put()

space_object:replace() / put()

space_object:replace() / put()

object space_object
space_object:replace(tuple)
space_object:put(tuple)

Вставка кортежа в спейс. Если уже существует кортеж с тем же первичным ключом, box.space...:replace() заменит существующий кортеж новым. Варианты синтаксиса (box.space...:replace() и box.space...:put()) приведут к одному результату, но последний иногда используется как противоположность box.space...:get().

Параметры:
  • space_object (space_object) – ref:ссылка на объект <app_server-object_reference>
  • tuple (table/tuple) – вставляемый кортеж
возвращает:

вставленный кортеж

тип возвращаемого значения:
 

кортеж

Возможные ошибки: ошибка ER_TUPLE_FOUND, если уже существует другой кортеж с тем же уникальным значением ключа (это произойдет только в том случае, если есть уникальный вторичный индекс).

Факторы сложности: Размер индекса, тип индекса, количество индексов, к которым получен доступ, настройки журнала упреждающей записи (WAL).

Пример:

box.space.tester:replace{5000, 'tuple number five thousand'}

Для получения дополнительной информации о сценариях использования и типичных ошибках, см. Пример: использование операций с данными далее в разделе.