[Python] [postgresql-it] psycopg, cursori e connessioni: tenere occupato un id

Marco De Paoli depaolim a gmail.com
Lun 30 Maggio 2011 14:42:10 CEST


> per l'INSERT, utilizzo la serializzazione delle transazioni (grande
> feature)

ma e la numerazione? la fai con un max+1?

> per l'UPDATE di documenti già inseriti utilizzo il lock (non della
> tabella, ma della riga specifica)

certo, in questo caso non serve lockare tutta la tabella...
anzi non serve neanche lockare la singola riga, visto che l'update
acquisisce un row exclusive lock implicito

> l'unica cosa che non riesco a capire è questo.
> Secondo la documentazione (se ho letto bene), quando una transazione
> trova la riga lockata, dovrebbe tornare un errore.. invece a me resta in
> attesa dello sblocco e poi continua.

questo è il comportamento di default su oracle (e, sicuramente, anche
su Postgres)
per avere, al posto dell'attesa, l'uscita con errore, puoi usare, su
oracle, l'opzione "no wait" (su Postgres non so come si fa)

...ehm, stiamo finendo un po' OT...

Marco


Maggiori informazioni sulla lista Python