It is currently 8 June 2025, 20:16 Advanced search

Integrità applicazione

Questo forum è nato con lo scopo di raccogliere le proposte di modifica di Instant Developer e discuterne insieme.

Integrità applicazione

Postby bsimone » 22 March 2012, 7:54

Salve

Sulla base di esperienza personale, ho notato che eseguendo il check-in di una applicazione dimenticando di eseguire il check-in anche
del metabase è possibile perdere l'integrità funzionale dell'applicazione.
Cerco di ricostruire a memoria: se per es. una classe è legata ad un'altra classe tramite una foreign key e quest'ultima non viene sincronizzata, INDE non blocca ma produce una copia master nel team-works non funzionante poichè genera una istruzione SQL non corretta.
bsimone
 
Posts: 23
Joined: 9 February 2012, 11:40

Re: Integrità applicazione

Postby lucabaldini » 29 March 2012, 9:56

A dire il vero non dovrebbe essere così nel senso che se tu fai il checkin di un oggetto, In.de sceglie automaticamente tutti gli altri checkin che ritiene necessari per far sì che la copia master sia integra. Forse c'è un caso in cui questo calcolo automatico non funziona correttamente (è un algoritmo complesso che non deve portare sempre tutti i lock sul server ma non deve portare oggetti parziali o incompleti). Per esempio: se tu crei una tabella nel DB, In.de prende un lock di tipo INSERTED sulla tabella. Poi crei una classe nell'applicazione a partire da quella tabella. In.de prende un lock di tipo INSERTED sulla classe. Ora, se fai il checkin dell'applicazione (o della classe), In.de effettua anche il checkin del lock sulla tabella dato che la classe non può andare dentro da sola (dipende dalla tabella e ne ha bisogno per vivere). Questo viene fatto automaticamente a vari livelli cercando di portare il numero minimo di lock necessario a mantenere integra la copia master.

Quell'algoritmo raggruppa anche modifiche effettuate all'interno della stessa modifica. Se fai una modifica (es: cancelli una classe), In.de prende lock su tutti gli oggetti collegati che vengono cancellati a causa della cancellazione della classe. Tutte i lock presi sono "raggruppati" nel senso che sono lock presi all'interno della stessa modifica. Ora, se fai il checkin di uno qualunque di quei lock, In.de effettua il checkin di tutti gli altri lock nello stesso "gruppo".

Pertanto, se ti capita di vedere comportamenti che non sono chiari o che non ti aspetti, contattaci in assistenza così controlliamo e vediamo che tutto funzioni come previsto.
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna


Return to Proposte di modifica

Who is online

Users browsing this forum: Majestic-12 [Bot] and 8 guests