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

Daniele Varrazzo piro a develer.com
Lun 16 Maggio 2011 18:30:45 CEST


On Mon, 16 May 2011 18:19:51 +0200 (CEST), "marcofoc a libero.it"
<marcofoc a libero.it> wrote:

> In un sistema multiutente, con Postgresql come server ed applicazioni
> Python 
> che vi si interfacciano tramite Psycopg, vorrei fare in modo di tenere
> occupata 
> una chiave primaria di una tabella. Ma non occuparla del tutto. Se alla
> fine 
> della procedura un altro utente dovesse aver fatto la mia stessa
procedura 
> chiudendola prima di me, vorrei che il programma me lo segnalasse,
dandomi
> un 
> altro id.
> Fin qui nessun problema.
> Quello che voglio è che l'applicazione mi consideri occupato l'id, ma
che
> non 
> lo occupi per altri utenti.
> Pensavo bastasse evitare di dare il commit alla connessione, e di darlo
> alla 
> fine. In caso di errore, avviare una procedura che mi concedesse un
altro
> id.
> Son convinto che sia un problema risolvibile a livello di connessione...
> ma 
> non son sicuro.

Non ti sei spiegato molto bene. "Segnalare" è una parola che mi riempie di
terrore.

Cosa vuoi, che non ci siano buchi nella sequenza delle chiavi primarie?


-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com


Maggiori informazioni sulla lista Python