From: | "Alejandro D(dot) Burne" <alejandro(dot)dburne(at)gmail(dot)com> |
---|---|
To: | "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com> |
Cc: | "PostgreSQL General ML" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Users functions library |
Date: | 2008-07-13 19:50:39 |
Message-ID: | 8398dc6d0807131250v553364ddt8cfa237b11a7cda2@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
2008/7/13 Pavel Stehule <pavel(dot)stehule(at)gmail(dot)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
> 2008/7/13 Alejandro D. Burne <alejandro(dot)dburne(at)gmail(dot)com>:
>> 2008/7/12 Alejandro D. Burne <alejandro(dot)dburne(at)gmail(dot)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(at)postgresql(dot)org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-general
>>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2008-07-13 21:52:02 | Re: Users functions library |
Previous Message | olivier.scalbert@algosyn.com | 2008-07-13 11:35:25 | Out of memry with large result set |