21.05.2014 Views

Unit Test Your Database! - PGCon

Unit Test Your Database! - PGCon

Unit Test Your Database! - PGCon

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

sql/deploy/<br />

change_pass.sql<br />

-­‐-­‐ Deploy change_pass<br />

-­‐-­‐ :requires: appuser<br />

-­‐-­‐ :requires: users<br />

BEGIN;<br />

CREATE OR REPLACE FUNCTION change_pass(<br />

nick TEXT, oldpass TEXT, newpass TEXT<br />

) RETURNS BOOLEAN LANGUAGE plpgsql SECURITY DEFINER AS $$<br />

BEGIN<br />

UPDATE users SET password = md5($3)<br />

WHERE nickname = $1 AND password = md5($2);<br />

RETURN FOUND;<br />

END;<br />

$$;<br />

GRANT EXECUTE ON FUNCTION change_pass(TEXT, TEXT, TEXT) TO <br />

flipr;<br />

COMMIT;<br />

sql/deploy/chan

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!