ToyQL: Braindump #2

空のプロジェクトをつくった。次はとりあえず何か動くという状態にしたい。最小限の SQL として

  • SELECT で複数のカラムを指定, AS による aliasing あり
  • FROM で単一のテーブルを指定
  • WHERE 以降はナシ

が動くようにする。WHERE に進むには式を評価する必要があるのであとまわし。AST は作る。実行計画やデータフローみたいのは不要。スキャンして row を生成し, それを rename し, 最終的な column を accumulate する、みたいなことをするだけだから。最初は aliasing ナシでもいいキハするけれど、式の評価とかをする上でそのレイヤは必要そうなのでいれてみる。すごい簡単だが、それでも AST など必要な足場のために多少の頑張りが必要。

あと一応 API を考えないといけない。まずはあまりカッコつけずべたっとしたものにしておく。