Transakcnost DDL & Oracle (Re: ako synchronizovat databazove skupiny podla tabulky?)
Karel Zak
zakkr na zf.jcu.cz
Středa Únor 25 10:26:07 CET 2004
On Wed, Feb 25, 2004 at 09:56:25AM +0100, Jan Serak wrote:
> Honza Pazdziora wrote:
> >On Tue, Feb 24, 2004 at 07:29:25AM +0100, Jan Serak wrote:
> >
> >>>pouzivam postgresql verzie 7.4.1.
> >>
> >>Postgresql neznam, odpoved bude obecna.
> >
> >
> >Praveze ne. To, ze Oracle po DDL operaci dela commit neznamena, ze
> >to je obecny princip.
>
> Vypada to, ze jsem v praxi perfektne ukazal, jak vypadaji myslenkova
> klise, o nichz jsem tu psal nedavno (browse velke tabulky). Moc se za to
> omlouvam vsem, ktere jsem svym prispevkem zmatl.
>
> Kdyz nad tim ted uvazuju, tak zkousim najit duvod nebo priklad situace,
> kdy nelze po uspesnem provedeni DDL prikazu zmeny odvolat. Bez uspechu.
> Teoreticky tomu tedy vubec nic nevadi.
>
> Proc ale Oracle implementoval DDL tak, ze kazdy prikaz je samostatna
> transakce? Kdyz pominu jako duvod ojebavku, vzletne oznacovanou jako
> "limitation", tak jediny duvod je pruchodnost databaze (pripadne zmeny v
> datech se nemusi delat pres rollback segment).
Ty "limitation" a pruchodnost mohou byt dost zasadni duvod. Lze
predpokladat, ze zmeny schematu, prav apod. nejsou zase tak caste,
ze se proste v danem pripade zvolilo reseni, ktere je limitujici
v nekolika malo pripadech, ale v beznem nazazeni toho serveru
efektivnejsi. Ostatne pokud se clovek podiva na moznosti prav v Oracle
a zapremysli jak to implementovat bez nejakych vetsich omezeni tak to
neni vubec snadne. Ostatne treba do prav na sloupce se v PostgreSQL
stale nikomu moc nechce.
Nevim jak nyni, ale treba u MySQL bylo preba pri nekterych zmenach prav
reloadovat nastaveni serveru.
> Kazdopadne tohle byla posledni kapka, ktera me donuti ten zazracny
> PostreSQL nainstalovat ;-)
Pochopitelne ne vse je plne transakcni. CREATE GROUP je velmi
jednoducha zalezitost implementovana na nekolika malo radkach a ta
transakcnost se proste nabizela. Napriklad verze 6.5 jeste zadny CREATE
GROUP nemala a delalo se to INSERTem.
Jinak PostgreSQL urcite nainstalujte :-)
Karel
--
Karel Zak <zakkr na zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/
Další informace o konferenci Databases