このプロジェクトについて

Frigoliteは、SQLiteデータベースエンジンを純粋なGoでゼロから再実装したもので、CGO、外部依存関係、またはsqlite3 CLIを必要とせずに、SQLite互換のファイルフォーマットを提供します。これは、Goアプリケーション向けの軽量で自己完結型のSQLデータベースソリューションとして機能します。 主な特徴は以下の通りです: - **純粋なGo実装**:外部依存関係やCGOがゼロであり、簡単な統合と移植性を確保します。 - **SQLite互換性**:標準の`.db`ファイルを読み書きし、`CREATE`、`INSERT`、`SELECT`(結合、サブクエリ、集計を含む)、`UPDATE`、`DELETE`などの有用なSQLサブセットをサポートします。 - **広範な関数サポート**:文字列操作、数値演算、条件ロジック、圧縮ユーティリティなど、60以上のSQL関数が含まれています。 - **高度な機能**:仮想テーブル(例:`generate_series`)、25以上のPRAGMA、デバッグ用のEXPLAIN/EXPLAIN QUERY PLANをサポートします。 - **柔軟なインターフェイス**:ネイティブGo APIと標準の`database/sql`ドライバーの両方を提供し、開発者は型付きスキャン、プレースホルダー、プリペアドステートメントを使用できます。 - **コマンドラインシェル**:直接的なデータベース管理のための対話型CLIが含まれています。 - **堅牢なテスト**:自動変換されたSQLite互換性テストを含む842のテストによって裏付けられており、信頼性を確保しています。 Frigoliteのアーキテクチャはモジュラーで、ストレージ、ページャ、B-tree、SQL解析、実行のための別々のパッケージがあります。SOLID原則とGoのイディオムに準拠しており、CバインディングのオーバーヘッドなしにSQLite機能が必要なプロジェクトにとって、メンテナンス可能で効率的な代替手段となっています。