[firebase-br] Ajuda para criar procedure

Christian e Ana Luiza Britto chriseana em gmail.com
Qua Jan 6 10:07:39 -03 2016


Puxa Gladiston,

Não é minha intenção explorar trabalho alheio, até porque estou
tentando desenvolver uma aplicação Open Source. Sinceramente não
esperava este tipo de julgamento. Por favor, perdoe-me pelo mal
entendido e desconsidere meu post.

Grande abraço,
Christian



Em 06/01/16, Gladiston Santana<gladiston em vidy.com.br> escreveu:
> Colega, você tem que ser mais especifico na sua pergunta.
> Se você quer que outros ajudem, vai colocando uma pergunta de cada vez,
> talvez perguntando como faríamos isso ou aquilo ou qual a função para isso
> ou aquilo.
> Quando você posta um código inteiro e pede ajuda para converter, o que me
> vem a cabeça é que 'pô, esse cara quer que eu transcreva um plpgsql para
> firebird e de graça?'.
> Parece o cara ao meu lado dizendo 'é só por um botãozinho aqui, não custa
> nada'.
> Meu conselho rápido é, pegue uma função para fazer strip_html em pascal e
> converta numa DLL e importe como UDF no Firebird.
> Fazer no Firebird demanda muito tempo, pois não se trata de uma conversão,
> mas de criação completamente nova fazendo um loop em cima dum texto e
> caçando < e > e removendo-os, além disso, achar os codepoints como &ccedil
> e converter para Ç. Minha lógica funcionaria assim, mas escrever este tipo
> de código só de brincadeira não dá, não sou tão hacker assim, levaria um
> dia todo provavelmente para fazê-lo ;)
>
> []´s e boa sorte.
>
> Em 5 de janeiro de 2016 21:12, Christian e Ana Luiza Britto <
> chriseana em gmail.com> escreveu:
>
>> Olá a todos,
>>
>> Tenho esta função que me ajudaram a escrever para o PostgreSQL e agora
>> preciso traduzí-la para o Firebird. Mas, não sei bem como fazer.
>> Por favor, alguém pode me ajudar? Trata-se de uma rotina que retira
>> todos os córigos HTML de um campo string. Gostaria de saber como posso
>> transformá-la em uma procedure compatível com o Firebird.
>>
>> -- Name: strip_html(text); Type: FUNCTION; Schema: public; Owner:
>> postgres
>> --
>>
>> CREATE FUNCTION strip_html(t text) RETURNS text
>>     LANGUAGE plpgsql IMMUTABLE
>>     AS $$
>> declare
>>     r record;
>> begin
>>     for r in
>>         select distinct ce.ch, ce.name
>>         from
>>             character_entity ce
>>             inner join (
>>                 select name[1] "name"
>>                 from regexp_matches(t, '&([A-Za-z]+?);', 'g') r(name)
>>             ) s on ce.name = s.name
>>     loop
>>         t := replace(t, '&' || r.name || ';', r.ch);
>>     end loop;
>>
>>     for r in
>>         select distinct
>>             hex[1] hex,
>>             ('x' || repeat('0', 8 - length(hex[1])) ||
>> hex[1])::bit(32)::int codepoint
>>         from regexp_matches(t, '&x([0-9a-f]{1,8}?);', 'gi') s(hex)
>>     loop
>>         t := regexp_replace(t, '&x' || r.hex || ';', chr(r.codepoint),
>> 'gi');
>>     end loop;
>>
>>     for r in
>>         select distinct
>>             chr(codepoint[1]::int) ch,
>>             codepoint[1] codepoint
>>         from regexp_matches(t, '&([0-9]{1,10}?);', 'g') s(codepoint)
>>     loop
>>         t := replace(t, '&' || r.codepoint || ';', r.ch);
>>     end loop;
>>
>>     -- return strip_some_html_codes(t);
>>     return regexp_replace(regexp_replace(t, E'(?x)<[^>]*?(\s alt \s* =
>> \s* ([\'"]) ([^>]*?) \2) [^>]*? >', E'\3'), E'(?x)(< [^>]*? >)', '',
>> 'g');
>> end;
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas:
>> http://www.firebase.com.br/pesquisa_lista.html
>>
>
>
>
> --
> --
> B em B@BU     iB em M@B.  B em MBBO   MBBMMB em B@BZLr    E@@@@i      r@@@BU
> vB em M@O     E em B@Bu   BBBM em 0   G em MMM@N8MBB em ZP5r  B em B@k      8B@@O
>  OB em B@q   2 em BBBM    B em B@BO   BB em B@B,.:,7B em B@@L uB em B@,    OB em B@.
>  ,@@@B@   @BBB@,    @BBB em 8   M em M@@@     PB em B@B  @@@BN   iB em B@L
>   U em B@B2 LB em B@X     B em MBBO   MBBM em B     i em BBB@. 7 em B@Bi  B em B@E
>    B@@@BiM em M@B.     @BBM em G   M em MMB@     v@@M em B,  G em B@Z v em B@B.
>    7B em B@O em B@B5      B em B@B8   BBBM em B     Z@@@B@   iB@@@2 em B@Br
>     NB em M@B em B8       @B em B@8   M em B@B em i:i75 em B@B em r    E@@B em B@Bq
>     . em B@@@B@:       B em B@B@   @B@@@B em B@B@@@ME;     .BB em MBB@
>      55.ANOS        OMOGBS   PBZGGOOMOO117,        7 em BBB@r
>      ==============================================r@@@@F=====
>      Gladiston Santana                             8 em B@B,
>      Supervisor de TI                             G em B@B7
>      Tel.:+551147873122 R:228                    :@B em B0
>      Grupo VIDY - SGQ ISO9001 - 55 ANOS          @B em B@.
>      Visite nosso site: www·vidy·com·br         BB@@@u
>      Visite também : www·expolabor·com·br      GB em B@N
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>




Mais detalhes sobre a lista de discussão lista