Re: Users functions library - Mailing list pgsql-general

From Pavel Stehule
Subject Re: Users functions library
Date
Msg-id 162867790807131452p30b85191hbb6dc4ca7a40a457@mail.gmail.com
Whole thread Raw
In response to Re: Users functions library  ("Alejandro D. Burne" <alejandro.dburne@gmail.com>)
List pgsql-general
2008/7/13 Alejandro D. Burne <alejandro.dburne@gmail.com>:
> 2008/7/13 Pavel Stehule <pavel.stehule@gmail.com>:
>> Hello
>>
>> safe it to pgfoundry http://pgfoundry.org/
>> regards
>> Pavel Stehule
>>
>>
>
> May be to much for including in pgfoundry, I think to build a place to
> share code developed in postgres functions (plpgsql, plpython, etc)
> and to categorize them. I can help to develop it, buy my natural
> language is spanish and I'm uncomfortable writing in english.
>
> Greetings, Alejandro
>

you can share code on http://www.pgsql.cz/index.php/PostgreSQL_SQL_Tricks

Regards
Pavel

>
>
>> 2008/7/13 Alejandro D. Burne <alejandro.dburne@gmail.com>:
>>> 2008/7/12 Alejandro D. Burne <alejandro.dburne@gmail.com>:
>>>> Hi, I need to write a function that gives me a password string, no
>>>> just a numbers-characters string; something like people wrote in php,
>>>> its based on determined syllables and numbers.
>>>> I think it be useful to other people, is there a site where one can
>>>> post it and share with other postgres users?
>>>>
>>>> Alejandro
>>>>
>>>
>>> Sorry, the function:
>>>
>>> CREATE OR REPLACE FUNCTION gen_password(plenght smallint)
>>>  RETURNS bpchar AS
>>> $BODY$
>>>
>>> DECLARE
>>> lValid_Consonant bpchar DEFAULT 'BCDFGHJKMNPRSTV';
>>> lValid_Vowel bpchar DEFAULT 'AEIOUY';
>>> lValid_Numbers bpchar DEFAULT '23456789';
>>>
>>> lConsonant_Length smallint DEFAULT char_length(lValid_Consonant);
>>> lVowel_Length smallint DEFAULT char_length(lValid_Vowel);
>>> lNumbers_Length smallint DEFAULT char_length(lValid_Numbers);
>>>
>>> lPassword bpchar DEFAULT '';
>>>
>>> BEGIN
>>> LOOP
>>>  IF ROUND(RANDOM()*3)<>1 THEN
>>>  lPassword:=lPassword||SUBSTRING(lValid_Consonant FROM
>>> (ROUND(RANDOM()*(lConsonant_Length-1))+1)::integer FOR 1)||
>>>   SUBSTRING(lValid_Vowel FROM
>>> (ROUND(RANDOM()*(lVowel_Length-1))+1)::integer FOR 1);
>>>  IF ROUND(RANDOM()*2)<>1 THEN
>>>   lPassword:=lPassword||SUBSTRING(lValid_Consonant FROM
>>> (ROUND(RANDOM()*(lConsonant_Length-1))+1)::integer FOR 1);
>>>  END IF;
>>>  ELSE
>>>  lPassword:=lPassword||SUBSTRING(lValid_Numbers FROM
>>> (ROUND(RANDOM()*(lNumbers_Length-1))+1)::integer FOR 1);
>>>  END IF;
>>>  IF char_length(lPassword) >= plenght THEN
>>>  EXIT;
>>>  END IF;
>>> END LOOP;
>>>
>>> RETURN SUBSTRING(lPassword FROM 1 FOR plenght);
>>> END;
>>>
>>> $BODY$
>>>  LANGUAGE 'plpgsql' VOLATILE;
>>>
>>> --
>>> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
>>> To make changes to your subscription:
>>> http://www.postgresql.org/mailpref/pgsql-general
>>>
>>
>

pgsql-general by date:

Previous
From: "Alejandro D. Burne"
Date:
Subject: Re: Users functions library
Next
From: gabrielle
Date:
Subject: Reminder - PDXPUG Day