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

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

Version 1.3.167 (2012-05-23)

DatabaseEventListener使った事ないんですが、ちょっと面白そう。あと、SCRIPTでテーブルやスキーマで絞り込めるようになったのは結構便利だと思います。

  • H2 Console: 行を編集した時、空のvarcharカラムがスペース1つに置き換わっていた。
  • JOOQのドキュメントがアップデートされた
  • いくつかのネストされた結合が実行できなかった。例: select * from (select * from (select * from a) a right join b b) c;
    • 例のSQLは文法エラーになっていた。
  • MS SQL Server compatibility: ISNULLがIFNULLのエイリアスになった.
  • H2 Console toolの中国語訳が完了。
  • Server mode: CLOBやBLOBがサーバ側でキャッシュされる数は、SERVER_RESULT_SET_FETCH_SIZE(デフォルト100)の5倍、もしくは、SysProperties.SERVER_CACHED_OBJECTSの大きい方になった。
    • 元々、SERVER_CACHED_OBJECTSだったのが、SERVER_RESULT_SET_FETCH_SIZE*2になって、最終的に今回の対応になっている模様。
  • トレースファイル内で、いくつかのケースでクエリの実行時間が正しくなかった。特に、SET TRACE_LEVEL_FILE 2において。
  • version 1.3.165で導入された LOG_SIZE_LIMIT機能が常に正しく動作する訳ではなかった(特にマルチスレッディングに関して)ため、削除された。メッセージ "Transaction log could not be truncated"については、必要に応じて.trace.dbに出力される。
    • ばっさり切ってきた! こういうのは珍しい気がします。
  • リソースをプレフィックス"classpath:"を使用して読んだ場合、そのリソースが他の方法で読む事が出来なかったら、そのContextClassLoaderが使用される。
  • DatabaseEventListenerがステートメントの開始と終了でsetProgressを呼び出すようになった
  • DatabaseEventListenerがステートメントの実行中定期的にsetProgressを呼び出すようになった
  • INFORMATION_SCHEMA.FUNCTION_ALIASESがTYPE_NAME列を含むようになった
  • Issue 378: ビューを使用している時、間違った値がパラメータに結びつけられてしまうケースがあった
  • エラーメッセージが中国語に翻訳された
  • TRUNCATEのエイリアスとしてTRUNCが追加された
  • カラム名で結果の値にアクセスする箇所が少し最適化された
  • Statement.getMoreResults(int)のバグを修正
  • SCRIPTステートメントでスキーマやテーブルによるフィルターをサポート