Caché ドキュメント
Caché 5.0.10 リリース・ノート


ポスト・リレーショナル・データベース Caché をご利用いただき、ありがとうございます。このドキュメントでは、Caché 5.0.9Caché 5.0.10 の違いを説明します。

ご利用になる前に、Caché 5.0 リリース・ノート (Caché インストール・ディレクトリの Docs/GCRN/GCRN.html ファイルにある) を参照してください。以前の 5.0 メンテナンス・キットに関する詳細は、このファイルと同じディレクトリにある prenotes.htm を参照してください。

このドキュメントには、以下のセクションが含まれています。
Caché の最新ニュース、アラート、アドバイザリ
インターシステムズは、当社のソフトウェアをお使いのユーザに対し、早急に必要となる重要な情報を随時発表しています。この中には、警告、不可避の問題点、重要な更新、修正、Caché のリリースなどがあります。

最新のリストは、インターシステムズの Web サイト から取得できます。

ユーザはこのリストを定期的にチェックし、お使いのアプリケーションの処理に関連する問題がある場合、その最新情報を確認してください。


オンライン・ドキュメント
インターシステムズは、ユーザの利便性を考慮し、当社 Web サイト で最新バージョンの Caché ドキュメントにオンライン・アクセスできます。

当社ホームページで [Caché] タブをクリックし、[製品情報] メニューの [技術資料とカタログ] を選択してください。


変更レポートの説明
今回の変更による影響をお使いのアプリケーションで認識するため、各変更の解説では、修正点を詳細に説明しています。
すべての変更に対し、問題発生の可能性、変更による影響、実運用しているシステムで製品が問題なく動作しているかなど、関連情報を示した表があります。表では 1 つまたは 2 つのキーワードと値のみ使用し、情報を簡単に認識できるようにしています。キーワードの意味は、以下の通りです。
今回のリリースで重要な変更

 



カテゴリ : ネットワーキング
プラットフォーム : すべて
DevKey : GK296
要約 : ECP リカバリ後、ジャーナルのオープン・トランザクション・インデックス計算に時間がかかる

説明 :

ECP はサーバの再起動やクラッシュ時も動作を継続でき、クライアント・アプリケーションはそれらにいっさい影響されません。スタートアップ時に ECP クライアントにオープン・トランザクションがある場合は、システムの再クラッシュに備えて、オープン・トランザクションのジャーナル・オフセットが ^%SYS("ECPDELAYTR") グローバルに保存されました。グローバルは、ECP リカバリの成功後も消去されることがありませんでした。

そのため、数時間または数日後にシステムが再起動されると (何らかの理由で)、前回記録されたジャーナル・オフセットからスキャンされることになり、ジャーナル・レコードが大量になる場合がありました。これが、次回のシステム再起動に時間がかかる原因となっていました。また、一部のジャーナル・ファイルが削除されている場合もあり、このジャーナル・ファイル損失が原因でロールバックできなくなります。

今回の変更により、情報が WIJ ファイルに保持されるようになりました。


可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : オブジェクト : XML
プラットフォーム : すべて
DevKey : JN140
要約 : システムまたはパブリック ID が指定されていない内部 DTD の保護

説明 :

