Notícias
O pacote firebird-driver fornece um driver oficial compatível com a Python Database API 2.0. Além do conjunto mínimo de recursos da API Python DB padrão, este driver também expõe a nova API cliente (baseada em interface) introduzida no Firebird 3 e o número de extensões e aprimoramentos adicionais para uso conveniente do Firebird. O driver é escrito em Python puro (requer Python 3.8+) e utiliza a biblioteca cliente Firebird (fbclient.so/dll) usando ctypes. É compatível com o Firebird versão 3.0 e superior.
Você pode baixar este driver do PyPI ou instalá-lo usando o pip.
Veja o changelog para detalhes completos.
Jonathan Neve acaba de anunciar que o replicador CopyCat agora é Open Source:
Tenho o prazer de anunciar que o CopyCat Replication Engine foi lançado como software de código aberto sob a licença do MIT!
Se você acompanha o produto há algum tempo, deve ter notado que ele não vem sendo atualizado. Em 2017 e 2018, realizei um grande projeto para redesenhar o CopyCat como uma plataforma de replicação baseada em nuvem, mas depois de muito esforço técnico, cheguei à conclusão de que não havia mercado potencial suficiente para fazer valer meu tempo, e fui forçado - não sem alguns sentimentos contraditórios - a passar para outros projetos.
Eu sei que ainda existem clientes antigos usando a biblioteca de componentes para Delphi, e quero ter certeza de que qualquer pessoa que desejar tenha acesso contínuo ao código-fonte e seja livre para fazer o que quiser com ele. O projeto está hospedado no GitHub em github.com/jonathanneve/copycat
Não há novidades significativas planejadas em termos de novos recursos, mas continuarei a resolver quaisquer bugs relatados. Também estou disponível para suporte pago ou trabalho de consultoria se você precisar de ajuda para implementar ou alterar um projeto de replicação baseado no CopyCat.
Saudações,
Jonathan Neve
Spirale Technologies
Está disponível a gravação do Papo Pro do projeto ACBr, com a participação de Alexey Kovyazin e minha, onde falamos sobre a verdadeira capacidade do Firebird em gerenciar grandes bases de dados e um grande número de conexões.
Infelizmente, as vezes ainda ouvimos comentários de que o Firebird não pode ser usado nesses cenários, o que é uma grande mentira. Durante o Papo Pro, falamos sobre porque alguns desenvolvedores ainda tem essa ideia errônea, e comentamos sobre grandes casos de uso, onde o Alexey trouxe informações e números praticamente em tempo real.
Se você já ouviu esse tipo de barbaridade, ouça esse Papo Pro!
A IBSurgeon está procurando beta testers para um novo produto. Trata-se de um pacote UDR (User Defined Routines) baseado na engine Lucene, contendo funções que possibilitam Full Text Search no Firebird 3 e 4.
Os interessados devem entrar em contato por email com Alexey Kovyazin. O produto ainda não foi lançado e espera-se que os interessados testem e contribuam enviando feedback.
Conforme anunciado, dia 23/fevereiro (quarta-feira) às 10h, estarei mais uma vez participando do Papo Pro do Projeto ACBr, falando sobre a real capacidade do Firebird - um assunto que sempre gera discussões acaloradas entre desenvolvedores. A novidade é que teremos a participação especial do Alexey Kovyazin, CEO da IBSurgeon!
Comentaremos sobre casos reais de uso, sendo que o Alexey pretende mostrar alguns cases com dados coletados ao vivo!
Para participar, você deve ser cadastrado (grátis) na plataforma Discord, e acessar o link do canal do Papo Pro na hora marcada (lembre-se de criar uma conta no Discord para conseguir acessar - instruções completas aqui).
Até lá!
Image designed by studiogstock / Freepik
Acaba de ser lançada a versão 3.0.9 do Firebird 3. Essa subrelease traz diversas correções de bugs, em especial, um bug bem raro que poderia preencher todo o arquivo da base de dados com zeros (apenas no Windows e com as versões 3.06, 3.07 e 3.08)!
Recomendo todos que estiverem usando o Firebird 3 a atualizarem para a versão 3.0.9.
Uma lista com as correções da versão 3.0.9 pode ser vista em firebirdsql.org/file/documentation/release_notes/html/en/3_0/rlsnotes30.html#bug-309
Não é raro ouvirmos em grupos de programadores alguns comentários sobre a capacidade do Firebird em gerenciar um grande número de conexões ou bases de dados enormes. Por que isso? Será que eles estão certos nessas afirmações?
Enjoado de ouvir esse tipo de comentário, estarei batendo um papo com todos os interessados, no PapoPro do Projeto ACBr através do Discord. Pretendo mostrar a verdade dos fatos, citando casos reais de uso, etc.
Esse bate papo é aberto para todos os interessados, de forma gratuita. Basta se conectar ao Discord do ACBr e entrar no canal PapoPro no dia 23/fevereiro, às 10h.
Image designed by studiogstock / Freepik
Continuando a série de artigos baseados nos meus livros já publicados, chegou a vez de falarmos sobre validações no Firebird através do uso de diferentes tipos de constraints.
No artigo retirado do livro Firebird Essencial, explico os diferentes tipos de constraints, limitações, sintaxe, além de como e quando usá-las. É uma boa leitura especialmente para quem está começando a trabalhar com bancos de dados relacionais e quer aproveitar tudo de bom que eles oferecem.
Boa leitura!
Conforme anunciado em 2021, a Fast Reports mudou a política de preços diferenciados para o Brasil, portanto, a partir de 01/Janeiro/2022, os preços praticados para o Brasil passaram a ser os mesmos praticados no resto do mundo.
A decisão não agradou muitos brasileiros, afinal, a cotação do dolar vem se mantendo nas alturas há um bom tempo, sem sinal de melhorar. Felizmente, após muita negociação, consegui um desconto exclusivo de 5% para os visitantes do site da FireBase. Para obter o desconto, a compra deve ser feita utilizando os links disponíveis na Loja on-line do site.
Observe que a compra é feita diretamente com a Fast Reports, o desconto já aparecerá no carrinho de compras. O pagamento pode ser feito com cartão de crédito ou boleto bancário, lembrando que por se tratar de uma empresa estrangeira, será emitida por eles uma Invoice, e não uma nota fiscal padrão brasileira.
Aproveitem!
Já há alguns dias foi liberado o recurso de busca/pesquisa no índice do FAQ (Frequently Asked Questions) da FireBase. O recurso já estava disponível no final da página de índice de artigos há algum tempo e agora foi disponibilizado também para as dicas, facilitando encontrar o assunto desejado.
A busca é feita nos títulos dos artigos/dicas, mas lembre-se também que uma busca mais ampla pode ser feita usando o ícone da lupa no menu superior do site, que usa o google para vasculhar todo o site, não só os títulos, mas o conteúdo também.
Provavelmente muitos usuários já tiveram que determinar qual arquitetura do Firebird (SuperServer, Classic ou SuperClassic) está em execução.
Há algumas maneiras de obter essa resposta, seja de forma manual ou mais automatizada. Aqui na FireBase já havia (desde 2015) uma dica no FAQ ensinando a identificar a arquitetura até a versão 2.5. Mas essa dica não funcionava para o Firebird 3 ou 4, visto que nessas versões o executável do Firebird tem o mesmo nome, independente da arquitetura.
Sendo assim, converti a dica em um artigo completo, complementado por uma rotina de Pavel Zotov que possibilita identificar a arquitetura através de comandos SQL nativos do Firebird!
Não deixe de conferir!
Acaba de ser lançada a versão 4.0.1 do Firebird.
Esse subrelease contém algumas pequenas melhorias, e correções de vários bugs identificados após o lançamento da versão 4.0.
A versão 4.0 tinha pelo menos dois bugs que poderiam afetar a estabilidade da replicação, portanto, é aconselhável que todos que estejam usando a versão 4.0.0 atualizem para a 4.0.1.
Todas as informações estão no release notes.
Continuando com a série de publicações baseadas no meu primeiro livro sobre Firebird, dessa vez o tema abordado são os tipos de dados usados para trabalhar com dados temporais.
Nesse artigo, será mostrado como trabalhar com os tipos date, time e timestamp, as operações matemáticas que podem ser feitas com esses dados, além do uso da função extract.
Há também um exemplo de stored procedure para exibir quanto tempo uma pessoa já viveu, em dias, horas, minutos e segundos.
Mark Rotteveel, desenvolvedor do driver Firebird JDBC Jaybird, confirmou que o Jaybird não depende do Log4j 2.
O Jaybird em si não depende do Log4j 2.x , portanto, não é diretamente afetado pelos CVEs Log4j 2 recentes (veja os riscos indiretos abaixo).
Por padrão, o Jaybird versões 3 ou superiores usam java.util.logging para registrar informações. O Jaybird 2.2 e anteriores (todos já descontinuados) têm uma dependência opcional do Log4j 1.x (que não é afetada pelos CVEs recentes). Ele só é usado quando for explicitamente incluído no caminho de classe e habilitado usando a propriedade do sistema FBLog4j ou org.firebirdsql.jdbc.useLog4j. Esta opção foi removida do Jaybird 3.
Riscos indiretos
Se você estiver redirecionando o registro para Log4j 2 (por exemplo, de java.util.logging ou usando uma implementação personalizada de org.firebirdsql.logging.Logger), você pode estar vulnerável. Se seus aplicativos estão usando Log4j 2, atualize para Log4j 2.17.0.
Continuando a série de artigos extraídos do meu livro Firebird 2 - o banco de dados do novo milênio, dessa vez o assunto abordado são as variáveis contextuais.
As variáveis contextuais foram introduzidas no Firebird 2, e permitem armazenar e recuperar informações em variáveis associadas à sessão do usuário ou à transação específica. Elas também permitem recuperar informações referente ao próprio banco de dados e alguns de seus parâmetros.
O artigo demonstra o uso dessas variáveis para criar um log de alterações simples, baseado em triggers.
Como é de costume, durante o processo de inscrição para o Firebird Developers Day, os participantes podem doar qualquer valor para a Fundação Firebird.
A Fundação é a responsável por viabilizar economicamente o desenvolvimento do Firebird, ou seja, é ela que paga o salário dos core-developers que trabalham de forma fulltime ou parcial para o Projeto.
Esse ano, as doações somaram quase R$ 6.000, valor esse que já foi enviado para a Fundação. Aproveito para agradecer a todos que contribuíram! A lista com os nomes e valores já está disponível publicamente.
Hoje tivemos as duas últimas palestras do 18º Firebird Developers Day, que tratou de assuntos muito interessantes: a primeira, de Roman Simakov, falou sobre o RedDatabase, RedExpert e apresentou uma solução muito interessante de cluster de alta disponibilidade que chamou a atenção dos participantes. A segunda, de Alexey Kovyazin, focou em análise de performance, um assunto sempre muito aguardado por todos os usuários do Firebird.
A julgar pelos comentários e elogios recebidos durante os 4 dias de conferência, posso afirmar que o evento foi um grande sucesso!
Agradeço a todos pelo apoio, em especial aos palestrantes, patrocinadores e ao público que assistiu as palestras ao vivo!
Espero que em 2.022 possamos retomar o evento de forma presencial, que garante um ótimo networking.
Acaba de ser lançada a versão 3.0.8 do Firebird.
Essa versão corrige bugs encontrados nas versões anteriores, e também adiciona algumas novidades. É recomendado que todo os usuários do Firebird 3 atualizem para a versão 3.0.8.
Os intaladores para Windows, MacOS, Linux e Android já estão disponíveis no site oficial do projeto.
Hoje, 17/novembro, começa a décima oitava edição do Firebird Developers Day, com minha palestra sobre migração para o Firebird 4.
Desconheço outra conferência na área de tecnologia que tenha uma longevidade tão grande! Afinal, são 18 anos ininterruptos nos quais tivemos momentos muito especiais, como a participação de Ann Harrison e Jim Starkey na segunda edição, bem como outros ilustres palestrantes internacionais, como Alexey Kovyazin e Dmitry Kuzmenko, além dos core-developers Dmitry Yemanov e Vlad Khorsun!
Recentemente participei de um podcast do Projeto ACBr onde contei um pouco da história do FDD, além de várias curiosidades.