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

Jeferson Oliveira jefersonfoliveira em gmail.com
Dom Out 29 23:28:21 -03 2006


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




Mais detalhes sobre a lista de discussão lista