Baze - pravi nacin za resavanje mehanizma pratecih stranica
Dakle, kada neka transakcija izvrsi Write(X) menja se samo TTS (X) te
transakcije! Tako sam uradio zadatak na junskom roku i dobio svih 8 bodova.
Dole navedeni "kontraprimer" nije tacan: transakcija T2 upisuje podatke u
svoj TTS i PTS za podatak A *tek* kada dodje do Read(A), a ne na pocetku
svog izvrsavanja, tako da T1.Write(A) ne moze da menja TTS (T2-A) koji u
momentu T1.Write(A) ne postoji (tj. T2 mu jos ni jednom nije pristupila bilo
za citanje bilo za pisanje).
========================================================
Ovo je Damjan poslao u februaru.
Pazite ako se ne promene obe tabele, transakcija 2 cita pogresan podatak.
----- Original Message -----
From: Damjan S. Vujnovic
To: NASTAVA
Sent: Saturday, February 22, 2003 12:00 PM
Subject: Re: [nastava] evo roka iz baza
Damjan:
Posle svakog Write(X,xi). I aurira ne samo teku?u tabelu trenutne
transakcije, ve? i svih ostalih transakcija koje koriste blok na koji se
odnosi Write(X,xi).
Milan:
E vidis Bojovic je danas na zalbama rekao da se azurira blok samo tekuce
transakcije. Meni je to nekako logicnije, jer kako ce inace jedna
transakcija da menja pointere drugih, odnosno malo bi bilo komplikovano sve
to izvesti.
Damjan:
Molim!? Ovaj primer ti je online i iz glave, ali koliko sada vidim,
poslužiće svrsi. Podaci A i B su u istom bloku, evo ti i redosled
izvršavanja (ekvivalentan je sa T1->T2), a ti vidi šta će biti ako posle
T1:Write(A), ne ažuriraš i TT1 i TT2 (šta će pročitati, a šta treba da
pročita T2:Read(A))...
|--------|--------|
| T1 | T2 |
|--------|--------|
| |Read(B) |
| |B:=B+3 |
| |Write(B)|
|Read(A) | |
|A:=A+1 | |
|Write(A)| |
| |Read(A) |
| |A:=A*2 |
| |Write(A)|
|Commit | |
| |Commit |
|--------|--------|
Jedino što meni pada na pamet je da se ja i ti nismo razumeli. Ja kažem da
se ažuriraju TT od svih transakcija, a ti govoriš o blokovima (i ja isto
kažem da se ažurira samo jedan blok: jedan blok, ali sve TT koje imaju
pokazivač na taj blok).
Poz,
DSV
transakcije! Tako sam uradio zadatak na junskom roku i dobio svih 8 bodova.
Dole navedeni "kontraprimer" nije tacan: transakcija T2 upisuje podatke u
svoj TTS i PTS za podatak A *tek* kada dodje do Read(A), a ne na pocetku
svog izvrsavanja, tako da T1.Write(A) ne moze da menja TTS (T2-A) koji u
momentu T1.Write(A) ne postoji (tj. T2 mu jos ni jednom nije pristupila bilo
za citanje bilo za pisanje).
========================================================
Ovo je Damjan poslao u februaru.
Pazite ako se ne promene obe tabele, transakcija 2 cita pogresan podatak.
----- Original Message -----
From: Damjan S. Vujnovic
To: NASTAVA
Sent: Saturday, February 22, 2003 12:00 PM
Subject: Re: [nastava] evo roka iz baza
Damjan:
Posle svakog Write(X,xi). I aurira ne samo teku?u tabelu trenutne
transakcije, ve? i svih ostalih transakcija koje koriste blok na koji se
odnosi Write(X,xi).
Milan:
E vidis Bojovic je danas na zalbama rekao da se azurira blok samo tekuce
transakcije. Meni je to nekako logicnije, jer kako ce inace jedna
transakcija da menja pointere drugih, odnosno malo bi bilo komplikovano sve
to izvesti.
Damjan:
Molim!? Ovaj primer ti je online i iz glave, ali koliko sada vidim,
poslužiće svrsi. Podaci A i B su u istom bloku, evo ti i redosled
izvršavanja (ekvivalentan je sa T1->T2), a ti vidi šta će biti ako posle
T1:Write(A), ne ažuriraš i TT1 i TT2 (šta će pročitati, a šta treba da
pročita T2:Read(A))...
|--------|--------|
| T1 | T2 |
|--------|--------|
| |Read(B) |
| |B:=B+3 |
| |Write(B)|
|Read(A) | |
|A:=A+1 | |
|Write(A)| |
| |Read(A) |
| |A:=A*2 |
| |Write(A)|
|Commit | |
| |Commit |
|--------|--------|
Jedino što meni pada na pamet je da se ja i ti nismo razumeli. Ja kažem da
se ažuriraju TT od svih transakcija, a ti govoriš o blokovima (i ja isto
kažem da se ažurira samo jedan blok: jedan blok, ali sve TT koje imaju
pokazivač na taj blok).
Poz,
DSV
- Follow-Ups:
- Re: Baze - pravi nacin za resavanje mehanizma pratecih stranica
- From: "Milan Stanojevic" <milanst@ptt.yu>
- Re: Baze - pravi nacin za resavanje mehanizma pratecih stranica
- From: "Damjan S. Vujnovic" <damjan@ipsi.fhg.de>
- Re: Baze - pravi nacin za resavanje mehanizma pratecih stranica
- References:
- Kontraprimer iz baza
- From: "Milan Stanojevic" <milanst@ptt.yu>
- Kontraprimer iz baza
Previous by date: RE: programi za crtanje dijagrama
Next by date: Re: Baze - pravi nacin za resavanje mehanizma pratecih stranica
Previous by thread: Kontraprimer iz baza Next by thread: Re: Baze - pravi nacin za resavanje mehanizma pratecih stranica
Previous by thread: Kontraprimer iz baza Next by thread: Re: Baze - pravi nacin za resavanje mehanizma pratecih stranica