Sobre o projeto

Frigolite é uma reimplementação do zero do motor de banco de dados SQLite em Go puro, projetada para fornecer formatos de arquivo compatíveis com SQLite sem exigir CGO, dependências externas ou o CLI sqlite3. Serve como uma solução de banco de dados SQL leve e autocontida para aplicativos Go. Principais recursos incluem: - **Implementação Pura em Go**: Zero dependências externas e nenhum CGO, garantindo fácil integração e portabilidade. - **Compatibilidade com SQLite**: Lê e escreve arquivos `.db` padrão, suportando um subconjunto útil de SQL, incluindo `CREATE`, `INSERT`, `SELECT` (com junções, subconsultas e agregações), `UPDATE` e `DELETE`. - **Suporte Extensivo a Funções**: Inclui mais de 60 funções SQL, como manipulação de strings, operações numéricas, lógica condicional e utilitários de compressão. - **Recursos Avançados**: Suporta tabelas virtuais (por exemplo, `generate_series`), mais de 25 PRAGMAs e EXPLAIN/EXPLAIN QUERY PLAN para depuração. - **Interfaces Flexíveis**: Fornece uma API nativa em Go e um driver padrão `database/sql`, permitindo que os desenvolvedores usem scans tipados, placeholders e instruções preparadas. - **Shell de Linha de Comando**: Inclui um CLI interativo para gerenciamento direto do banco de dados. - **Testes Robustos**: Apoiado por 842 testes, incluindo testes de compatibilidade com SQLite automaticamente convertidos, garantindo confiabilidade. A arquitetura do Frigolite é modular, com pacotes distintos para armazenamento, pager, B-tree, análise de SQL e execução. Ele segue os princípios SOLID e os idiomatismos do Go, tornando-o uma alternativa sustentável e eficiente para projetos que precisam da funcionalidade do SQLite sem a sobrecarga de ligações C.