Notícias
[15/07/25] Lançados Firebird 5.0.3, 4.0.6 e 3.0.13
Novos subreleases do Firebird 5.0.3, 4.0.6 e 3.0.13 contendo diversas melhorias e correções de bugs. Em especial, o Firebird 5.0.3 traz um ganho de performance muito bom no tráfego de blobs pequenos em redes de alta latência (veja abaixo), sendo muito útil em aplicações client/server onde o servidor é acessado via internet.
Firebird 5.0.3:
- #8318 – Transmissão de BLOBs pequenos inline
Implementado no protocolo de rede (versão 19):
BLOBs pequenos (até 64 KB por padrão) são enviados diretamente junto com os dados da linha, eliminando round trips adicionais.
É possível ajustar o tamanho inline por declaração (IStatement::setMaxInlineBlobSize
) ou ao conectar via DPB (isc_dpb_max_inline_blob_size
).
Cache de BLOBs no cliente agora também tem limite configurável (padrão 10 MB), ajustável via DPB ou API (setMaxBlobCacheSize()
):
Resultado: melhora de até ~85 % no desempenho em redes de baixa latência para BLOBs pequenos: Patrocinado com as doações coletadas no 21º Firebird Developers Day. Implementado por Vlad Khorsun - #8598 – Não disparar triggers de integridade referencial se PKs/UKs não foram alteradas
Agora o Firebird evita disparar gatilhos quando chaves não mudam, reduzindo sobrecarga desnecessária. Vlad Khorsun - #8523 / #8522 – Correções de exceções internas no fbclient
Evitados erros internos nofbclient
nas operações iniciais de conexão (attach
) e desconexão (detach
) de banco de dados. Vlad Khorsun - #8513 – Compartilhamento de BLOBs entre MON$COMPILED_STATEMENTS e MON$STATEMENTS
Agora ambos os monitores compartilham os mesmos BLOBs contendo texto e plano da instrução, evitando duplicação de dados. Vlad Khorsun - #8447 / #8278 – Otimizações em buscas com chaves NULL
Evitada varredura de índices ou buscas quando se sabe que a condição envolvendoNULL
é sempre falsa. Dmitry Yemanov - #8433 – Refatoração da classe BePlusTree
Melhorias internas na estrutura de índice, otimizando desempenho. Vlad Khorsun - #8421 – Inclusão de árvore de ponteiros em TempSpace
Novas estruturas para gerenciamento de espaço temporário, aumentando eficiência. Andrey Kravchenko, Vlad Khorsun - #6413 – Marcação “swept” para páginas de bancos restaurados pelo gbak [CORE6164]
Melhora gerenciamento de espaço em bancos recém-restaurados. Vlad Khorsun