LINUX.ORG.RU

Идемпотентность - как?


0

1

Слышал, что любую операцию можно сделать идемпотентной каким-то магическим преобразованием модели. Типа изменения «пристыковываются» к модели. Может кто-нибудь расказать по-подробнее?

Контекст: обычное приложение, что-то дергающее из базы данных

Цель: откзаться от использования транзакций.

★★★★★

какой-то несвязный бред.

anonymous
()

Как ты сделаешь операцию добавления элемента идемпотентной?

Да и вообще, идемпотентность и использование транзакций - независимые качества.

mclaudt
()
Ответ на: комментарий от mclaudt

Со списком даже просто как-то: используя указатель на первый элемент, операция добавления элемента создаст новый головной элемент и вернет его в качестве результата. Сколько вызываешь операцию добавления для одного указателя, столько и будет новых списков.

dizza ★★★★★
() автор топика

Мммм... Подробнее объясни. Пока не видно связи между идемпотентностью и транзакциями. Не знаю на счет моделей и «пристыковываний», но идемпотентность это, если память не изменят, когда для некоторого оператора (ф-ции, операции) h действующего в Х верно: h(x) = h(h(x)), где x принадлежит X (или h * h = h). Такой оператор называется идемпотентым. И где тут «пристыковка» и транзакции???

cathode
()
Ответ на: комментарий от cathode

«Тут» конечно никаких пристыковок и транзакций нету. Потому, что гипотетические «пристыковки» - это конкретная реализация описанного тобой принципа. А транзакции при том, что сделав операции идемпотентыми, в распределенных системах можно отказаться от расперделенных транзакций.

dizza ★★★★★
() автор топика
Ответ на: комментарий от dizza

ты сам понял что написал? трава какая-то у тебя крепкая очень.

anonymous
()

Этому треду покровительствуют: Шизофазия

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.