Version 1.4.186 Beta (2015-03-02)
書いたパッチが取り込まれた版。system_rangeテーブル(仮想表というか関数というか)は知ってると便利です。PostgreSQLならgenerate_seriesです。Oracleだとない(と思うので)、1から9が入った表を作ったりするのは、よくやられていたりするのかしら。
しかし、select * from dual join(select x from dual) on 1=1 が壊れるバグとか怖いですね。
- Servlet API 2.4に代わり、Servlet API 3.0.1が使われるようになった
- MVStore: アペンドオンリーモードにて、古いチャンクが削除されないようになった
- MVStore: ページ参照のキャッシュが巨大になることがあり、場合によってOut of Memoryを引き起こす結果となっていた
- MVStore: 参照されなくなったLOBオブジェクトが適切に削除されておらず、場合によっては不必要なデータベースの巨大化を引き起こしていた
- MVStore: 最大キャッシュサイズが不自然に2GBに制限されていた(integerの桁数溢れのため)
- MVStore / TransactionStore: 更新の同時実行が、"Too many open transactions"例外を引き起こしていた
- StringUtils.toUpperEnglish が小さなキャッシュを持つようになった。これにより、結果セットからカラムネームを使う際に読み込みが速くなる
- MVStore: 65535を超える同時トランザクションをサポートするようになった。以前は、もっとも古いトランザクションから最新のものまで65535トランザクションに制限されていた(これはきわめて奇妙な制限である)
- デフォルトのインプレイスのLOBオブジェクトの最大サイズが128バイトから256バイトに変更された。読み込みのたびにLOBに対する参照が作成されており、その参照のメンテナンスが大きなオーバーヘッドになっていた。制限値が大きければ、必要な参照が少なくて済む。
- カラムのないテーブルが動作していなかった(テスト用に使用されている)
- LIRSキャッシュがすべてのケースで自動でリサイズされるようになった。averageMemoryの設定が不要になった。
- MVStoreデータベースから、非MVStoreデータベースへリンクテーブルを作成すると、2つめの非MVStoreデータべースファイルを作成していた
- バージョン 1.4.184 以降で、結合とワイルドカードを含むクエリが壊れてしまうバグ。例) select * from dual join(select x from dual) on 1=1
- 1.4.184
sql> select * from dual join(select x from dual) on 1=1; Error: org.h2.jdbc.JdbcSQLException: 一般エラー: "java.lang.RuntimeException: Unexpected code path" General error: "java.lang.RuntimeException: Unexpected code path" [50000-184]
-
- 1.4.186
sql> select * from dual join(select x from dual) on 1=1; X | X 1 | 1 (1 row, 41 ms)
-
- すごいなこれ。
- Issue 598: 範囲外の値を生成しないために、パーサが timestamp "24:00:00.1234" のような値で失敗するようになった
- トリガーも関数同様にソースコードで定義できるようになった
- GROUP BYしているときに、すべてのGROUP BYカラムがSELECT文中に記載されていない場合にもプランナにソートにインデックスを使うようにした
- んー...
- 原文:"Make the planner use indexes for sorting when doing a GROUP BY where all of the GROUP BY columns are not mentioned in the select. Patch by Frederico (zepfred)."
- PostgreSQL互換性: generate_series(system_rangeテーブルへのエイリアス)
- しかし、system_rangeテーブルがgenerate_seriesよりも機能が足りてなかった(STEP指定ができなかった)ので、そこも追加になっています。
- IN条件の中で、右側のパラメータのカラムの型が抜け落ちてしまう不具合の対応