- saxus blogja
- A hozzászóláshoz be kell jelentkezni
- 795 megtekintés
Hozzászólások
Nem vagyok plpgsql guru, akkor ez egy konstans 'Hello, World' szoveggel ter vissza? Mert akkor nagyon tulbonyolitja... :S
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Igen. De nincs ez túlbonyolítva. Lényegi SQL kód benne a RETURN 'Hello world'; meg előtte a BEGIN/END, ami megmondja, hogy mettől meddig van kódblokk. (Pascal-hoz hasonlóan itt is van egy DECLARE rész, ahol előre kell deklarálni a változókat).
A többi része meg ahhoz kell, hogy létrehozza a függvényt. Ebből kb. a RETURNS [SETOF] tipus a lényeg, meg nem hátrányos, ha mondjuk a language részt helyesen töltjük ki (pg-hez lehet írni SQL-ben, plpgsql-ben, c-ben külső függvényként alapból, valamint bővítményekkel java-ban, perlben, php-ben, shell scriptben(!) szóval kb. amiben akarsz tárolt eljárást).
A COST meg annyi, hogy mennyi a query költsége, ha jól tudom az optimalizálónak segít, ha egy kürübelül pontos értéket adunk meg. (Egy SQL Query esetén meg tudja becsülni magának, de egy tárolt eljárásnál nem triviális).
a VOLATILE/STABLE/IMMUTABLE meg szintén az optimalizáláshoz szükséges, ha x bemenetre mindig y kimenetet ad a függvény, akkor célszerű STABLE -ra rakni, mert akkor előre letárolja az értelmezési adatokat, ellentétben pl. a VOLATILE-vel, akkor midnig értelmezi, ha meghívjuk és ilyenek.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Ez a $BODY$ meg magat a programszoveget hatarolja, ugye?
Amugy akkor hibas a kod, ez az eljaras mindig ugyanazt adja vissza, azaz STABLE, de kozel sem VOLATILE. Persze egy konstans return-nak nincs nagy koltsege meg VOLATILE eseteben sem, de ha mar... akkor jobb az egyszeruseg.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Tény, bár még mindig jobb egy alapvetően stable függvényt volatile-nek jelölni, mint egy nem stabil függvényt stable-nak.
De nem is az a lényeg, hanem hogy eleve mit keresett ez így benne a projektben. Mindegy, utókornak meghagytam emlékül, hátha még más is hozzá mer majd piszkálni :)
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni