ルーチンのアップグレードに関する重要事項
アップグレードに関する重要事項として、ルーチンに影響を与える可能性のある、 アプリケーション開発サポートにおける変更点、新しい機能をサポートするための変更点、サポートされない機能、非推奨の機能について説明します。
データベース・アプリケーションのアップグレードに関する重要事項 で説明されている変更も、ルーチンに影響を与える可能性があります。
- 開発ソフトウェア・サポート
- 「 データベース・アプリケーションのアップグレードに関する重要事項 」の開発ソフトウェア・サポートに関する情報は、外部ストアード・プロシージャーおよびユーザー定義関数 (UDF) に適用されます。
- 暗黙的キャスト
- 関数呼び出しの後に、データベース・マネージャーは類似名関数のグループ内でどの関数が「最適」かを決める必要があります。 引数のデータ・タイプと、検討対象となる関数のパラメーターの定義済みデータ・タイプとの比較が、
この決定のための基礎を形成します。 型なしパラメーター・マーカーまたは型なし NULL 定数引数は、どのパラメーター・タイプでも最適なタイプとして受け入れます。
暗黙的キャストのサポートに対するこの変更は、 変更されたシステム組み込み関数およびこれらの引数を使用して作成された新しい関数を含む関数解決に影響を与えます。
- SQL ルーチンでは XML データの参照による受け渡しが行われる
SQL ルーチンで XML データを XML タイプの入出力パラメーターまたは XML タイプのローカル変数に割り当てた場合、XML データの参照による受け渡しが行われるようになりました。 以前のリリースでは、SQL プロシージャー内で、XML データの値による受け渡しが行われていました。 そのため、SQL プロシージャー内で XML データを使用する一部の操作は、以前のリリースでの同じ操作とは異なる結果を返すことがあります。
- unfenced 外部ルーチン
Linux® および UNIX オペレーティング・システム上の Db2® バージョン 11.1 へのデータベース・アップグレード中に、 Db2 エンジン・ライブラリー (libdb2e.a または libdb2apie.a) に依存しないすべての外部 unfenced ルーチンが FENCED および NOT THREADSAFE に変更され、新しいマルチスレッド・データベース・マネージャーの下でこれらのルーチンを安全に実行できるようになります。 新しいマルチスレッド・データベース・マネージャーで NOT FENCED および THREADSAFE として定義された、スレッド・セーフではない外部ルーチンを実行すると、不正確な結果、データベースの破壊、またはデータベース・マネージャーの異常終了を引き起こす可能性があります。 この変更を管理する方法について詳しくは、 C、C++、および COBOL ルーチンのアップグレード を参照してください。
- 31 ビット外部ルーチン (Linux on zSeries)
32 ビット外部ルーチンのアップグレードに関する考慮事項はすべて、 Linux on zSeries上の Db2 データベースで実行される 31 ビット外部ルーチンにも適用されます。
- Java™ 外部ルーチン
IBM® Software Developer 's Kit (SDK) for Java 1.4.2 は非推奨であり、将来のリリースで廃止される可能性があります。
Db2 バージョン 9.7 以降の場合、 JDBC ルーチンを実行するデフォルトの JDBC ドライバーは、 IBM Data Server Driver for JDBC and SQLJです。 この変更を管理する方法について詳しくは、 Java ルーチンのアップグレード を参照してください。