On Sun, 2010-10-24 at 16:47 +0200, Daniele Varrazzo wrote: > Bravo :) io sono uno dei maintainer di psycopg. Bene!! Spero che lo manterrai a lungo!!
> Due cartelle? Intendi due tabelle? Si scusa.. due TABELLE.. che pirla. > > > Mi sembra che la connessione si comporti diversamente che all'interno > > del normale codice. > Non dovrebbe. Ma magari c'e' uno strano path nella libreria in cui > l'eccezione viene gestita male. > boh?? > Mai visto niente del genere. L'eccezione viene generata da un errore nel > database? Se è coì la connessione è in stato di errore, ma non serve > crearne una nuova: basterebbe un rollback. Quello che segnali (autocommit) > sembra un disallineamento tra lo stato dell'oggetto connessione e la > connessione stessa, che non mi è mai capitato di vedere (ma che potrebbe > essere effettivamente un bug). Si, l'eccezione è generata da un errore nel database: except psycopg2.IntegrityError: quindi dovrei lanciare un rollback per recuperare l'integrità della connessione? > > > Ho bisogno di fare entrambi gli update prima di chiudere la > > transazione.. > > sbaglio qualcosa? > > Non hai dato molti dettagli: mi piacerebbe capire meglio cosa succede. > Puoi scrivere un esempio auto-contenuto di quello che descrivi e che > versione di psycopg usi? ehmm... perdonami.. che vuol dir auto-contenuto? la versione di psycopg che uso? quella che trovo nelle repository di ubuntu, che è precisamente la 2.0.13-2ubuntu2 Ecco i dettagli: ho ste due tabelle: nazioni, con le colonne "id_nazione" e "nome_nazione" clienti, con fra le colonne la colonna "nazione" che è referenziata alla colonna "id_nazione" con il mio programmino voglio dare la possibilità all'utente di variare il nome_nazione in archivio e... se vuole.. anche l'id_nazione. L'eccezione viene sollevata quando viene cambiato un id_nazione già usato nella tabella clienti.. io volevo a sto punto proseguire nell'eccezione, facendo un update sulla tabella clienti e un update sulla tabella nazioni, e poi dare il commit.. evitando così di generare errori di database. Grazie Daniele. Ps: sei tu che mi hai iniziato eh.. ho ancora qui su carta una tua mail dove mi spiegavi in velocità la connessione, il cursore, etc.. son andato un po' avanti.. _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python