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

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

Version 1.3.161 (2011-10-28)

全然忘れていたけど、ここでもパッチを取り込んでもらっていた。

  • Issue 351: MySQL モード: KEYというカラムを持ったテーブルを作成する事が出来ない。また、そのようなテーブルを既に持っているデータベースをオープンできない
    • 再現しないな...。ソースを見ると、KEYがキーワードになっていたのをやめたと言う事のようだけれども。
  • TCP server: トレースのオプション -trace を使用しているとき、サーバが停止する際にトレースに不要なスタックトレースが含まれていた。
  • Issue 354: マルチスレッドカーネルオプションを使っていて、且つ、複数のスレッドが同じビューもしくは同じビューのインデックスを利用するSQLステートメントをプリペアする場合、無限ループを引き起こすケースがあった。
  • Issue 350: instead of トリガーを使用している場合に、削除を行うexecuteUpdateが常に0を返していた
  • timezoneを使用している場合にtimestampが正しく変換されないケースがあった。例えば、PSTタイムゾーンにおいて、2011-10-26 08:00:00Z が 2011-10-26 01:00:00ではなく2011-10-25 25:00:00に変換されていた。これに依存するデータベース処理があれば、後にエラーを引き起こす。
  • 0よりもキャッシュサイズが小さいシーケンスが正しく動作していなかった
  • Issue 356: Blobオブジェクトに対し、InputStream.skipが0を返し、Blob.getBytes(.., ..)において、EOFExceptionの原因となっていた。
  • 更新可能結果セット: 新規行を挿入する際に値がセットされていなかった場合、Nullの代わりにデフォルト値を使うようになった(MySQLPostgreSQLApache Derbyと同様の振る舞い)
  • サブクエリの結果が設定されたMAX_MEMORY_ROWSより大きい場合に、IN(SELECT ...)の形の条件が遅く、データベースのサイズを増加させる。
  • Issue 347: RunScriptとShell toolが空のステートメントを無視するようになった
  • Issue 246: データ変換の際のエラーメッセージの改善
  • Issue 344: ビルドがカスタムのMaven repository locationをサポート
  • Issue 334: CLOBやBLOBを返すユーザ定義関数をテーブルとして扱えなかった
  • SimpleResultSetがgetColumnTypeNameとgetColumnClassNameをサポート
  • SimpleResultSetが最小限のBLOB、CLOB対応をサポート
  • 大きなデータベース(数ギガ)と小さいページサイズのデータベースのパフォーマンスを改善
  • ポーランド語対応の改善
  • 組み込みのコネクションプールを使っている場合に、"shutdown"のSQL文を実行後、閉じられていないコネクションについて、警告が.trace.dbに書き込まれていた
  • "fetch first/next row(s)"の互換性の改善
  • Java 7 のファイルシステム抽象化の互換性の改善
    • 微妙によくわかりません