[firebase-br] Fwd: Compilar tbudf 64 bits

Carlos H. Cantu listas em warmboot.com.br
Ter Maio 4 10:53:44 -03 2010


Eu detectei o problema há uns 3 anos atrás, e até onde eu sei, não foi resolvido.

Para testar, era muito fácil... Bastava criar uma função com o freepascal e compilar, gerando o SO. No meu teste, eu criei uma função que recebia uma data e retornava a data, modificando apenas o dia para 01.

Se eu abrisse 2 conexões com o banco, e executasse diversos selects utilizando a UDF, em ambas as conexões, chegava uma hora que o servidor Firebird quebrava. Podia ser rápido, ou podia demorar alguns minutos.

Veja algumas mensagens da época:

http://community.freepascal.org:10000/bboards/message?message_id=227644&forum_id=24083


[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

SEJH> Cantu, pesquisei a respeito pra poder falar com certeza mas não encontrei nada relacionado.

SEJH> Pelo pouco que li, relativamente ao assunto, entendi que os SharedObjects, qdo compilados
SEJH> especificamente para Linux, não causam esse problema. Se o mesmo código for compilado em
SEJH> Lazarus para WINDOWS, aí sim, acontece o que vc mencionou. Não confirmo a informação,
SEJH> vi algumas poucas referências em foruns relatando problemas com DLL's geradas pelo Lazarus
SEJH> para Windows e que o mesmo código não dava problemas qdo compilado para Linux.

SEJH> Falando por experiencia própria, eu tenho diversos servers
SEJH> Fedora x86_64 (partindo do Fedora 7),
SEJH> inclusive com interfaces Web, rodando FB 1.5, 2.0 e 2.1 (ambos
SEJH> 64 bits), várias conexões simultaneas,
SEJH> selects, updates, inserts, etc. Nas aplicações desktop eu uso DataSnap pq tbm tenho muitos
SEJH> acessos externos em vários BD's, e pra completar o cenario eu
SEJH> uso e abuso da TBUDF.so de 64 bits.
SEJH> Isto é, várias funções são chamadas ao mesmo tempo por mtas conexões diferentes.

SEJH> Até hoje não vi nenhum problema desse tipo nos log's do FB e meu passa tempo preferido é ler
SEJH> log de servidor que coloco no ar. Tbm nunca, exatamente NUNCA, tive nenhum tipo de
SEJH> corrupção do BD, nem desconexões, tendo funcionado perfeitamente pra mim.

SEJH> Vou pesquisar mais a respeito pra ter algo concreto, mas se a
SEJH> experiencia valer pela informação,
SEJH> então eu diria que é 100% funcional.

SEJH> []'s
SEJH> Jorge Henrique

SEJH> Em 04-05-2010 09:48, Carlos H. Cantu escreveu: 
SEJH> O Lazarus (que usa o compilador FreePascal), pelo menos até algum
SEJH> tempo atrás, não gerava SharedObjects com código PIC, o que causa
SEJH> quebra do servidor Firebird, especialmente se a UDF for chamada ao
SEJH> mesmo tempo por mais de uma conexão.

SEJH> []s
SEJH> Carlos H. Cantu
SEJH> www.FireBase.com.br - www.firebirdnews.org 
SEJH> www.warmboot.com.br - blog.firebase.com.br

SEJH>> Eu tenho a TBUDF.so para Firebird x64.
SEJH>> Compilei usando o Lazarus, mas o principal é que vc tem que converter o
SEJH>> projeto em Delphi para Lazarus e só após isso, usar o Cross-Compiler 
SEJH>> dele para gerar para em 64 bits.
SEJH>> Já compilei a lib tem mto tempo e tenho usado sem problema algum, em 
SEJH>> servidores de produção usando Fedora x86_64. Provavelmente deve 
SEJH>> funcionar bem no Ubuntu ou qualquer outra distro Linux.

SEJH>> Se quiser, me contate em PVT que eu lhe envio o arquivo já compilado.

SEJH>> Jorge Henrique

SEJH>> Em 03-05-2010 20:58, Alex Miranda de Oliveira escreveu:
SEJH>   
SEJH> ---------- Mensagem encaminhada ----------
SEJH> De: Alex Miranda de Oliveira<alexsistemass em gmail.com>
SEJH> Data: 2 de maio de 2010 00:09
SEJH> Assunto: Compilar tbudf 64 bits
SEJH> Para: FireBase<lista em firebase.com.br>


SEJH> Boa Noite


SEJH> Estou Precisando Compilar a tbudf  em 64 bits

SEJH> e não sei como fazer isso ..

SEJH> Não sei se o Delphi tem alguma maneira de compilar para 64 bits

SEJH> baixei o lazarus no ubuntu para compilar..

SEJH> mas como não trabalho com lazarus não sei com fazer

SEJH> conto com a ajuda de vocês..


SEJH> O firebird que esta instalado e 64 bits e ai a tbudf de 32 bits não funciona

SEJH> ate +++
SEJH> ______________________________________________
SEJH> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
SEJH> Para saber como gerenciar/excluir seu cadastro na lista, use:
SEJH> http://www.firebase.com.br/fb/artigo.php?id=1107
SEJH> Para consultar mensagens antigas: http://firebase.com.br/pesquisa

SEJH>    
SEJH>       


SEJH> ______________________________________________
SEJH> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
SEJH> Para saber como gerenciar/excluir seu cadastro na lista, use:
SEJH> http://www.firebase.com.br/fb/artigo.php?id=1107
SEJH> Para consultar mensagens antigas: http://firebase.com.br/pesquisa

SEJH>   






Mais detalhes sobre a lista de discussão lista