CREATE OR REPLACE FUNCTION funkcija_su_while() RETURNS void AS $funkcija_su_while$ DECLARE i INTEGER; BEGIN i := 0; WHILE i < 1 LOOP INSERT INTO temp( rand ) VALUES( RANDOM() ); i := i + 1; END LOOP; END;$funkcija_su_while$ LANGUAGE plpgsql;CREATE OR REPLACE FUNCTION funkcija_su_if() RETURNS void AS $funkcija_su_if$ BEGIN IF 1=1 THEN INSERT INTO temp( rand ) VALUES( RANDOM() ); END IF; END;$funkcija_su_if$ LANGUAGE plpgsql;CREATE OR REPLACE FUNCTION funkcija_be_k_strukt() RETURNS void AS $funkcija_be_k_strukt$ BEGIN INSERT INTO temp( rand ) VALUES( RANDOM() ); END;$funkcija_be_k_strukt$ LANGUAGE plpgsql;CREATE OR REPLACE FUNCTION funkcija_su_declare() RETURNS void AS $funkcija_su_declare$ DECLARE i INTEGER; BEGIN i := 0; i := i + 1; INSERT INTO temp( rand ) VALUES( RANDOM() ); END;$funkcija_su_declare$ LANGUAGE plpgsql;CREATE OR REPLACE FUNCTION benchmark(funkcija TEXT, kiekis INTEGER) RETURNS void AS $$ DECLARE i INTEGER; uzklausa TEXT; BEGIN i := 0; uzklausa = 'SELECT ' || funkcija || '();'; WHILE i < kiekis LOOP EXECUTE uzklausa; i := i + 1; END LOOP; END;$$ LANGUAGE plpgsql;