H2Databaseを追っかけていたりしたブログ

H2 database のリリースノートを読んだりとか。

Version 1.2.147 (2010-11-21)

1.2系です。

  • H2 Console: サーバプロパティのディレクトリを起動時のコマンドライン上で設定可能になりました。java ... -properties Issue 159
  • 新機能。INSERT INTO ... DIRECT SELECT。CSVファイルからテーブルへのロードのスピードアップ。DIRECT句を使用すると、クエリの結果が中間ステップ(テンポラリファイルを除く)を省いて直接対象のテーブルに適用されます。
  • バイナリデータをUUIDに変換する際に31バイトを超えていると正しく変換されなかった。現在、常に先頭の16バイトを使用するようになりました。
  • 日付時刻操作の改善。時刻に対して数字による掛け算割り算、時刻・日付に対して時刻の足し算引き算、タイムスタンプからの時刻・タイムスタンプの引き算をサポート。
  • Antのビルドスクリプトが削除されました。もう更新されていなかったので。
  • かっこを使わないネストした外部結合が期待した動作をしていなかった。例: select * from a inner join b inner join c on c.id = b.id on b.id = a.id;
    • テストケースを見る限り、外部結合ではなく内部結合。
  • JMX (the Java management extension)のサポート。Issue 253.
  • スキーマ名とデータベース名が同じ場合に、カラムに対するコメントが動作していなかった点を修正。
  • MVCC使用時に、prepared statementを同じ引数で再実行した場合、他のコネクションが変更をコミットしていても、以前と同じ値が返ってくることがあった(前回の結果が誤って再利用されてしまうことがあった)のを修正
  • SELECT_FOR_UPDATE_MVCC使用時(MVCC使用時の選択行のみのロック)に、選択された行がロックされないことがあった点を修正。
  • Lucene3使用時に、データベースクローズの際にインデックスファイルがクローズされないことがあった点を修正。
  • ステートメントのprepareとテーブルのalterが同時に実行されると、テーブルが見つからないという例外が投げられる可能性があった点を修正。
  • サブクエリを含むたくさんのステートメントがprepareされる場合に、クエリが実行されないケースがあった点を修正。
  • CallableStatement: "{ ? = CALL...}"という書き方もサポートされるようになった。
  • Lob in databases: 二つの小さなBLOBもしくはCLOBが常にイコールとみなされていた。これは、ユニークインデックスにたいしても影響があった。
  • H2 1.3系のために、シャットダウン時のフックが再度、デフォルトで有効、になった。
  • リカバリースクリプトからデータベースを作成中に、既存のユーザが存在していればそれを使うようになった(CREATE USER の際に、常にIF EXISTSを含むようになった)
    • IF NOT EXISTSの誤記っぽい。
  • 起動時にパラメータを指定していた場合、H2コンソールがステータスメッセージを表示するようになった。
    • とあったが、svnのログを見る限り、該当の修正がない。