|
|
|
Caché ドキュメント
|
|
Caché 5.0.11 リリース・ノート
|
ポスト・リレーショナル・データベース Caché をご利用いただき、ありがとうございます。このドキュメントでは、
Caché 5.0.10 と
Caché 5.0.11 の違いを説明します。
ご利用になる前に、Caché 5.0 リリース・ノート (Caché インストール・ディレクトリの Docs/GCRN/GCRN.html ファイルにある) を参照してください。以前の 5.0 メンテナンス・キットに関する詳細は、このファイルと同じディレクトリにある prenotes.htm を参照してください。
このドキュメントには、以下のセクションが含まれています。
Caché の最新ニュース、アラート、アドバイザリ
インターシステムズは、当社のソフトウェアをお使いのユーザに対し、早急に必要となる重要な情報を随時発表しています。この中には、警告、不可避の問題点、重要な更新、修正、Caché のリリースなどがあります。
最新のリストは、インターシステムズの Web サイト から取得できます。
ユーザはこのリストを定期的にチェックし、お使いのアプリケーションの処理に関連する問題がある場合、その最新情報を確認してください。
オンライン・ドキュメント
インターシステムズは、ユーザの利便性を考慮し、当社
Web サイト で最新バージョンの Caché ドキュメントにオンライン・アクセスできます。
当社ホームページで [Caché] タブをクリックし、[製品情報] メニューの [技術資料とカタログ] を選択してください。あるいはこのリンクをたどってください。
今回の変更による影響をお使いのアプリケーションで認識するため、各変更の解説では、修正点を詳細に説明しています。
すべての変更に対し、問題発生の可能性、変更による影響、実運用しているシステムで製品が問題なく動作しているかなど、関連情報を示した表があります。表では 1 つまたは 2 つのキーワードと値のみ使用し、情報を簡単に認識できるようにしています。キーワードの意味は、以下の通りです。
- 可能性 - 該当するプラットフォームのユーザにこの問題が生じる可能性
- 危険性 - この変更がアプリケーション環境に新たな問題を誘発する可能性
- パッチ - この変更が以前にパッチとして配布され、実運用しているシステムで問題なく動作しているかどうかの有無
- 拡張性 - この変更が新機能や拡張機能を提供するかの有無
- 構成マネージャ
- CSP
- CSP : ゲートウェイ
- CSP : タグ
- インストール : ウィンドウ
- ネットワーキング
- オブジェクト
- オブジェクト : CDL
- オブジェクト : クラス・コンパイラ
- オブジェクト : ライブラリ
- オブジェクト : ストレージ : 既定
- オブジェクト : ストレージ : SQL
- オブジェクト : ストリーム
- SQL : ゲートウェイ
- SQL : ODBC
- SQL : クエリ処理
- システム
- システム : バックアップ/リストア
- システム : スタートアップ
- ユーティリティ
カテゴリ : 構成マネージャ
プラットフォーム : すべて
DevKey : CFL993
要約 : 構成マネージャに Hyperevent Implementation を追加
説明 :
新しい CSP パラメータとして、Hyperevent Implementation が追加されました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : 構成マネージャ
プラットフォーム : すべて
DevKey : CFL999
要約 : アップグレード時に、以前の CSP アプリケーションから Hyperevent パラメータを変換
説明 :
"Select on server" と同等の Hyperevent Implementation パラメータで、新しい CSP アプリケーションが作成されます。アップグレード時に、Hyperevent Implementation パラメータのない既存の CSP アプリケーションから、"Use Java applet" という値のアプリケーションが作成されます。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : CSP
プラットフォーム : すべて
DevKey : MXT525
要約 : ハイパーイベントには、Java ではなく XMLHttpRequest のブラウザ・オブジェクトを使用
説明 :
今回の変更により、#server を実装するために、XMLHttpRequest Javascript オブジェクトをオプションで使用できるようになりました。#server の実装に実際に使用されるメソッドは、"Hyperevent Implementation" と呼ばれる CSP アプリケーションの新しい構成マネージャ パラメータによって決まります。"Hyperevent Implementation" には、以下の 4 つの値があり、それによって #server の実装方法が決まります。
- Use Java applet for #server
- Use XMLHttpRequest Javascript object for #server
- Select implementation using browser Javascript
- Select implemetation using HTTP_USER_AGENT on server
用語の意味は以下の通りです。
- "Select on server" とは、#server を使用する CSP ページに、XMLHttpRequest オブジェクトを使用するため、アプレット・タグと JavaScript のどちらかが含まれるということです。どちらになるかは、サーバの HTTP_USER_AGENT CGI 変数によって決まります。この "Select on server" というオプションが既定値です。
- "Use Java applet" とは、#server を使用する CSP ページに、アプレット・タグが常に設定され、それによって CSP Java broker アプレットが特定されるということです。#server では、このアプレットを常に使用します。
- "Use XMLHttpRequest object" とは、#server を使用する CSP ページに、#server を実装するため、XMLHttpRequest オブジェクトを使用する JavaScript が常に含まれるということです。
- "Select in browser" とは、#server を使用する CSP ページに、XMLHttpRequest を使用するため、アプレット・タグと JavaScript の両方が含まれるということです。使用されるメソッドは、ブラウザでの JavaScript コードに対する XMLHttpRequest オブジェクトの可用性に基づいて選択されます。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
あり |
カテゴリ : CSP
プラットフォーム : すべて
DevKey : MXT635
要約 : 3.2 互換モードの &html では、<%...%> 内の < と > は無視
説明 :
&html 3.2 互換モードでは、CSP は <%...%> 内の < または > を無視します。これは、以下のような構文に対する処理のことです。
&html< <% w "first->last" %> >
これは、Caché 3.2 の WebLink アプリケーションで発生します。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : CSP : ゲートウェイ
プラットフォーム : すべて
DevKey : CMT118
要約 : フェイルオーバ/再起動後に行われるセッション・トークンのフィールドの妥当性検証が向上
説明 :
今回の変更により、フェイルオーバ (または Web サーバ/NSD の再起動) 後に行われるセッション・トークンのフィールドの妥当性検証が向上しました。
以前は、Web サーバ/NSD の再起動後に、不正確な (または予期しない) Caché サーバに、要求が送信される場合がありました。この問題により、仮想ホスト構成における要求が、不正確な (または予期しない) Caché サーバに送信されることもありました。'予期しない' Caché サーバとは、メイン (既定) のサーバに替わるものとして構成された Caché サーバのことです。
Web サーバ/NSD スタートアップで、ゲートウェイのサーバやアプリケーションの構成を編集すると、このような性質を持った障害が発生しやすくなります。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : CSP : ゲートウェイ
プラットフォーム : すべて
DevKey : CMT192
要約 : フォーム・データを送信する際、データが 8K 超の場合、フォームの最後に CSP* 変数 (CSPTokenなど) が配置されていた障害を修正
説明 :
フォーム・データを送信する際、データが 8K 超の場合、フォームの最後に CSP* 変数 (CSPTokenなど) が配置されていましたが、今回の変更により、この問題が修正されました。この障害は、フォームの提出時に妥当性検証チェックが失敗する ('不正な CSP 要求' エラー) という形で現れていました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : CSP : ゲートウェイ
プラットフォーム : すべて
DevKey : CMT193
要約 : SOAP ベースの要求への応答として送信されるゲートウェイ・エラー・メッセージが、(HTML に対して) SOAP フォールト・メッセージの形式にされるようにする
説明 :
今回の変更により、SOAP ベースの要求への応答として送信されるゲートウェイ・エラー・メッセージが、確実に (HTML に対して) SOAP フォールト・メッセージの形式にされるようになりました。
例えば、SOAP 要求に応えるためにゲートウェイが Caché サーバに接続できない場合、以下の SOAP フォールト・メッセージが返されます。
HTTP/1.1 200 OK
Content-type: text/xml
Connection: close
Expires: Thu, 29 Oct 1998 17:04:19 GMT
Cache-Control: no-cache
Pragma: no-cache
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:s='http://www.w3.org/2001/XMLSchema'
SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>CSP Gateway Error (version:5.1.0.423.0 build:663.775)</faultstring>
<detail>
<error xmlns='http://tempuri.org' >
<special>
Server Availability Error
</special>
<text>
Server is currently unavailable
</text>
</error>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
この機能が有効となるのは、ゲートウェイが着信 HTTP 要求を、SOAP ベースの情報要求として特定できる場合だけであることに留意してください。SOAP ベースの応答に対する要求が HTTP GET メソッドで実行された場合、この機能が無効となることもあります。ただし、SOAP ベースのサービスに対する要求は、HTTP POST (またはそれに関連する) メソッドで実行することをお勧めします。HTTP POST メソッドを使用した場合、ゲートウェイは関係するコンテンツ・タイプによって、SOAP ベースの要求を特定できます。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : CSP : タグ
プラットフォーム : すべて
DevKey : MXT543
要約 : HyperEvent のメッセージで、引数が長すぎる場合には引数を表示しない
説明 :
HyperEvent メソッドの引数の長さが 32000 文字を超えると、メッセージが表示されます。今回の変更により、エラー・メッセージの明快さを損なわないようにするため、引数が表示されなくなりました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : インストール : ウィンドウ
プラットフォーム : すべて
DevKey : TTS082
要約 : パケット・ドライバは、複数の NIC をバインドしない
説明 :
今回の変更により、Windows 2000/XP および 2003 Server のパケット・ドライバが、バインドしていたネットワーク・カードの一部を適正に報告しないという状況が修正されました。
| 可能性 |
高 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : ネットワーキング
プラットフォーム : すべて
DevKey : GK323
要約 : ECP から応答がないとき、$ORDER がグローバル・ベクタをリストア
説明 :
$ORDER が ECP からの回答を見つけられないとき、グローバル・ベクタの注釈のない参照が無効となる場合がありました。これによって、後続の $ZREFERENCE が失敗し、ワイド文字エラーが発生していました。
今回の変更により、この問題が発生しないよう修正されています。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : ネットワーキング
プラットフォーム : Windows
DevKey : TTS083
要約 : SMP システムのパケット・ドライバが原因となって発生した Windows の致命的エラーを修正
説明 :
今回の変更が行われる前は、3 つ以上のプロセッサを搭載したシステムで Caché パケット・ドライバを呼び出すと、Windows の致命的エラーが発生していました。この問題が発生しないよう修正されています。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : オブジェクト
プラットフォーム : すべて
DevKey : DLP1220
要約 : %ID のインデックス失敗
説明 :
%ID トークンの関わるインデックスを定義しようとすると失敗するという障害が発生していましたが、今回の変更によって修正されました。
| 可能性 |
低 |
| 危険性 |
中 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : オブジェクト : CDL
プラットフォーム : すべて
DevKey : DLP1128
要約 : CDL の最大ルーチン・サイズが 32k に変更
説明 :
最大ルーチン・サイズが、40k から 32k に変更されました。これにより、OBJ ルーチンは小さくなり、ソース・ファイルが大きい場合には、生成されるルーチンの数が増えます。ソース・コードが 32k 超のメソッドでファイルを読み込むために、この調整が必要でした。
| 可能性 |
低 |
| 危険性 |
中 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : オブジェクト : クラス・コンパイラ
プラットフォーム : すべて
DevKey : DLP1127
要約 : CompileRoutine^%occSystem において、エラーが適正に報告されないというバグが修正
説明 :
これにより、エラーを表示するコンパイラ・フラグが設定された場合にのみ、コンパイルのステータス・コードが報告される、という不具合が修正されました。これで、ステータス・コードが常に返されるようになりました。
| 可能性 |
低 |
| 危険性 |
中 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : オブジェクト : クラス・コンパイラ
プラットフォーム : すべて
DevKey : MAK1071
要約 : クラスのコンパイル中に、ジェネレータのメソッドから変数が漏れないようにする
説明 :
ユーザがジェネレータのメソッドを記述した場合、コンパイラは、このジェネレータの中に作成した変数をパーティションにしないようにすることはできませんでした。ジェネレータを実行する前にまったく新しい機能を実行して、クラスにこのような事態を発生させないようになりました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : オブジェクト : ライブラリ
プラットフォーム : すべて
DevKey : MAK1149
要約 : 既定以外のディレクトリの場合、ファイル・ストリームの MoveToEnd は動作しない
説明 :
既存のファイル・ストリームを開き、それが現在の既定ディレクトリ (このネームスペースについて、CACHE.DAT ファイルが含まれているディレクトリ) 以外のディレクトリに格納されていた場合、MoveToEnd メソッドは正常に動作しませんでした。今回の変更により、この不具合が修正されました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : オブジェクト : ストレージ : 既定
プラットフォーム : すべて
DevKey : DLP1198
要約 : ストレージの既定グローバル名が重複生成される可能性が低下
説明 :
既定のストレージ・クラスによって使用される、既定のグローバル名ジェネレータが改善されました。
メモ : 既定のグローバル名ジェネレータにより、グローバル名が重複生成される回数は減りますが、それでも常に一意であることが保証されるわけではありません。使用されるグローバル名 (IDLOCATION、DATALOCATION、INDEXLOCATION、STREAMLOCATION) を一意にすることが、ユーザの役割であることに変わりはありません。
| 可能性 |
低 |
| 危険性 |
中 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : オブジェクト : ストレージ : SQL
プラットフォーム : すべて
DevKey : DLP1207
要約 : ストリームの LOCATION 値内で、引用文字や下付き文字の使用が可能
説明 :
今回の変更により、クラス・コンパイラの問題が修正されました。ストリーム・プロパティの最初の式を構築する際に、引用文字を含む値は正常に処理されていませんでした。この問題は、修正されています。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : オブジェクト : ストリーム
プラットフォーム : すべて
DevKey : MAK1033
要約 : ストリーム/文字列が大きすぎる場合、FindAt は動作しない
説明 :
今回の変更により、%Stream.Object における FindAt メソッドの障害が修正されました。このメソッドを実行しても、20,000 バイトのデータを複数読み込んだときに、正しい位置を計算するわけではありません。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : オブジェクト : ストリーム
プラットフォーム : すべて
DevKey : MAK815
要約 : ファイル・ストリームの一時的な場所へのリダイレクト
説明 :
グローバル ^%SYS("TempDir") を定義した場合、これがストリーム・データの一時的な場所として使用されるようになりました。
これを定義しない場合、Caché では "" がディレクトリとして使用されます。これにより、ストリーム・データは現在のディレクトリに入れられます。このディレクトリは通常、CACHE.DAT ファイルが格納されている場所です。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : SQL : ゲートウェイ
プラットフォーム : すべて
DevKey : MIT339
要約 : %SQLGateway が停止した場合、アクティブな接続が切断
説明 :
今回の変更により、%GTWConnection という新しいクラスが導入されました。ゲートウェイが終了された場合、その %OnClose メソッドによってアクティブな接続が切断されます。
| 可能性 |
低 |
| 危険性 |
中 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : SQL : ODBC
プラットフォーム : すべて
DevKey : AND513
要約 : メッセージ・シーケンス・エラー/スレッドセーフに関する問題の修正
説明 :
Caché ODBC ドライバは、かなりの時間、外部的にスレッドセーフとなっていました。例えば、同じステートメント・オブジェクトに対して、2 つのスレッドが同時に動作している場合、Caché ODBC ドライバによって、衝突の発生しないことが保証されます。
今回の変更により、"メッセージ・シーケンス・エラー" になるようなスレッド関連の問題の発生したインスタンスが、内部的に修正されました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : SQL : ODBC
プラットフォーム : すべて
DevKey : AND518
要約 : try/catch ブロックの追加により、クラッシュが発生した場合に、重要なセクションの終了を支援
説明 :
ODBC が異常終了し、アプリケーションによるエラー復旧アクションが、オペレーティング・システムによる既定アクションに取って代わった場合のエラー処理が、今回の変更によって改善されました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : SQL : ODBC
プラットフォーム : すべて
DevKey : DPV2196
要約 : スキーマ名とユーザ名が等しい場合、SQL クエリは失敗
説明 :
ODBC/JDBC で、障害が修正されました。クエリが最初に準備されたとき
- その文に、キャッシュされたクエリが存在する
- ユーザに、その文に対する権限がある
この 2 つが当てはまる場合、いくつかの条件の下では、<UNKNOWN ERR> がクライアントに戻されます。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : SQL : ODBC
プラットフォーム : すべて
DevKey : MIT235
要約 : 10 進リテラルの事前解析は不正確
説明 :
以下に示す例のように、SELECT 文の最初の列に 10 進リテラルが置かれている場合があります。
SELECT 0.1, F1 FROM TESTCASE1234
従来はパラメータの置き換えが行われませんでしたが、今回の変更により、この問題が修正されました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : SQL : クエリ処理
プラットフォーム : すべて
DevKey : AK574
要約 : "次の" ループの前に padcode を設定
説明 :
CacheSqlStorage の一部の "汎用マッピング" 機能を使用したとき、OUTER JOIN によって、コンパイル時に SELECT 文に <UNDEFINED> エラーが発生しましたが、今回の変更によって修正されました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : SQL : クエリ処理
プラットフォーム : すべて
DevKey : AK582
要約 : ストリームのない式による最適化を実行
説明 :
今回の変更では、クエリの開始時点に一度しか評価しないことにより、SELECT および他のいくつかの位置における、ストリームのない (サブ) 式 (フィールドのない式) が最適化されました。
| 可能性 |
低 |
| 危険性 |
中 |
| パッチ |
なし |
| 拡張性 |
あり |
カテゴリ : SQL : クエリ処理
プラットフォーム : すべて
DevKey : AK597
要約 : 単項の "pushlog" クローニングを修正 (ストリームなし)
説明 :
最適化に際して、一部のクエリ条件が "押し下げられ"、GROUP BY 節のあるビューを評価する際に適用されるというエラーが発生していましたが、今回の変更によって修正されました。このエラーが発生していたのは、単項演算子または {d ...} という日付表現がその条件に含まれていた場合です。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : SQL : クエリ処理
プラットフォーム : すべて
DevKey : AK598
要約 : ストリームのない多数の式による 'opex' の修正
説明 :
以下の 2 つが当てはまる場合、処理が不正確になったり、実行時に <UNDEFINED> エラーが発生したりする場合がありましたが、今回の変更によって修正されました。
- 多数 (250 を超える) の式がある
- この式を、クエリの開始時点で評価する必要がある
この例は、250 を超える定数で照合されたフィールドに対する IN 条件です。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : SQL : クエリ処理
プラットフォーム : すべて
DevKey : DPV2192
要約 : <ILLEGAL VALUE> の場合、SQL Datediff はクラッシュ
説明 :
Caché SQL は、DATEADD 関数と DATEDIFF 関数で、"ms" すなわち "ミリ秒" という datepart をサポートするようになりました。
ODBC スカラ関数で SQL_TSI_FRAC_SECOND もサポートするようになりました。
- {fn TIMESTAMPADD()}
- {fn TIMESTAMPDIFF()}
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : SQL : クエリ処理
プラットフォーム : すべて
DevKey : DPV2200
要約 : 列 < 負の数の場合、クエリは不正な結果を返す
説明 :
以下の場合に、クエリが誤った結果を返す問題が発生していましたが、今回の変更で修正されました。
- WHERE 節による条件があり、そこで選択している属性値が、負の数より小さい (例、f < -5)
- その列にインデックスがある
- その列で、いくつかの行が NULL である
| 可能性 |
低 |
| 危険性 |
中 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : SQL : クエリ処理
プラットフォーム : すべて
DevKey : DPV2228
要約 : NULL 値に対して、適正なスペース照合をサポート
説明 :
NULL との比較で SPACE 照合を使用するフィールド値が、正しい結果を返さないというエラーが修正されました。例えば、以下のようなクエリがあります。
SELECT count(*) FROM SQLUser.MyTable WHERE MyField IS NULL
ここで、MyField の照合が SPACE の場合、このクエリによって返される結果は不正確でした。
| 可能性 |
低 |
| 危険性 |
中 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : SQL : クエリ処理
プラットフォーム : すべて
DevKey : PVA050
要約 : 1 つのフィールドに基づく行 ID が使用され、フィールド自体は均等に最適化
説明 :
今回の変更により、新しい機能が追加されました。以前は、<viewcolumn>->x という構文は使用できませんでした。現在では、ビュー列が、矢印構文をサポートする基本テーブル列にマップする場合、このビュー列もこの構文をサポートするようになりました。ただし、親テーブルから子テーブルを参照する矢印構文は、ビューではまだサポートされていません。子テーブルの擬似列をビューで '選択' するかどうかを指定する方法がないためです。さらに、この新機能は、SELECT DISTINCT で定義したビュー、集約ビュー、または UNION ビューでは動作しません。
別の新機能として、%ID、%CLASSNAME、%TABLENAME という特殊な列があり、これが矢印構文で動作するようになりました。したがって、ref->%CLASSNAME によって、参照先のクラス名が返されます。
互換性に関するメモ :
今回の変更により、ビューやサブクエリを使用したクエリにおける列修飾に関連する多くの問題が解決されました。こうした問題の回避に、現在以上の修飾が必要とされていましたが、これは今後不要になります。
以前は、あるテーブルに X という参照と X という子テーブルがあった場合、X->col が機能するのは、参照先テーブルと子テーブルの両方とも、'col' という列を含んでいないことが条件でした。今回の変更により、X->col は、"X->" の解決方法が 2 つあった場合、矢印に何が続くかに関係なく、常にあいまいエラーを取得するようになります。
X という通常列と X という子テーブルがあった場合、"X->whatever" が受け入れられるという動作には変更ありません。"X->" の意味にはあいまいさがないためであり、X という通常列は参照できません。
この状況はあまり発生しないものと考えられます。発生した場合、以下のいずれかの方法で解決できます。
- テーブルの 1 つの名前を明示的に変更して、衝突を回避する
- Caché の "矢印" 構文でなく、SQL の "JOIN" 構文を使用する
(他の SQL 実装や規格と対照的な) 別の上位非互換性として、Caché では、FROM 節に名前の同じ項目が 2 つあることが認められていました。その場合、1 つは相関名、もう 1 つはテーブル名であることが条件でした。例えば、FROM T1 AS A, A は許可されていました。これが、今後はエラーになります。
| 可能性 |
中 |
| 危険性 |
中 |
| パッチ |
あり |
| 拡張性 |
あり |
カテゴリ : システム
プラットフォーム : すべて
DevKey : HYY948
要約 : $SORTEND から生成される <STRINGSTACK> の修正
説明 :
ソートする SET が多数 (数十万、場合によっては数百万以上) ある場合に、$SORTEND によって <STRINGSTACK> エラーが生成されるという障害が解決されました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : システム
プラットフォーム : すべて
DevKey : HYY954
要約 : $SORTEND について、<ACCVIO> または <SYSTEM> と生成するという障害を修正
説明 :
状況によって、$SORTEND によってアクセス違反や <SYSTEM> エラーが生成されていました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : システム
プラットフォーム : OpenVMS
DevKey : JO1811
要約 : コードの調整により、OpenVMS コンパイラ・バグを回避
説明 :
2GB を超えるグローバル・バッファが割り当てられているとき、8KB のデータベースで、あるブロック分割処理を行うと、OpenVMS に対するアクセス違反が発生するという障害が解決されました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : システム
プラットフォーム : OpenVMS
DevKey : JO1823
要約 : OpenVMS メールボックス・コードの調整により、データの破壊を回避
説明 :
VMS システムの内部メールボックス・コードにおける小さな障害が修正されました。この障害により、一部の稀な状況下で、特に TCP/IP デバイスからの読み込み時に、Caché の内部文字列スタックで、データの破壊が返される可能性がありました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : システム
プラットフォーム : すべて
DevKey : SML473
要約 : ECP マウント解除処理の改善
説明 :
必要なグローバル・ディレクトリ・ブロックの数を 1 つずつ減らすために、十分な数の KILL を実行した場合に、ディレクトリ・ブロックの統合によって、マウント解除中に <DATABASE> エラーが発生する場合があります。
他のものに比べて ECP は、この稀な障害を引き起こす可能性が高いと考えられますが、ECP なしでも発生する可能性はあります。
今回の変更により、この可能性は修正されています。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : システム : バックアップ/リストア
プラットフォーム : すべて
DevKey : HYY959
要約 : ZJRNFILT を使用する場合にソートを消去
説明 :
ジャーナル・リストアに関して、宛先のデータベースに SET が適用されない可能性がある場合にジャーナル・フィルタを使用するという状況が、今回の変更によって解決されました。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : システム : バックアップ/リストア
プラットフォーム : すべて
DevKey : JO1816
要約 : write デーモンがまだビジーの場合に、Quiescence コードを変更して待機時間を延長
説明 :
Caché バックアップなど、静止するまでシステムが待つ場面における待機時間が延長されました。タイムアウト期間が経過した後、write デーモンを別として、システムが静寂な状態にある場合、write デーモンが現在のパスを終了するまで待機するためのタイムアウトが 2 分まで延びました。
以前は、write デーモンが許容されているタイムアウト以上の時間を日常的に要するシステムでは、バックアップが成功する可能性はありませんでした。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : システム : スタートアップ
プラットフォーム : すべて
DevKey : TTS081
要約 : Windows 2000 SP4 のスタートアップ所要時間が長いという障害を修正
説明 :
以下の場合に、Windows のスタートアップに時間がかかるという状況が、今回の変更によって修正されました。
- Caché 構成が、システムでサービスを自動起動するようにマークされている
- (TTS031 より後の) 最新のパケット・ドライバがインストールされている
| 可能性 |
高 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
カテゴリ : ユーティリティ
プラットフォーム : すべて
DevKey : GK291
要約 : ECP で %GCMP を修正
説明 :
ECP では ^%GCMP が動作しませんでした。これはレガシー・ネット接続 ID を探していました。
NET(1,"ACTIVE","CPNU",<connection name>)
しかし、これは設定されていませんでした。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
なし |
| 拡張性 |
なし |
カテゴリ : ユーティリティ
プラットフォーム : すべて
DevKey : PWC796
要約 : GBLOCKCOPY は ISM 6.2 以前の照合グローバルで final $C(1) を適切に処理しない
説明 :
今回の変更により、特定のデータ・パターン (最後に $C(1) が付いているグローバル・ノードの最後の添え字) を持つ ISM 6.2 以前の照合グローバルが原因で発生する問題を修正しています。レポートされている現象としては、GBLOCKCOPY 使用時に適切なノードへの変換の失敗があります。
| 可能性 |
低 |
| 危険性 |
低 |
| パッチ |
あり |
| 拡張性 |
なし |
ドキュメントの更新
Caché ドキュメントの内容は、編集上の改良、既存の内容の更新、新しい情報の追加など、リリースに従い改訂されています。以下は、以前のリリースから Caché ドキュメントに追加された重要な変更の概要です。
- 高可用性ガイド
- 従来の内容を再構成し、"クラスタ・ジャーナリング" という章を追加しました。ここでは、クラスタのリストア、リカバリ、シャドウイングについて説明しています。
- 大量の記述を GHA ECP の章から削除し、その内容を分散データ管理ガイドに移行することによって、ECP の記述内容を再構成しました。また、保証と制限事項についての付録を追加しました。
- サポート対象プラットフォームと Windows インストール
- Caché ObjectScript リファレンス
- $ZDATETIME と $ZDATETIMEH に時刻フォーマットの 5、6、7、8 を追加しました。
- ローカル時刻バリアント (サマータイムなど) と時刻/日付変換について、特殊変数 $ZTIMESTAMP の記述を書き直しました。
- 特殊変数 $JOB にクラス情報セクションを追加しました。
- Caché SQL リファレンス
- CREATE TRIGGER、DROP TRIGGER、トリガ動作の各ページについて、書き直しと詳述を加えました。
- UNION ページについて、書き直しと詳述を加えました。
- 識別子のページを書き直し、文字と長さに関する制約事項を更新しました。
- CREATE TABLE (テーブル名とフィールド名)、CREATE VIEW、CREATE INDEX、CREATE TRIGGER に、命名規則/名前変換のセクションを追加しました。
- SELECT で、AS 節の値の命名規則を指定しました。
- GRANT コマンドに機能を追加しました。
- * オプションの使用に関して、SELECT にメモを追加しました。
- UPDATE コマンド、Symbols テーブル、SQLCODE エラー・コード・リストについての記述を増やしました。
- CREATE TABLE と CREATE VIEW で、スキーマ名、パッケージ名、および構成マネージャのスキーマ既定値について記述しました。
- テーブル・ページを全面的に書き直し、名前もテーブル・リファレンスに変更し、構文と説明を追加しました。
- HAVING 節と WHERE 節の違いを示す例をわかりやすくしました。
- Caché クラス・リファレンス
- EXTENTQUERYSIZE と EXTENTSIZE についての記述を修正しました。
- 構成の変更
- Documentation Home Page で表示するドキュメントの順序を変更し、各グループでのドキュメントの順序も変更しました。以前は、ドキュメントはアルファベット順にソートされていました。今回の変更で、重要度の高いトピックから順に表示されるようになりました。
- 内容がわかりやすいように、短い記事セクションのタイトルを、"Caché Knowledge Base" から "Technical Articles" に変更しました。
- ページ・ヘッダを "Caché Online Documentation" から "InterSystems Online Documentation" に変更しました。
- "Documentation List" という新しいホームページを追加しました。ここでは、すべてのドキュメントとすべての技術記事のタイトルを、アルファベット順にソートして一覧表示しています。
その他に、例の追加、文法や誤字脱字の修正や改善といった小規模な改訂も行っています。