H2 Database EngineのINFORMATION_SCHEMA(ちょっとだけ)

はじめに

 H2 Database EngineにINFORMATION_SCHEMAと言うのがありまして、時々便利なのですがいかなるものなのか長らくの間、疑問でした。
 軽く調べてみましたので、メモ。

INFORMATION_SCHEMAに含まれる情報

 「どういった情報を含むテーブルが集まっているのだろう?」というあたりからして疑問だったのですが、どうやら、SQL92の「information schema」に定義されているようなものらしいです。
 RoadmapのPriority 2に「SQL92のinformation schemaをサポートする(意訳)」というのが含まれておりました。
 現状はどうあれ、SQL92の規格は参考になると言えそうです。

INFORMATION_SCHEMAに含まれるテーブル

 H2のINFORMATION_SCHEMAにどんなテーブルが含まれているかですが、これが意外と良い情報がないです。
 テーブルとカラム名だけで良ければSQL Grammarに載っていますが、それだけを知ってもねぇ……。
 テーブルごとに何が入っているかの概要を知るには、SQL92に準拠している他のデータベースを参考にするのがお手軽だと思われます。
 なので、そのようなデータベースに関するリンクを以下に1個だけ記述します。

さいごに

 気力の都合で半端な調査になってしまった…。
 ちなみにお気に入りのテーブルは、「INFORMATION_SCHEMA.TABLES」です。
 テーブル定義のSQL表現が調べられますので、トラブルシュート時によく使います。