mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-29 00:05:29 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			MySQL
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			MySQL
		
	
	
	
	
	
| --
 | |
| --	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
 | |
| --
 |