# HG changeset patch # User František Kučera # Date 1243627174 -7200 # Node ID 3461cdf271d0ee0b9fb2d26be1db725108f1b89a # Parent ad391f838b9d8f203b3eb04fa673142aa514e1ba Oprava chyby – přednost mají parametry funkce před názvy sloupců. Chybase projevila, když dva uživatelé měli stejné heslo → nebylo možné změnit heslo (pocet = 2). http://www.abclinuxu.cz/poradna/databaze/show/266816 diff -r ad391f838b9d -r 3461cdf271d0 sql/schéma.sql --- a/sql/schéma.sql Fri May 29 15:12:02 2009 +0200 +++ b/sql/schéma.sql Fri May 29 21:59:34 2009 +0200 @@ -2,7 +2,7 @@ -- PostgreSQL database dump -- --- Started on 2009-05-10 18:21:07 CEST +-- Started on 2009-05-29 21:13:11 CEST SET client_encoding = 'UTF8'; SET standard_conforming_strings = off; @@ -26,14 +26,14 @@ -- Name: zmen_heslo(character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: posta; Owner: - -- -CREATE FUNCTION zmen_heslo(login character varying, domena character varying, stare_heslo character varying, nove_heslo character varying) RETURNS text +CREATE FUNCTION zmen_heslo("Login" character varying, "Domena" character varying, "Stare_heslo" character varying, "Nove_heslo" character varying) RETURNS text AS $_$DECLARE pocet integer; BEGIN UPDATE uzivatel - SET heslo = md5($4) - WHERE login = $1 - AND domena = $2 - AND heslo = md5($3); + SET heslo = md5("Nove_heslo") + WHERE uzivatel.login = "Login" + AND uzivatel.domena = "Domena" + AND uzivatel.heslo = md5("Stare_heslo"); GET DIAGNOSTICS pocet = ROW_COUNT; IF pocet = 1 THEN RETURN 'Změna hesla pro ' || $1 || '@' || $2 || ' proběhla úspěšně.'; @@ -48,10 +48,10 @@ -- -- TOC entry 1835 (class 0 OID 0) -- Dependencies: 55 --- Name: FUNCTION zmen_heslo(login character varying, domena character varying, stare_heslo character varying, nove_heslo character varying); Type: COMMENT; Schema: posta; Owner: - +-- Name: FUNCTION zmen_heslo("Login" character varying, "Domena" character varying, "Stare_heslo" character varying, "Nove_heslo" character varying); Type: COMMENT; Schema: posta; Owner: - -- -COMMENT ON FUNCTION zmen_heslo(login character varying, domena character varying, stare_heslo character varying, nove_heslo character varying) IS 'Změní heslo uživatele.'; +COMMENT ON FUNCTION zmen_heslo("Login" character varying, "Domena" character varying, "Stare_heslo" character varying, "Nove_heslo" character varying) IS 'Změní heslo uživatele.'; SET default_tablespace = ''; @@ -208,7 +208,7 @@ -- -- TOC entry 1831 (class 2606 OID 16558) --- Dependencies: 1536 1549 1824 +-- Dependencies: 1549 1824 1536 -- Name: alias_domena_fk; Type: FK CONSTRAINT; Schema: posta; Owner: - -- @@ -245,11 +245,11 @@ -- Name: zmen_heslo(character varying, character varying, character varying, character varying); Type: ACL; Schema: posta; Owner: - -- -REVOKE ALL ON FUNCTION zmen_heslo(login character varying, domena character varying, stare_heslo character varying, nove_heslo character varying) FROM PUBLIC; -REVOKE ALL ON FUNCTION zmen_heslo(login character varying, domena character varying, stare_heslo character varying, nove_heslo character varying) FROM posta; -GRANT ALL ON FUNCTION zmen_heslo(login character varying, domena character varying, stare_heslo character varying, nove_heslo character varying) TO posta; -GRANT ALL ON FUNCTION zmen_heslo(login character varying, domena character varying, stare_heslo character varying, nove_heslo character varying) TO PUBLIC; -GRANT ALL ON FUNCTION zmen_heslo(login character varying, domena character varying, stare_heslo character varying, nove_heslo character varying) TO posta_zmena_hesla; +REVOKE ALL ON FUNCTION zmen_heslo("Login" character varying, "Domena" character varying, "Stare_heslo" character varying, "Nove_heslo" character varying) FROM PUBLIC; +REVOKE ALL ON FUNCTION zmen_heslo("Login" character varying, "Domena" character varying, "Stare_heslo" character varying, "Nove_heslo" character varying) FROM posta; +GRANT ALL ON FUNCTION zmen_heslo("Login" character varying, "Domena" character varying, "Stare_heslo" character varying, "Nove_heslo" character varying) TO posta; +GRANT ALL ON FUNCTION zmen_heslo("Login" character varying, "Domena" character varying, "Stare_heslo" character varying, "Nove_heslo" character varying) TO PUBLIC; +GRANT ALL ON FUNCTION zmen_heslo("Login" character varying, "Domena" character varying, "Stare_heslo" character varying, "Nove_heslo" character varying) TO posta_zmena_hesla; -- @@ -335,7 +335,7 @@ GRANT SELECT ON TABLE postfix_uzivatel TO posta_cteni; --- Completed on 2009-05-10 18:21:15 CEST +-- Completed on 2009-05-29 21:13:23 CEST -- -- PostgreSQL database dump complete