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

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

Version 1.4.182 Beta (2014-10-17)

MVStore周り、引き続きもりもり修正が入っています。それにしてもBeta長い。

  • MVStore: エラーメッセージとログの改善。オブジェクトをシリアライズする際のエラー時のふるまいを改善。
  • OSGi: MVStoreパッケージがエクスポートされるようになった
  • MVStore使用時に、複数スレッドで並列にインデックスやテーブルを作成すると比較的容易に"SYS"テーブルに置いてロック取得のタイムアウトが発生する
  • マルチスレッドオプション使用時に、"Unexpected code path"例外がスローされる。特にオプション"analyze_auto"を少ない値に設定しているとき。
  • サーバモードで、CLOBやBLOBを読んでいる途中でコネクションがクローズされると、コネクションがクローズされたと言われずに、NullPointerExceptionがスローされる。
  • DatabaseMetaData.getProcedures 及び getProcedureColumns がユーザ定義関数が向こうの場合に例外をスローしていた
  • Issue 584: 不正なシーケンスの定義についてのエラーメッセージが適切ではない
  • CSV tool: rowSeparatorオプションがサポートされなくなった。代わりにlineSeparatorを使うこと。
  • MVStoreのテーブルで、降順のインデックスが正確に動作していなかった
  • Issue579: MVStoreを使用しているとき、仮想項目"_rowid_"に対するインデックスが使われていなかった。
  • "offset"と"fetch"が1.4からキーワードになる点についてドキュメントの修正。
  • Long.MIN_VALUEがオートインクリメント(ID)項目でパース出来ていなかった
  • Issue 573: "isWrapperFor()" と "unwrap()" をその他のJDBCクラスに対して実装の追加。
    • 1.4.181でJdbcConnection.javaに実装されたのを受けて。
  • Issue 572: update文においての"order by"についてMySQLとの互換性を向上
    • LIMITがORDER BYよりも後ろになった模様。
  • version 1.4.181 で変更されたJDBCのエスケープ処理がパーサ(サーバ上で動作)とJDBC API(クライアント側で動作)の両方に影響があった。そのため、それらのシンタックス"{t 'time}"や "{ts 'timestamp'}"や "{d 'data'}" を使う場合にはクライアントおよびサーバを共に1.4.181以降にアップグレードする必要がある。