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

marcofoc a libero.it marcofoc a libero.it
Lun 16 Maggio 2011 18:19:51 CEST


Ciao a tutti!
Posto in entrambe le liste perchè credo riguardi entrambi.
Credo sia un problema abbastanza comune.

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.

Marco


Maggiori informazioni sulla lista Python