-- -- PostgreSQL code for CHKPASS. -- Written by D'Arcy J.M. Cain -- darcy@druid.net -- http://www.druid.net/darcy/ -- -- $Header: /cvsroot/pgsql/contrib/chkpass/chkpass.sql.in,v 1.1 2001/08/23 16:50:33 tgl Exp $ -- -- best viewed with tabs set to 4 -- -- -- Input and output functions and the type itself: -- create function chkpass_in(opaque) returns opaque as 'MODULE_PATHNAME' language 'c'; create function chkpass_out(opaque) returns opaque as 'MODULE_PATHNAME' language 'c'; create type chkpass ( internallength = 16, externallength = 13, input = chkpass_in, output = chkpass_out ); create function raw(chkpass) returns text as 'MODULE_PATHNAME', 'chkpass_rout' language 'c'; -- -- The various boolean tests: -- create function eq(chkpass, text) returns bool as 'MODULE_PATHNAME', 'chkpass_eq' language 'c'; create function ne(chkpass, text) returns bool as 'MODULE_PATHNAME', 'chkpass_ne' language 'c'; -- -- Now the operators. Note how some of the parameters to some -- of the 'create operator' commands are commented out. This -- is because they reference as yet undefined operators, and -- will be implicitly defined when those are, further down. -- create operator = ( leftarg = chkpass, rightarg = text, commutator = =, -- negator = <>, procedure = eq ); create operator <> ( leftarg = chkpass, rightarg = text, negator = =, procedure = ne ); COMMENT ON TYPE chkpass IS 'password type with checks'; -- -- eof --