Tema: Re: unikalus įrašo numeris
Autorius: 2x50
Data: 2010-11-23 12:29:28
Siaip autoincrementas ir yra tam sukurtas, kad uztikrinti, kad numeris bus 
panaudotas viena ir tik viena karta. Galima daryti savo lenta, bet cia man 
panasu i sviestas sviestuotas. Nera reikalo isradinet dvirati, visa tai yra 
jau apgalvota ir isspresta autoincrementuose...
Dar vienas scenarijus - vartotojas V1 pradeda transakcija T1, gauna 
numeriuka 1, ir jos neuzbaiges iseina parukyti (arba del kazkokiu priezasciu 
ta transakcija pakimba taip, kad laiko update lock'a). Like 19 vartotoju 
irgi tures eiti parukyti (arba laukti kol T1 bus atsaukta pacios dbvs), nes 
negali tuo metu gauti sekancio numerio, kadangi lenta yra uzrakinta T1 
transakcijos.

"Anon" <anon@pisem.net> wrote in message 
news:icg4fk$qi6$1@trimpas.omnitel.net...
> Ačiū už detalų paaiškinimą, šiuo metu visi rašymo veiksmai ir yra vienoje 
> tranzakcijoje. Tačiau įrašai pagr. lentelėje niekada nebus trinami(tik 
> galima atžymėti įrašą kaip negaliojantį), visi bus kopinami į backupą, 
> metų gale lentelės backupinamos, išvalomos ir vėl iš pradžių :). Dėl 
> numeravimo iš eilės gal ne taip svarbu, kokia bus eilė, ar bus praleistų 
> numerių, svarbu įrašo numerio unikalumas. O pagal mano siūlytą veiksmų 
> tvarką vartotojas pirma turi papildyti įrašą(padidinti įrašą vienetuku), 
> po to pasiimti, tuo metu numerio lentelė lockinta, kitas vartotojas 
> negalės tuo metu į ją rašyti, o tuo pačiu ir pasiimti to paties numeriuko. 
> Lyg ir nematau logikos klaidų, gal kas mato ?
>
> Vytautas