Re: [firebase-br] SP_UDF - Manipulação de strings

Gianclaudio Oliveira gianclaudiooliveira em yahoo.com.br
Seg Out 30 12:14:52 -03 2006


Caro colega, poeta contemporâneo dos SGBD,

Em primeiro lugar não posso deixar de comentar o seu tom poético neste tópico. Foi muito engraçado.
Admiro muito o seu esforço e achei espetacular as rotinas do tal Ivan Prenosil... ainda que não resolvam todas as minhas necessidades. Aliás, eu já ouvi esse nome em algum lugar. Pode ser até que seja bem óbvio e eu não esteja identificando.
O link do IBExpert não está funcionando pra mim. Aqui no meu navegador, ele dá como URL not found.

Com relação a esse lance de documentação, eu concordo plenamente. São poucos livros que tratam especificamente do Firebird, que já tem diferenças significativas do IB 6, mesmo o FB 1.5. Talvez pela minha falta de informação,  que é muita, eu só conheço os livros do Cantu escritos por brasileiros. O resto é um aqui, outro ali, escrito por estrangeiros... alguns traduzidos.

Documentação Free é quase nenhuma. Alguns artigos que se encontram por aí, inclusive, são muito desatualizados e pouco explicativos.
Aliás, isso é comum com software OpenSource. A grande maioria dos usuários open sofrem com isso.

Com relação ao seu colega, a atitude dele é compreensível. E é a atitude de muitos que tentam utilizar o software livre em seu trabalho. Mas grandes vitórias se conquistam em grandes batalhas e a espada é inútil nas mãos de um covarde.
Não estou chamando o seu colega nem nenhum outro de atitude semelhante de corvarde, veja bem.
Só quero dizer que alguns pulam do barco, outros permanecem com seus baldes em punho e dedos nos buracos do casco. Todo bom programa já teve seus dias de carroça. O próprio Interbase, por exemplo, tinha muitos bugs e limitações. Algumas dessas, inclusive, se mantém até hoje... algumas já corrigidas no Fb 1.5, outras somente no FB 2. Talvez algumas fiquem para um próximo release.
Eu trabalho com Delphi 6 até hoje... muitos componentes dele têm bugs primários. E a falta de recursos básicos impressiona em alguns casos. E olha que a Borland é poderosíssima. Eu já conheço o Turbo Pascal e o Borland Pascal for Windows há + de 12 anos.
Isso não impediu da 6ª versão de um consagrado programa de uma super-consagrada multinacional de software vir com grandes bugs e grande falta de recursos.
Que dirá o S. L.
O Firebird, para um S.L., ele é até muito expetacular na minha opinião. E eu não vou pular do barco mesmo que alguma limitação me atrapalhe muito. Com relação a falta de documentação, o jeito é comprar um livro mesmo e tentar participar dos cursos de FB que o Cantu promove. Futuramente serão muito mais livros disponíveis, certamente até escritos por alguns de nós. E o mesmo para cursos, palestras...
O Firebird vai se tornar o melhor SGBD do mundo, tenho certeza, com o esforço de todos nós.

Grande abraço,
Gianclaudio Oliveira

Jeferson Oliveira <jefersonfoliveira em gmail.com> escreveu: Logo ao sentar-me diante do computador para iniciar minha tentativa de
implementação em PSQL de funções fundamentais para manipulação de
strings, declinei. Não por desistir da idéia de substituir UDFs por
SPs, mas sim por ter me ocorrido que sendo o Firebird um banco de
dados com uma comunidade tão ativa, seria provável que algum colega já
tivesse pensado em algo semelhante.
Visitando sites de alguns colaboradores do projeto Firebird, e de
membros da lista internacional encontrei, sem muita dificuldade,
alguns métodos importantes.

Não enviarei ao Cantu para publicação no site da Firebase, pois afinal
não se trata de código de minha autoria, e não quero plagiar nenhum
colega.

Como já citado em outra mensagem, o manual on-line do IbExpert
publicou código de uma SP que faz nova implementação da função
*SubString*, permitindo valores variáveis nos parâmetros from e for.
Implementado por Lucas Franzen:
http://www.ibexpert.info/documentation/index_frame.html?url=http://www.ibexpert.info/documentation/%20%203.%20Database%20Objects/%20%205.%20Stored%20Procedure/%20%204.%20Procedure%20using%20Substring()%20function%20(Susbstr%20Procedure)/17764.html
Nota: No Firebird 2 a função SubString já assume por padrão esse
comportamento, dispensando, portanto, a utilização de SPs ou UDFs para
tal finalidade.

É preciso estar inspirado para codificar com primazia.
Talvez a falta de inspiração tenha me levado a optar pela pesquisa
antes de investir tempo no desenvolvimento dos métodos de manipulação
de strings.
Sorte minha que os castelos de Praga parecem servir de inspiração
suficiente para o colega Ivan Prenosil (ativista de longa data do
Interbase/Firebird) que nos presenteou com algumas funções
importantes. As principais são: *TrimRight*, *Length* e *Pos*.
http://www.volny.cz/iprenosil/interbase/ip_ib_code_string.htm.

Embora as funções que cito aqui sejam muito úteis, não estou inovando
em nada, pois pesquisando em mensagens antigas da lista vi que algumas
já foram publicada pelo colega Caio Oliveira em 06/04/2006 dentro do
tópico "Aos interessados: Omelhor Autoincrementosequencial".
O que me remete à uma conversa que tive com um colega desenvolvedor,
que outrora fervoroso defensor do Firebird hoje só utiliza SQLServer
(Express versão free) e PostGreSQL em seus projetos. Questionado sobre
o porquê da mudança, responde com muitos elogios ao Firebird, mas
lamenta a falta de documentação/informação centralizada. Cita que
embora haja muitas pessoas engajadas em compartilhar informação (essa
lista é um grande exemplo) a informação está muito dispersa, e poucos
assuntos são abordados repetidas vezes nos grupos de discussão,
tornando assim lento o processo de aprendizado e desenvolvimento.
Creio que o hábito de pesquisar em mensagens antigas antes de postar
uma nova mensagem já contribuiria bastante para diminuir a redundãncia
dos tópicos, e aumentar o nível das discussões.

Enfim, idéias imprecisas de uma noite sem rumo ...



Abraço!
Jeferson Oliveira

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


 		
---------------------------------
 Você quer respostas para suas perguntas? Ou você sabe muito e quer compartilhar seu conhecimento? Experimente o Yahoo! Respostas!


Mais detalhes sobre a lista de discussão lista