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

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

Version 1.3.173 (2013-07-28)

今回は、PgServer周りの修正が多かったです。PgServer経由で使っているところから、多数のパッチが寄せられたようです。あと、GEOMETRYデータタイプとspatial indexが追加になったのがさらっと書いてありますが、大きいのでは。これも、パッチの提供があったみたいです。(地味に、僕がレポートした不具合も修正されました)

  • コメントしか含んでいないような空のステートメントのサポート
  • Server mode: LOBの読み取り中にエラーがあった場合、いくつかのケースでセッションがクローズされていた
  • Issue 463: OsgiDataSourceFactory と JdbcDatabaseMetaDataでDriverの名前とバージョンが同じになった
  • JaQu: データタイプTEXTではなくVARCHARがStringの為に使われるようになった(明示的に指定された場合を除く)
  • インメモリデータベースでCLOBやBLOBに対するインデックスの作成がサポートされなくなった。おれはMVTableEngineの簡易化のため。
  • INFORMATION_SCHEMAに対する新しいカラムの追加: "information_schema.tables.row_count_estimate"
  • Issue 468: trunc(timestamp)が間違った値(12時間プラスされる)を返す事があった。また、trunc(number)でNullPointerExceptionがスローされる場合があった。
  • trunc(number)という表現でNullPointerExceptionをスローしていた
  • LOBを同時に更新する場合のデッドロックを修正。TestLob.testDeadlock2()を参照。
  • とても大きな結果セットに関連するデッドロックを修正。
  • "-list"オプションがシェルツールに追加。これは、ファイルから読み込むときに、結果セットをリストモードで表示するため。
  • Issue 474: MySQLの互換モードで、CREATE TABLE文中のCOMMENTを無視するのに失敗していた。
  • Issue 476: jaqu.htmlページ内でリンク切れ
  • org.h2.store.FileStore内でのUTF8エンコーディング関連の潜在的な問題の解消
  • 整合性がとれていなかった場合のエラーメッセージの改善
  • ユニーク制約に違反した場合のエラーメッセージの改善。問題となったキーをエラーメッセージ中に表示。
  • Issue 478: "SHOW TRANSACTION ISOLATION LEVEL"のサポート
  • Issue 475: pgServer: CancelRequestのサポート
  • Issue 473: pgServer で -key オプションが実装されていなかった
  • Issue 471: CREATE VIEWでユーザの権限をチェックしていなかった
  • Issue 477: PgServerのクエリパラメータのバイナリ転送が実装されていない
  • Issue 479: FROM句なしでのSUBSTRINGのサポート。
  • Issue 472: PgServerが最近のいくつかのPostgres JDBC driverで動作しない
  • 追加パラメータを自作のTableEngine実装に渡すための文法の追加。
  • Issue 480: Issue 475,477についてのバグフィックス
  • Issue 481: よりよいPG JDBCのサポートのための更なる拡張
  • 空間的データタイプGEOMETRYのサポート
  • インメモリの空間データタイプインデックスのサポート
  • 更新頻度が非常に高いデータベースのためにPageStore#changeCountフィールドをintからlongに変更
  • ビューに対する外部参照を追加しようとした場合のNullPointerExceptionを修正
  • WebSphere向けに、javax.sql.Connectionの実装でClientInfo取得をより効率的にした
  • Issue 482: class LobStorageBackend$LobInputStreamがInputStream.available()メソッドをオーバライドしていない
  • オプション"WRITE_DELAY=0"の時に、"SELECT DISTINCT"を使用して、メモリからあふれた場合に結果が壊れる点を修正
  • LOBを含むテーブルへの更新と、LOBの読み取りが同時に行われた場合の問題を修正。以前は、例外をスローしていたが、今は動作するようになった
  • Issue 484: H2 Console toolで、INFOで始まるすべてのスキーマが非表示になっていた。データベースがH2でない場合のみ、非表示にするようになった
    • どうなのかなこれ。
  • MySQL compatibility: CREATE TABLE文にて、"AUTO_INCREMENT=3"部のサポート
  • Issue 486: MySQL compatibility: CREATE TABLE文にて、"DEFAULT CHARSET"部のサポート
  • Issue 487: MySQLの"SET foreign_key_checks = 0"コマンドのサポート
  • Issue 490: MySQLの"USING BTREE"インデックス定義のサポート
  • Issue 485: create tableステートメントの中で定義された整合性制約のカラム名がリネームされるとデータベースが破損する
  • Issue 499: MySQLの"UNIQUE KEY (ID) USING BTREE"制約シンタックスのサポート
  • Issue 501: "CREATE TABLE .. WITH"がシリアライズされていなかった
  • JAVA_TOOL_OPTIONS環境変数をセットしていて、ALIASメソッドを実行時にコンパイルする場合の問題の回避