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

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

Version 1.4.185 Beta (2015-01-16)

引き続き、MVStore周りが中心は中心だけど、時々すごい不具合が入ってくる。ここの所そういう感じのが続いてますね。

  • バージョン 1.4.184で "group by"がテーブル名を無視してしまっており、そのため、セレクトする項目を誤る可能性があった。例: select 0 as x from system_range(1, 2) d group by d.x;
    • こういうのがポロッと入ってくるところが怖い。
  • 新しい接続設定"REUSE_SPACE"(デフォルト: true)の追加。無効の場合、すべての変更はデータベースに追記され、既存のデータは上書きされない。これにより、データファイルが削除されるまで、前の状態にロールバックできるようになった。
    • 原文: "This allows to rollback to a previous state of the database by truncating the database file." そもそも、ロールバックできる状況下で、データファイルがtruncateされることがあるんだろうか。
  • Issue 587: MVStore: コンパクションと保存処理が同時に行われた場合、IllegalStateExceptionが発生することがあった
  • Issue 594: Profiler.copyInThread が正しく動作しない
  • Script tool: SCRIPT ... TOが常に使われるようになった(処理のスピードアップと仕様ディスク量の低減のため)
  • Script tool: BLOCKSIZE パラメータのパースの対応
  • PageStore#commit メソッドの中のバグの修正。一旦ignoreBigLogフラグがセットされてしまうと、フラグをクリアする処理にたどり着かず、結果パフォーマンスの低下を引き起こしていた。
  • Issue 552: BIT_AND と BIT_OR 集約関数の実装。