# Transazioni e optimistic locking

**URL:** <https://www.ruby-forum.com/t/transazioni-e-optimistic-locking/167806>\
**Category:** IT\
**Created:** [May 12, 2009, 8:14pm UTC](https://www.ruby-forum.com/t/transazioni-e-optimistic-locking/167806 "2009-05-12T20:14:26Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [May 12, 2009, 8:14pm UTC](https://www.ruby-forum.com/t/transazioni-e-optimistic-locking/167806/1 "2009-05-12T20:14:26Z")

</div>

Rails usa automaticamente le transazioni quando effettua un insert, un  
update o un destroy.  
Leggendo un manuale mi sono imbattuto in quello che viene chiamato  
optimistic locking.  
Quindi, per la transazioni non devo preoccuparmi a meno di non  
utilizzare multiple personali istruzioni sql, invece l’optimistic  
locking mi sembra una cosa utile e che mi e’ sfuggita durante la  
realizzazione della mia prima applicazione rails.  
In effetti ho delle tabelle alle quali possono accedere diverse  
persone e puo’ capitare la cosidetta situazione di race condition.  
Nelle vostre tabelle utilizzate normalmente l’optimistic locking?  
Questo implica dover aggiungere alle tabelle interessate una colonna  
chiamata lock\_version.i

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [May 12, 2009, 10:09pm UTC](https://www.ruby-forum.com/t/transazioni-e-optimistic-locking/167806/2 "2009-05-12T22:09:35Z")

</div>

Io ho incominciato ad usarlo solo nell’ultima applicazione che ho fatto,  
è abb comodo ma ha il casino che in caso di Race Condition lancia  
un’eccezzione di tipo StaleError che devi essere pronto a catchare 😃

Sandro

2009/5/12 Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [May 13, 2009, 12:50am UTC](https://www.ruby-forum.com/t/transazioni-e-optimistic-locking/167806/3 "2009-05-13T00:50:50Z")

</div>

2009/5/12 Sandro P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Io ho incominciato ad usarlo solo nell’ultima applicazione che ho fatto,  
> è abb comodo ma ha il casino che in caso di Race Condition lancia  
> un’eccezzione di tipo StaleError che devi essere pronto a catchare 😃

Beh non e’ difficile penso, va intercettata nel metodo save o bisogna  
creare un metodo save!.
