A.13.26 OPG_APIS.FIND_CC_MAPPING_BASED
形式
OPG_APIS.FIND_CC_MAPPING_BASED( edge_tab_name IN VARCHAR2, wt_clusters IN OUT VARCHAR2, wt_undir IN OUT VARCHAR2, wt_cluas IN OUT VARCHAR2, wt_newas IN OUT VARCHAR2, wt_delta IN OUT VARCHAR2, dop IN INTEGER DEFAULT 4, rounds IN INTEGER DEFAULT 0, tbs IN VARCHAR2 DEFAULT NULL, options IN VARCHAR2 DEFAULT NULL);
説明
プロパティ・グラフの接続されているコンポーネントを検出します。接続されているすべてのコンポーネントは wt_clusters表に格納されます。元のグラフは方向性がないものとして扱われます。
                  
パラメータ
- edge_tab_name
- 
                        プロパティ・グラフ・エッジ表の名前。 
- wt_clusters
- 
                        最終的な頂点クラスタ・マッピングを保持する作業表。この表には列が2つあります(VID NUMBER、CLUSTER_ID NUMBER)。列VIDには頂点ID値が格納され、列CLUSTER_IDには対応するクラスタID値が格納されます。クラスタID値は長整数で、間にギャップがあってもかまいません。 空白の名前を指定すると、新しい表が生成され、その名前が戻されます。 
- wt_undir
- 
                        グラフの方向付けのないバージョンを保持する作業表。 
- wt_cluas
- 
                        現在のクラスタ割当てを保持する作業表。 
- wt_newas
- 
                        更新されたクラスタ割当てを保持する作業表。 
- wt_delta
- 
                        クラスタ割当ての変更(差分)を保持する作業表。 
- dop
- 
                        操作の並列度。デフォルトは4です。 
- rounds
- 
                        接続されたコンポーネントの検索で実行する反復の最大数。デフォルト値の0 (ゼロ)は接続されたコンポーネントがすべて検出されるまで計算が継続することを意味します。 
- tbs
- 
                        作業表に格納されたデータを保持する表領域の名前。 
- options
- 
                        操作に対する追加の設定。 - 
                              'PDML=T'はパラレルDMLを使用可能にします。 
 
- 
                              
使用上のノート
プロパティ・グラフ・エッジ表はデータベースに存在している必要があり、OPG_APIS.FIND_CLUSTERS_PREPプロシージャは実行済である必要があります。
例
次の例は、mypgという名前のプロパティ・グラフの接続されたコンポーネントを検索します。
                  
DECLARE
  wtClusters   varchar2(200) := 'mypg_clusters';
  wtUnDir      varchar2(200);
  wtCluas      varchar2(200);
  wtNewas      varchar2(200);
  wtDelta      varchar2(200);
BEGIN
  opg_apis.find_clusters_prep('mypgGE$', wtClusters, wtUnDir,
      wtCluas, wtNewas, wtDelta, '');
  dbms_output.put_line('working tables names ' || wtClusters || ' '
|| wtUnDir || ' ' || wtCluas || ' '  || wtNewas    || ' '
|| wtDelta );
opg_apis.find_cc_mapping_based(''mypgGE$', wtClusters, wtUnDir,
      wtCluas, wtNewas, wtDelta, 8, 0, 'MYTBS', 'PDML=T');
--
-- logic to consume results in wtClusters
-- e.g.: 
-- select /*+ parallel(8) */ count(distinct cluster_id) 
--   from mypg_clusters;
-- cleanup all the working tables
  opg_apis.find_clusters_cleanup('mypgGE$', wtClusters, wtUnDir,
      wtCluas, wtNewas, wtDelta, '');
END;
/
親トピック: OPG_APISパッケージのサブプログラム