Daniele Varrazzo ha scritto:
Manlio Perillo ha scritto:
Comunque, come ho scritto un problema "grosso" esiste con questa procedura "in differita".
Il problema consiste nel fatto che per il database un certo file, quando la transazione che cancella il nome del file dal database è terminata, non esiste più, mentre in realtà esiste ancora.
Che succede quindi se subito dopo vuoi creare un altro file con lo stesso nome?
Il database non si fa problemi, ma magari il processo esterno andrà a cancellare proprio quel nuovo file.
La soluzione, probabilmente, è fare in modo che un nuovo file non possa essere creato (nel filesystem) se ne esiste un altro con lo stesso nome, assumendo che le varie operazioni siano tutte atomiche.
Infatti un'applicazione con questo design non potrebbe garantire l'atomicita.