Tsurugi 1.0.0(GA版)をリリースしました。

概要

Tsurugi 1.0.0 は、劔"Tsurugi"初の正式バージョン(GA版)のリリースとなります。

本バージョンでは前バージョンと同様に多くのSQL機能に追加対応した他、データベース起動中のトランザクションログ圧縮機能の試験的サポートや、トランザクションログに関する重要な不具合解消などの対応が含まれています。

機能追加と改善

  • SQL

    • LIMIT 句に正式対応
      • ORDER BY 句との組み合わせ時にのみ利用可能であった制約を解消、および一部の仕様外動作を解消
    • Identity列 (GENERATED ... AS IDENTITY) に対応
      • 自動的に一意の値を生成するIdentity列の定義が可能
      • 内部的に作成するシーケンスが生成した値を利用します
    • セット演算子 に対応
      • UNION ALL
      • UNION DISTINCT
      • EXCEPT DISTINCT
      • INTERSECT DISTINCT
    • CASE 式に対応
      • CASE 式を利用して条件に応じた値を返すことが可能
    • NULLIF 関数 に対応
    • COALESCE 関数に対応
    • INSERT 文内の DEFAULT VALUES 句に対応
    • BINARY型、 VARBINARY型に対するダンプAPI、および tgdumpコマンド経由でのダンプ処理に対応
    • インデックスを利用した結合処理 (Index Join) に部分的に対応
      • 本バージョンの Index Join は一部の結合演算に対応していません。そのため未対応の結合演算が利用されるクエリー実行計画に対しては Index Join を利用しない結合処理 (Shuffle Join) に変更される制約があります。
  • Transaction

    • (試験的サポート) データベース起動中のトランザクションログ圧縮機能の提供
  • Endpoint

    • TCP接続時に大量のデータを返すクエリ実行時の性能改善
  • CLI

    • tgctl --help による tgctl コマンドのヘルプ情報表示に対応

SQL機能の詳細については[Available SQL features in Tsurugi]を参照してください。

バグ修正

  • SQL

    • JOIN句内に結合キーの型が異なる結合条件が含まれると異常終了することがある
    • CHAR型VARCHAR に対して長さが短い型へキャストすると末尾に不正な値が残ることがある
    • octet_length 関数の引数にnull値を指定すると異常終了する
    • IN句の値リストや OR 演算子などに膨大な個数の演算要素を指定すると異常終了する
    • 16バイト以上の長さのデータを含む CHAR/ BINARY/ VARCHAR / VARBINARY の列に対して SELECT COUNT(DISTINCT <列名>) を実行すると結果が不正となることがある
    • 特定の条件を満たす OUTER JOIN を利用したクエリーに対して非効率な実行計画が選択されることがある
  • Transaction

  • Endpoint

    • tsurugifdw経由のクエリーが5秒経過すると不正にタイムアウトエラーとなりtsurugifdwが異常終了する

既知の問題

本バージョンに対する既知の問題、および本バージョンにて修正された問題の補足情報については、以下のリンクを参照してください。

その他

本バージョンにおける変更内容の一覧は、以下のChangelogを参照してください。
- Tsurugi 1.0.0 - Changelog

旧バージョンからのアップグレード手順については、以下のドキュメントを参照してくだいさい。
- Tsurugi Upgrade Guide