( vbali | 2006. 04. 21., p – 09:27 )

Egyet is értek az általad említettekkel meg nem is. Igazat adok abban, hogy egy elszeparált osztályba lehetne megvalósítani a tárolt eljárásokat hívogató függvényeket így egy új adatbáziskezelő megvalósítása leegyszerűsödik. Ezt nem is tudnám máshogy elképzelni. Mivel jelenleg csak a MySQL támogatott ezért nem került külön osztályba ez a rész :-)
Amivel nem értek egyet, az az, hogy fölösleges tárolt eljárásokat használni mint pl.:

SELECT * FROM UNIQUEDESC;

Magam részéről amiatt részesítem előnyben a tárolt eljárások használatát, mert ezáltal az SQL utasítások teljesen el vannak szeparálva a programkódtól, ezáltal adott esetben kisebb módosítások nem igénylik a kód újrafordítását. Másrészt sokkal strukturáltabb lesz tőle a program, jobban áttekinthető a kód. Ha például elvégzek egy kisebb módosítást egy tárolt eljárásban akkor - mondjuk 10 kliens esetén - nem kell 10 helyen frissítenem a kliensprogramot is. Persze ez nem minden esetben kivitelezhető, ha a tárolt eljárás módosítása a kód módosítását is magával vonja.
Egy szó mint száz, a kód olvashatóságát egyértelműen javítja ha tárolt eljáráokkal vannak megvalósítva az SQL hívások. Ez az előnye. De mi a hátránya? Biztosan van valami hátrány is, de nem hiszem, hogy a hátrányok mértéke meghaladná az előnyökét. Ez persze szubjektív :-)
Képzeld el, ha az sp_updateisstorno a kódba kerül. Szép baleset lenne. Annak pedig végképp semmi értelme, hogy az SQL utasítások egy része tárolt eljárásba kerül, más része pedig a kódba.
Minden esetre örömmel tölt el, hogy vetted a fáradtságot és belenéztél a kódba. Ezek szerint valamennyire olvasható/érhető volt a kódom. Ha ez így volna nagy büszkeséggel töltene el, mivel valahol ez is az open source előnye. Néha tudok olyan kódot "generálni", hogy még én sem értem, hogy mit csinál :-)
Visszatérve a témához, épp a fent említettek miatt lenne szükségem minél több segítőre. Mint korábban említettem nem vagyok Postgres-hez értő. Ha valaki pl. segítene az "SQL függetlenítésben" jobban haladna a fejlesztés, nem is beszélve arról, hogy tesztelni is kellene. Sokat!!!