Repository navigation
Tsurugi 1.10.0 - Release Notes (ja) #216
akirakw
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
1.10.0 リリースノート
概要
Tsurugi 1.10.0 では、SQL関連の機能追加として、スカラーサブクエリー、
EXISTS演算子、IN句内でのサブクエリーに対応しました。これらの機能により、実用的なアプリケーション開発で求められる様々なクエリーをより幅広く記述できるようになります。
SQL機能追加ではこのほか、
VALUES句(テーブル構築式)の拡張、およびFROM句を省略したSELECT文に対応しました。これらの機能により、テーブルに依存しないデータを手軽に扱えるようになります。
また本バージョンではクライアントライブラリの拡充として、Python の標準的なデータベース接続 API である Python DB-API 2.0 (PEP 249) に対応した Tsurugi Python DB-API を公開しました。
Tsurugi Python DB-API を利用することによって、Python の豊富なデータ分析・処理エコシステムとの連携が容易になります。
標準的なデータベースの操作に加え、Tsurugi独自のトランザクションオプションにも対応しており、様々なTsurugi固有の機能も活用できます。
その他、本バージョンではいくつかの重要な不具合修正や安定性の向上を行っています。
前バージョンを利用するすべてのユーザーは本バージョンへのアップグレードを強く推奨します。
機能追加と改善
機能追加と改善 - SQL
SELECT句やWHERE句など、単一の値(スカラー値)を記述できる場所であればどこでもサブクエリーを記述できるようになります。EXISTS演算子に対応EXISTS演算子は、サブクエリーの結果が1件以上存在するかどうかを判定するための演算子です。WHERE句などでサブクエリーの存在を条件として記述できるようになります。IN句内でのサブクエリーに対応IN句内でサブクエリーを記述できるように対応しました。これにより、IN句の条件としてサブクエリーの結果を利用できるようになります。INサブクエリーをOR演算子のオペランドとして利用できない、NOT INやALL演算子内で利用できないなどの制約があります。詳しくは 後述の NOTE に記載するドキュメントを参照してください。VALUES句(テーブル構築式)の拡張VALUES句はINSERT文の一部としてのみ利用可能でしたが、本バージョンでVALUES句を任意の場所でテーブル構築式として利用できるように対応しました。VALUES句は単一の値や複数列、複数行の値を「テーブル」として返すことができます。これにより、テーブルを指定せずに任意のテーブルデータを返したり、関数やUDFを呼び出すことができるようになります。FROM句を省略したSELECT文のほうが自然に扱えるかもしれません。FROM句を省略したSELECT文に対応SELECT文で必ずFROM句を記述する必要がありましたが、本バージョンではFROM句を省略したSELECT文をサポートしました。内部的には、FROM句が省略された場合は、1行0列のテーブルを生成するVALUES句を暗黙的に追加して実行されるようになっています。Note
SQL機能の詳細仕様や現時点での制約については、tsurugidbの以下のドキュメントを参照してください。
Note
本バージョンでは、サブクエリーから外部クエリーのカラムを参照する 相関サブクエリー には対応していません。
SELECT句で使用するスカラーサブクエリーやEXISTS演算子は相関サブクエリーとして利用するケースが多いのでご注意ください。相関サブクエリーは Tsurugi 1.11.0 での対応を計画しています。
機能追加と改善 - Client
機能追加と改善 - UDF
APPLY 演算子) の改善APPLY演算子を用いてユーザー定義表値関数を呼び出す際の、SQL実行時のスケジューリングの最適化を行いました。.desc.pb) が追加されており、これをデプロイする必要があります。詳細は以下のドキュメントを参照してください。udf-plugin-builderを用いてUDFプラグインを再生成してデプロイする必要があります。バグ修正
バグ修正 - SQL
GROUP BY句や集計関数などによって集約したカラムに対するBETWEEN演算子やIN演算子などが不正なエラーとなることがあるバグ修正 - Transaction
INSERTを行った場合に、特定条件下でSerializableの違反を検出できずにコミットが成功してしまうことがあるアップグレードについて
クライアント互換性リスト
Tsurugi 1.10.0 では 以下のクライアントに対応しています。
Tsurugi のアップグレードに併せて、必要に応じて各クライアントをアップグレードしてください。
Important
Tsurugi UDF については、
udf-plugin-builderを用いてUDFプラグインを再生成してデプロイする必要があります。アップグレード手順
旧バージョンからのアップグレード手順については、以下のドキュメントを参照してください。
その他
本バージョンにおける変更内容の一覧は、以下のChangelogを参照してください。
本バージョンに対する既知の問題、および本バージョンにて修正された問題の補足情報については、以下のリンクを参照してください。
All reactions