[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 ç
> 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