PostgreSQL andmebaasis on selline funktsioon õppejõu tuvastamiseks

CREATE OR REPLACE FUNCTION f_on_oppejoud(p_kasutajanimi text, p_parool text) 
RETURNS boolean 
LANGUAGE SQL SECURITY DEFINER STABLE
SET search_path = public, pg_temp
BEGIN ATOMIC
SELECT EXISTS (SELECT * 
FROM Tootaja 
WHERE Upper(kasutajanimi)=Upper(p_kasutajanimi) 
AND parool = laiendused.crypt(p_parool, parool)
AND amet_r_id BETWEEN 1 AND 9 
AND tootaja_seisundi_liik_r_id IN (2, 3)) AS tulemus;
END;

ja sellised tabelid, kus on üliõpilaste andmed

CREATE TABLE Isik (
isikukood d_eesti_isikukood,
kasutajanimi d_kasutajanimi,
e_mail d_e_mail,
eesnimi d_isiku_nime_osa,
perenimi d_isiku_nime_osa,
parool d_parool,
elukoht d_elukoht,
CONSTRAINT Isik_isikukood_on_unikaalne UNIQUE(isikukood),
CONSTRAINT Isik_e_mail_on_unikaalne UNIQUE(e_mail),
CONSTRAINT Isik_kasutajanimi_on_unikaalne UNIQUE(kasutajanimi),
CONSTRAINT Kas_isik_eesnimi_voi_perenimi_voi_molemad_maaratud CHECK((eesnimi IS NOT NULL) OR (perenimi IS NOT NULL))
) WITH (fillfactor=90);

CREATE TABLE Yliopilane (
matrikli_nr d_matrikli_nr,
yliopilase_seisundi_liik_R_id SMALLINT NOT NULL DEFAULT 1,
pilt BYTEA,
CONSTRAINT Matrikli_nr_on_primaarvoti PRIMARY KEY (matrikli_nr),
CONSTRAINT Yliopilane_isikukood_on_unikaalne UNIQUE(isikukood),
CONSTRAINT Yliopilane_e_mail_on_unikaalne UNIQUE(e_mail),
CONSTRAINT Yliopilane_kasutajanimi_on_unikaalne UNIQUE(kasutajanimi),
CONSTRAINT Yliopilane_on_mingis_seisundis FOREIGN KEY (yliopilase_seisundi_liik_R_id) REFERENCES Yliopilase_seisundi_liik_R(yliopilase_seisundi_liik_R_id) ON UPDATE CASCADE
) INHERITS (Isik) WITH (fillfactor=90);

Palun loo samal põhimõttel funktsioon üliõpilase tuvastamiseks. Sisse peavad saama üliõpilased, kes on seisundis 1, 2 või 4.

Palun loo ka funktsiooni kirjeldav kommentaar COMMENT lausena, kus on kindlasti operatsiooni identifikaatorid.
Kommentaaris tuleb muuhulgas öelda, et funktsioon on tehisintellekti genereeritud.
Palun loo ka lause, millega antakse funktsiooni käivitamise õigus kasutajale yliopilane_vastuvotud
Palun loo ka funktsiooni kustutamise lause.