SQLite、再帰CTE内で複数のSELECT文をサポート
(fossil-scm.org)-
開発者のRichard Hippによる投稿
-
もともとSQLiteのCTE(Common Table Expression)はPostgreSQLに従っていたため、1つのSELECTしかサポートしていなかった
→ しかし、SQL Serverが複数の再帰クエリをサポートしているのを見て、これを反映
-
これでSQLiteは、単一の再帰CTE内で複数の再帰SELECT文をサポートし、これらのクエリをUnionできる唯一のエンジンになった(ほかにもあれば知らせてほしいとのこと)。SQL Serverは
UNION ALLのみ許可。PostgreSQLはUNIONは可能だが、単一の再帰SELECTしか使えない。 -
このエピソードは、FossilがSQLiteのVCSであるだけでなく、どのようにSQLite開発を支援し、テストプラットフォームとして機能しているかを示している。Fossilは、SQL標準にはあるがどこにも実装されていない機能を必要としており、SQLiteがその機能を提供した。FossilとSQLiteは一緒に発展してきた。これはドッグフーディング(dogfood)の利点を示す事例である。
2件のコメント
Fossilというソース管理ツールがあることを初めて知りました。これまで、あれを他のRDBMSが実装していなかったというのが驚きですね…