以下のような XML ファイルがこの例に該当します。
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note [
 <!ELEMENT note (to, from, heading, body)>
 <!ELEMENT to (#PCDATA)>
 <!ELEMENT from (#PCDATA)>
 <!ELEMENT heading (#PCDATA)>
 <!ELEMENT body (#PCDATA)>
]>
<note>
 <to>Tova</to>
 <from>Bill</from>
 <heading>Reminder</heading>
 <body>Don't forget the party this weekend!</body>
</note>
DOCTYPE に SYSTEM または PUBLICID が指定されていない場合は、以下のエラーが表示される原因となります。
ERROR #6301: SAX XMLParser Error: Unknown Error.
今回の変更により、欠けている情報が挿入されるようになりました。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : SQL
プラットフォーム : すべて
DevKey : DPV1970
要約 : リンクされているテーブルに対するクエリがあるビューの作成の許可

説明 :

SQL ゲートウェイによってリンクされたテーブルに対してビューを作成しようとすると表示されたエラーが修正されました。今回の変更により、SQL でそのようなビューが作成可能になりました。これまでは、この操作を実行すると、テーブルにマスター・マップ定義がないというメッセージが表示されました。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : SQL
プラットフォーム : すべて
DevKey : DPV2047
要約 : 組み込みフィールドのみを保持するノードのファイリングの修正

説明 :

SQL を使用してシリアル・フィールドに値を挿入/更新すると、値がデータベースに正しく保存されない場合があるという欠点が修正されました。このエラーは、シリアル・フィールドが単独でグローバル・ノードに格納されている (同一ノードに他のフィールドがない) 場合に発生しました。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : SQL
プラットフォーム : すべて
DevKey : DPV2222
要約 :添え字定義にマッピングされたスペース照合フィールドのバインディングの修正

説明 :

これまでのバージョンの Caché では、" "_{FieldName} 形式の CacheSQLStorage 添え字式でスペース照合を使用するフィールドは、照合済みのフィールド値としてではなく式として扱われていました。これが原因で、SQLクエリ・オプティマイザでインデックスが使用されない傾向にありました。

今回のリリースで、この問題は修正されています。


可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : SQL : クエリ処理
プラットフォーム : すべて
DevKey : PVA056
要約 : INNER JOIN のように動作する OUTER JOIN の原因

説明 :

OUTER JOIN の動作が INNER JOIN のようになる問題が修正されました。この問題は、左結合の左側の結合列が IDKEY で、右側の結合列が EXACT 以外の照合を持つインデックス列である場合に発生しました。
メモ : この問題は修正され、正しい回答が返されるようになりましたが、このような状況はパフォーマンス悪化の原因になります。右側のテーブルの列の照合を EXACT に変更するか、または左側のテーブルでプライマリ・キーとして IDKEY を使用しないことをお勧めします。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : SQL マネージャ
プラットフォーム : すべて
DevKey : YSD683
要約 : SQL マネージャ : エクスポート/インポートで生成されたルーチンの削除

説明 :

今回の変更により、SQL マネージャのエクスポートおよびインポート・クラス・メソッドの問題が修正されました。%SQL.Export.Mgr.DeleteExportRoutine および SQL.Import.Mgr.DeleteImportRoutine では、生成されたルーチンを後で削除できませんでした。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム
プラットフォーム : OpenVMS
DevKey : JO1811
要約 : ラージ・バッファ・プール関連の ginsert で VMS コンパイラ・バグを回避するためのコード調整

説明 :

今回の変更により、8 KB データベースで特定のブロック分割操作を実行するときに、OpenVMS でアクセス侵害が生じる問題が解決されました。この問題は、2 GB を超えるグローバル・バッファが割り当てられている場合に発生しました。

可能性
危険性
パッチ あり
拡張性 なし

 



カテゴリ : システム
プラットフォーム : すべて
DevKey : SJ1434
要約 : $BITLOGIC(~x,len) で x が "" のときの問題の修正

説明 :

今回の変更により、length が指定されており引数が 1 つのみとなる $BITLOGIC(~x,len) で、空文字列が正しく否定されない $BITLOGIC のエラーが修正されました。

可能性
危険性
パッチ あり
拡張性 なし

 



カテゴリ : システム
プラットフォーム : すべて
DevKey : SJ1435
要約 : $BITLOGIC(x) と特定の x 値に関する問題の修正

説明 :

今回の変更により、特定の x 値の場合に生じる $BITLOGIC(X) の問題が修正されました。以下の条件に該当する場合に、間違ったエラーが報告されました。


可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム
プラットフォーム : すべて
DevKey : SJ1436
要約 : Unicode システムでの $BITLOGIC(u^v) の問題の修正

説明 :

今回の変更により、$BITLOGIC(u ^ v) (つまり、XOR 演算) から無効なビットストリングが生成されていた状況が修正されました。このエラーは、一方のオペランドが圧縮されており他方がされていない場合に、Unicode データベースで発生しました。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム
プラットフォーム : すべて
DevKey : SJ1474
要約 : 狭い幅と広い幅のビットストリングが混在する Unicode システムでの $BITLOGIC に関する問題の修正

説明 :

今回の変更により、ビットリストからビットマップへの変換が必要な状況で、& (AND) $BITLOGIC 演算子を使用すると、不正確な結果が生じるエラーが修正されました。これは、Unicode インストールにのみ該当します。

可能性
危険性
パッチ あり
拡張性 なし

 



カテゴリ : システム
プラットフォーム : すべて
DevKey : SML367
要約 : シャットダウン時に、リストア済みグローバルのジャーナル・ファイルへの記録を失敗する DCP デーモンのロールバック機能の修正

説明 :

DCP デーモンは、そのシャットダウン時に、リモート・クライアント・ジョブによってオープンされているすべてのトランザクションをロールバックします。ただし、リストアされたグローバルのジャーナル・ファイルへの記録に失敗するケースが時々ありました。これは、サーバの再起動時に、グローバルがロールバック前の値に戻される原因となっていました。

今回の変更により、この現象が修正されました。


可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : バックアップ/リストア
プラットフォーム : すべて
DevKey : HYY939
要約 : ジャーナル・リストアのソート・コードの修正

説明 :

今回の変更により、指定された最大サイズ (つまり、明示的にゼロよりも大きな値に設定されている最大サイズ) の CACHETEMP データベースに関連するジャーナル・リストアの問題が修正されました。一部の状況では、ジャーナル・リストア時に、<SUBSCRIPT> または <UNDEFINED> エラーが発生していました。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : クラスタ固有
プラットフォーム : すべて
DevKey : HYY863
要約 : クラスタ・フェイルオーバまたはリカバリ時のジャーナル・リストアに関する問題の修正

説明 :

今回の変更により、クラスタ・フェイルオーバ (ノードのクラッシュ後) またはスターアップ時のクラスタ・リカバリ (クラスタのクラッシュ後) に関する次の問題が修正されました。


可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : クラスタ固有
プラットフォーム :
DevKey : JO1797
要約 : Tru64 クラスタ・システムでの 60 秒間の休止の修正

説明 :

Tru64 クラスタ・システムで書き込みデーモン・サイクルに休止が生じていた問題が解決されました。書き込みデーモン・サイクルのこの段階で、グローバル・アップデートがロックアウトされるため、アプリケーションにはグローバル・モジュールが休止しているように見えました。

可能性
危険性
パッチ あり
拡張性 なし

 



カテゴリ : システム : クラスタ固有
プラットフォーム : すべて
DevKey : JO1801
要約 : スタートアップ失敗時の書き込みデーモンにおける無限ループの回避

説明 :

書き込みデーモンがクラスタ・スタートアップ時の処理を完了できない場合に、無限ループに入り込んでしまうというクラスタの問題が解決されました。

この問題は内部テスト時に検出され、実際の運用時には発生していませんでした。


可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : 入出力
プラットフォーム : すべて
DevKey : LRS780
要約 : JOB サーバでのファイル・ハンドルとメモリ・リークの修正

説明 :

JOB サーバでファイル・ハンドルとメモリ・リークの原因となる問題が修正されました。主に、Windows プラットフォームが該当します。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY738
要約 : ジャーナルの開始時に非ジャーナル・ファイルをスキップし、使用可能な次の名前を使用してジャーナリングを開始

説明 :

新しいジャーナル・ファイルの名前が有効なジャーナル・ファイル以外の既存ファイルによって使用されている場合は、ジャーナルの開始は失敗していました。変更された動作では、非ジャーナル・ファイルがスキップされ、使用可能な次の名前が新しいジャーナル・ファイルに対して使用されます。

また、警告メッセージが cconsole.log に記録されます。


可能性
危険性
パッチ あり
拡張性 なし

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY758
要約 : ジャーナリング・ステータスの変更の即時有効化

説明 :

以前のバージョンでは、グローバルに影響する一部の設定は、既存プロセスで即座に有効化されませんでした。これは、グローバル・ベクタが各プロセス内にローカルにキャッシュされているためです。

すべてのグローバルまたは選択したグローバルのどちらをジャーナリングするかを指定するシステム設定は、このカテゴリに該当します。

今回の変更により、ジャーナリングのシステム設定の変更を、既存プロセスであっても即座に有効化できるようになりました。


可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY779
要約 : ジャーナル・リストア処理のトランザクション・ロールバックにおけるデータベース・リダイレクションの使用

説明 :

今回の変更により、ジャーナル・リストア時に転送されたデータベースを含む未完了のトランザクションが適切にロールバックされなかった問題が修正されました。

この問題は、すべての Caché リリースで見られました。


可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY862
要約 : クラスタ・リカバリまたはクラスタ・フェイルオーバ時に、正しいファイル・カウントとファイル名を使用してジャーナリングを開始

説明 :

バージョン 5.0.5 での変更により、この問題が発生しました。

ジャーナリングが新しいファイルにスイッチ/ロールオーバーされた直後にクラスタ・システムがクラッシュすると、以降のクラスタ・リカバリまたはフェイルオーバ時に、オープン・トランザクションが適切にロールバックされない場合がありました。

今回の変更により、この現象が修正されました。


可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY868
要約 : トランザクションの構成要素でない KILL の下位要素がジャーナリングされるのを防止

説明 :

グローバルにジャーナリングが指定されている場合に KILL がトランザクションの一部でなくても、グローバル・ノードの KILL の下位要素がジャーナリングされるという 5.0 の問題が、今回の変更により修正されました。KILL がトランザクションの一部の場合はジャーナリングするのが正しい動作ですが、この場合は正しくありません。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY893
要約 : cstat での同期ジャーナル入出力キューの表示

説明 :

cstat が “-j16” オプションによって機能強化されました。このオプションは、同期ジャーナル入出力用のキュー内に待機しているジョブがあればそのジョブを表示します。以下に例を示します。
Sync I/O queue (job:iowake:nextjob): 16
   15:0:   13,   16:0:   15
"Sync I/O queue" 行の最後にあるジョブ番号は、キューの先頭です。その後に、キュー内にあるジョブのリストが続きます (キュー内の順序と同一とはかぎりません)。また、キュー内の最後のエントリは表示されません。nextjob フィールドは、このエントリの次にくるジョブ番号です。この例では、実際のキューは以下のようになります。
head = job #16 -> job #15 -> job #13 = tail
ジョブ番号 13 はキュー内の最後のエントリのため、cstat では表示されません。

可能性
危険性
パッチ あり
拡張性 あり

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY895
要約 : ジャーナル入出力キュー操作での欠けている MEMBAR の追加

説明 :

今回の変更により、ジャーナル入出力の完了を待機している間にジョブの停止を引き起こす恐れがある問題が修正されました。

可能性
危険性
パッチ あり
拡張性 なし

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY896
要約 : 同期ジャーナル入出力キューをクリアする無限ループ状態でジャーナル・デーモンが停止するのを防止

説明 :

今回の変更により、同期ジャーナル操作 (例えば、同期 TCOMMIT) で待機中の 1 つまたは複数のジョブに関連する特定の状況で、ジャーナル・デーモンが無限ループ状態となり停止することがなくなりました。

可能性
危険性
パッチ あり
拡張性 なし

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY907
要約 : ジャーナル入出力失敗時における、ジャーナル・ファイルのスイッチに関する潜在的な問題の修正

説明 :

一部の状況では、^JRNSWTCH または同等の GUI ツールを使用してジャーナル・ファイルを手動でスイッチしようとすると、永久的に停止することがありました。この問題は、修正されています。

可能性
危険性
パッチ あり
拡張性 なし

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY924
要約 : データベースの更新がなくても wij のジャーナル情報を更新

説明 :

以前のバージョンでは、データベースに更新がないときは、wij のジャーナル情報が更新されませんでした。これは、データベースの更新がなくてもジャーナルが永続的に蓄積される状況では (TS/TC や NN レコードなど)、wij のジャーナル情報が最新でなくなる原因となり問題となっていました。この状態で Caché が異常終了すると、スタートアップ時のジャーナル・リストアとトランザクション・ロールバックに多くの時間を要しました。

今回の変更により、データベースの更新がなくても、ジャーナルが蓄積されると wij のジャーナル情報が更新されるようになりました。


可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY925
要約 : ジャーナル入出力キューにある停止ジョブの処理

説明 :

一部の状況では、ジャーナル・デーモンが失敗した入出力操作を再試行している間にジョブが強制終了された場合は、同期ジャーナル操作 (例えば、同期 TCOMMIT) 中のジョブが停止することがありました。

今回の変更により、この問題が発生しないよう修正されています。


可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY931
要約 : ジャーナリング解除での <ACCVIO> の修正

説明 :

今回の変更により、ジャーナリング解除時に発生することがあったアクセス侵害エラーが排除されました。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : ジャーナリング
プラットフォーム : すべて
DevKey : HYY933
要約 : スタートアップ時にジャーナリングが開始されなかった場合の wij ジャーナル情報のクリア

説明 :

何らかの理由で Caché のスタートアップ時にジャーナリングが開始されなかった場合は、以降にデータベースが更新されても (ジャーナリングなしで)、wij のジャーナル情報は古いままです。次回のスタートアップ時に wij に古いジャーナル情報があると、それまでのデータベース更新 (ジャーナリングされていないときの更新) がジャーナルの古いデータによって上書きされてしまいます。

この問題は、修正されています。


可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : NWDS
プラットフォーム : すべて
DevKey : DAS597
要約 : ^rINDEX、^rINDEXCLASS、^oddPKG などの NWDS マッピングの修正

説明 :

NWDS 構成では、一部のグローバルが適切にマッピングされませんでした。これは、クライアントが SourceControl クラスにアクセスできない原因となっていました。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : シャドウイング
プラットフォーム : すべて
DevKey : HYY909
要約 : 高速モードのシャドウイングでのパフォーマンス問題の修正

説明 :

Caché バージョン 5 では、ジャーナル・ファイルのサイズが非常に大きくなっている場合に高速モードのシャドウイングを実行すると、パフォーマンスが悪化しました。今回の変更により、この問題は修正されています。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : スタートアップ
プラットフォーム : Windows
DevKey : TTS081
要約 : パケットドライバが構成されている Windows で、Caché サービスの開始に時間がかかる問題の修正

説明 :

パケットドライバ・サービスが自動的に開始されるよう構成されている場合は、Caché の開始に時間がかかっていました。この問題は、修正されています。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : トランザクション : プロセス
プラットフォーム : すべて
DevKey : HYY845
要約 : DCP サーバのロールバックにおけるいくつかの問題の修正

説明 :

今回の変更により、DCP サーバが特定の状況でオープン・トランザクションのロールバックに失敗する問題が修正されました。こうした状況の 1 つに、DCP サーバが OS レベルで予期せぬ終了をしたときなどがあります。この場合は、未完了のトランザクションがそのまま残され、再開始された DCP サーバはロールバックに失敗します。

可能性
危険性
パッチ なし
拡張性 なし

 



カテゴリ : システム : トランザクション : プロセス
プラットフォーム : すべて
DevKey : HYY888
要約 : TROLLBACK のエラー時における <ROLLFAIL> の生成とログ記録

説明 :

TROLLBACK でエラーが発生すると、<ROLLFAIL> が生成され、エラー・メッセージが cconsole.log にログ記録されるようになりました。

可能性
危険性
パッチ あり
拡張性 あり

 



カテゴリ : ユーティリティ
プラットフォーム : すべて
DevKey : LFT1258
要約 : GBLOCKCOPY での OLD ディレクトリに代わるディレクトリの使用

説明 :

GBLOCKCOPY では、テンポラリ・データの保存に "old" という名前のサブディレクトリが使用されていました。今回の変更により、その名前が "pre-gbcopy" に変更されました。これによって、old のようなよく使用される名前の重複が回避されます。

可能性
危険性
パッチ なし
拡張性 あり

 



ドキュメントの更新
Caché ドキュメントの内容は、編集上の改良、既存の内容の更新、新しい情報の追加など、リリースに従い改訂されています。以下は、以前のリリースから Caché ドキュメントに追加された重要な変更の概要です。

その他に、例の追加、文法や誤字脱字の修正といった小規模な改訂も多数行っています。