シンプルなSQLクエリ評価器の構築

2025-02-19
シンプルなSQLクエリ評価器の構築

この記事では、基本的なSELECT文を処理できるシンプルなSQLクエリ評価器の構築について説明します。作者はまず単純なテストデータベースを作成し、以前のSQLiteファイル形式パーサーとSQLパーサーを改良してより複雑なクエリを処理できるようにします。中核となるのは`Operator`と`Planner`の実装であり、`Operator`はデータベース操作を実行し、`Planner`は解析済みのSQLを`Operator`に変換します。現時点では、フィルタリング、ソート、グルーピング、結合はサポートされていませんが、これらの機能を追加するための基盤が築かれています。並列アクセスに対応するための`Pager`の改良についても説明されています。

続きを読む

RustによるSQLiteパーサー:CREATE TABLEのサポート追加

2025-02-04
RustによるSQLiteパーサー:CREATE TABLEのサポート追加

この記事では、RustベースのSQLiteパーサーを拡張してCREATE TABLE文を処理する方法について説明します。データベースのスキーマテーブルを解析することで、プログラムはテーブル名、ルートページ番号、カラム名とタイプを抽出します。この記事では、字句解析、構文解析、抽象構文木(AST)の構築について説明し、抽出されたメタデータがデータベース構造にどのように保存されるかを示します。これにより、より完全なSQLiteパーサーが実現します。

続きを読む
開発