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
) – ссылка на объект - tuple (
table/tuple
) – вставляемый кортеж
возвращает: вставленный кортеж
тип возвращаемого значения: tuple
Возможные ошибки:
ER_TUPLE_FOUND
, если уже существует другой кортеж с тем же уникальным значением ключа (это произойдет только в том случае, если есть уникальный вторичный индекс).ER_TRANSACTION_CONFLICT
, если транзакция стала конфликтной в транзакционном режиме MVCC.
Факторы сложности: Размер индекса, тип индекса, количество индексов, к которым получен доступ, настройки журнала упреждающей записи (WAL).
Пример:
box.space.tester:replace{5000, 'tuple number five thousand'}
Для получения дополнительной информации о сценариях использования и типичных ошибках, см. Пример: использование операций с данными далее в разделе.
- space_object (
-