Collapse/Expand Metaconnector

Collapse/Expand Metaconnector は、同じキー値を持つ複数のレコードを、複数値フィールドを持つ 1 つのレコードにグループ化する (または、その逆にグループを解除する) ときに使用します。Collapse/Expand Metaconnector は他の Connector または Metaconnector を包括し、フェッチオペレーションのときにレコードがまとめられます。次に、書き込みオペレーションのときに、ユーザー定義の基準に従ってデータを展開します。Collapse/Expand Metaconnector は、Create、Drop、Action の各ステートメントを介してデータを渡すだけで、メタデータの操作には影響しません。

Collapse/Expand Metaconnector を使用する場合、複数のレコードが 1 つのレコードにグループ化されたり、1 つのレコードから複数のレコードが生成されたりするので、ライトバックオペレーションは実行できません。ライトバックオペレーションは、キーによるオペレーションでシミュレートされます。Collapse/Expand Metaconnector を介してライトバックオペレーションを実行するときは、必要なキーの値を必ず指定してください。

どちらの場合も、1 つまたは複数のフィールドをキーに定義しなければなりません。結果セットを生成するとき、または、データをフェッチするときは、キーに使用されていないすべてのフィールドが、複数値のデータ型 (バイナリストリームのテキストリスト、数値リスト、日時リスト) として取得されます。バイナリデータ型と等価な複数値型はありません。データの取得時には、キー値が変わるまでレコードがフェッチされ、各フィールドのすべての値が複数値のデータオブジェクトとしてグループ化されます。データの書き込み時には、この逆の処理が行われます。つまり、キーフィールドの値を一定にし、各オペレーションごとに複数値のフィールドを変更しながら、書き込みオペレーションを複数回実行します (追加のキーフィールドを使用するか、キーオペレーション用のフィールドを使用します)。

Collapse/Expand メタコネクションを正しく機能させるには、外部の結果セットが、グループ化に使用するキーで正しく並べ替えられていなければなりません。この並べ替えは、完全に同じキーに対してのみ行われます。Collapse/Expand Metaconnector と共に Order Metaconnector を使用している場合でも大文字と小文字が区別されます。また、この並べ替えは、Order Metaconnector を使用して実行されます。異なるキー値が現れるまで、同じキー値を持つすべてのレコードがグループ化されるので、同じキー値が連続して返されないと、対応するレコードがグループ化されません。

注: Collapse/Expand メタコネクションの主な用途の 1 つは、Notes データベース内の 1 つの文書と外部のリレーショナルデータベースの複数のレコードを結びつけることです。この Metaconnector で Notes およびリレーショナルデータベースを使用する際の制限はありませんが、Notes では複数値のフィールドが完全にサポートされており、そのことがこの使用方法での前提になっています。

Collapse/Expand メタコネクションの接続について

Collapse/Expand メタコネクションの要件は、Collapse/Expand メタコネクションが接続する、ベースとなるコネクションの要件と同じです。Collapse/Expand メタコネクションは外部データベースを持たないので、接続テストツールもありません。