9.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パッケージのサブプログラム