65: begin
66: l_indexCtr := 0;
67: p_triggerCtr := 0;
68: p_sysName := 0;
69: l_objOpenHandle := sys.ad_dbms_metadata.open(p_objType);
70: l_ctr := 0;
71:
72: /* l_ctr := NVL(p_includeTrigger, 1); */
73:
101: '|| ' ' || p_objType || '
102: ';
103:
104: if ( p_objMode = 'mviewlog' or p_objMode = 'policy' ) then
105: sys.ad_dbms_metadata.set_filter(l_objOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
106: sys.ad_dbms_metadata.set_filter(l_objOpenHandle,'BASE_OBJECT_NAME',p_objName);
107: elsif (p_objMode = 'sequence' or p_objMode= 'trigger' or p_objMode = 'type') then
108: l_seqNameExp := 'LIKE ''' || p_objName || '''';
109: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME_EXPR',l_seqNameExp);
102: ';
103:
104: if ( p_objMode = 'mviewlog' or p_objMode = 'policy' ) then
105: sys.ad_dbms_metadata.set_filter(l_objOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
106: sys.ad_dbms_metadata.set_filter(l_objOpenHandle,'BASE_OBJECT_NAME',p_objName);
107: elsif (p_objMode = 'sequence' or p_objMode= 'trigger' or p_objMode = 'type') then
108: l_seqNameExp := 'LIKE ''' || p_objName || '''';
109: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME_EXPR',l_seqNameExp);
110: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'SCHEMA', p_schemaName);
105: sys.ad_dbms_metadata.set_filter(l_objOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
106: sys.ad_dbms_metadata.set_filter(l_objOpenHandle,'BASE_OBJECT_NAME',p_objName);
107: elsif (p_objMode = 'sequence' or p_objMode= 'trigger' or p_objMode = 'type') then
108: l_seqNameExp := 'LIKE ''' || p_objName || '''';
109: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME_EXPR',l_seqNameExp);
110: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'SCHEMA', p_schemaName);
111: elsif (p_objMode = 'context' ) then
112: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME', p_objName);
113: else /* mview, table, index, aq_table, policies etc. */
106: sys.ad_dbms_metadata.set_filter(l_objOpenHandle,'BASE_OBJECT_NAME',p_objName);
107: elsif (p_objMode = 'sequence' or p_objMode= 'trigger' or p_objMode = 'type') then
108: l_seqNameExp := 'LIKE ''' || p_objName || '''';
109: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME_EXPR',l_seqNameExp);
110: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'SCHEMA', p_schemaName);
111: elsif (p_objMode = 'context' ) then
112: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME', p_objName);
113: else /* mview, table, index, aq_table, policies etc. */
114: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME', p_objName);
108: l_seqNameExp := 'LIKE ''' || p_objName || '''';
109: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME_EXPR',l_seqNameExp);
110: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'SCHEMA', p_schemaName);
111: elsif (p_objMode = 'context' ) then
112: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME', p_objName);
113: else /* mview, table, index, aq_table, policies etc. */
114: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME', p_objName);
115: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'SCHEMA', p_schemaName);
116: end if;
110: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'SCHEMA', p_schemaName);
111: elsif (p_objMode = 'context' ) then
112: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME', p_objName);
113: else /* mview, table, index, aq_table, policies etc. */
114: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME', p_objName);
115: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'SCHEMA', p_schemaName);
116: end if;
117:
118: l_finalXML := '
111: elsif (p_objMode = 'context' ) then
112: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME', p_objName);
113: else /* mview, table, index, aq_table, policies etc. */
114: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'NAME', p_objName);
115: sys.ad_dbms_metadata.set_filter(l_objOpenHandle, 'SCHEMA', p_schemaName);
116: end if;
117:
118: l_finalXML := '
119: ';
187: else
188:
189: LOOP
190: /* Main loop for master objects */
191: l_objXMLs := sys.ad_dbms_metadata.fetch_xml(l_objOpenHandle);
192: EXIT WHEN l_objXMLs IS NULL;
193:
194: l_eobjXMLs := XMLType.extract(l_objXMLs,'ROWSET/ROW');
195:
253:
254: /* ================================================================ */
255: if ( p_objMode = 'mview' ) then
256: /* reusing the l_indexOpenHandle to get materialized view log */
257: l_indexOpenHandle := sys.ad_dbms_metadata.open('MATERIALIZED_VIEW_LOG');
258: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
259: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_NAME',p_objName);
260: LOOP
261: -- Amit Code.
254: /* ================================================================ */
255: if ( p_objMode = 'mview' ) then
256: /* reusing the l_indexOpenHandle to get materialized view log */
257: l_indexOpenHandle := sys.ad_dbms_metadata.open('MATERIALIZED_VIEW_LOG');
258: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
259: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_NAME',p_objName);
260: LOOP
261: -- Amit Code.
262: BEGIN
255: if ( p_objMode = 'mview' ) then
256: /* reusing the l_indexOpenHandle to get materialized view log */
257: l_indexOpenHandle := sys.ad_dbms_metadata.open('MATERIALIZED_VIEW_LOG');
258: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
259: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_NAME',p_objName);
260: LOOP
261: -- Amit Code.
262: BEGIN
263: l_indexXMLs := sys.ad_dbms_metadata.fetch_xml(l_indexOpenHandle);
259: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_NAME',p_objName);
260: LOOP
261: -- Amit Code.
262: BEGIN
263: l_indexXMLs := sys.ad_dbms_metadata.fetch_xml(l_indexOpenHandle);
264: EXIT WHEN l_indexXMLs IS NULL;
265: EXCEPTION
266: WHEN e_dbms_metadata_01 OR e_dbms_metadata_02
267: THEN EXIT;
266: WHEN e_dbms_metadata_01 OR e_dbms_metadata_02
267: THEN EXIT;
268: WHEN OTHERS
269: THEN RAISE_APPLICATION_ERROR(
270: -20001, 'Internal sys.ad_dbms_metadata.fetch_xml error', TRUE);
271: END;
272:
273: l_depInfo := l_depInfo || 'Materialized view log : ' || '
274: ' || ' ' || l_mlogName
279: l_tmpXML := l_eobjXMLs.getClobVal();
280: dbms_lob.append(l_finalXML,l_tmpXML);
281:
282: /* get the indexes on mviewlogs */
283: l_indexOpenHandle1 := sys.ad_dbms_metadata.open('INDEX');
284: l_depInfo := l_depInfo || 'Indexes on Materialized view log of ' || p_objMode
285: || ' : ' || '
286: ';
287: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle1,'BASE_OBJECT_SCHEMA',p_schemaName);
283: l_indexOpenHandle1 := sys.ad_dbms_metadata.open('INDEX');
284: l_depInfo := l_depInfo || 'Indexes on Materialized view log of ' || p_objMode
285: || ' : ' || '
286: ';
287: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle1,'BASE_OBJECT_SCHEMA',p_schemaName);
288: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle1,'BASE_OBJECT_NAME', l_mlogName);
289: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle1,'SYSTEM_GENERATED',false);
290: --Amit Code.
291:
284: l_depInfo := l_depInfo || 'Indexes on Materialized view log of ' || p_objMode
285: || ' : ' || '
286: ';
287: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle1,'BASE_OBJECT_SCHEMA',p_schemaName);
288: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle1,'BASE_OBJECT_NAME', l_mlogName);
289: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle1,'SYSTEM_GENERATED',false);
290: --Amit Code.
291:
292: LOOP
285: || ' : ' || '
286: ';
287: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle1,'BASE_OBJECT_SCHEMA',p_schemaName);
288: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle1,'BASE_OBJECT_NAME', l_mlogName);
289: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle1,'SYSTEM_GENERATED',false);
290: --Amit Code.
291:
292: LOOP
293: BEGIN
290: --Amit Code.
291:
292: LOOP
293: BEGIN
294: l_indexXMLs := sys.ad_dbms_metadata.fetch_xml(l_indexOpenHandle1);
295: EXIT WHEN l_indexXMLs IS NULL;
296: EXCEPTION
297: WHEN e_dbms_metadata_01 OR e_dbms_metadata_02
298: THEN l_indexCtr := 0; EXIT;
297: WHEN e_dbms_metadata_01 OR e_dbms_metadata_02
298: THEN l_indexCtr := 0; EXIT;
299: WHEN OTHERS
300: THEN RAISE_APPLICATION_ERROR(
301: -20001, 'Internal sys.ad_dbms_metadata.fetch_xml error', TRUE);
302: END;
303:
304: l_eobjXMLs := XMLType.extract(l_indexXMLs,'ROWSET/ROW');
305:
319: l_depInfo := l_depInfo || ' None ' || '
320: ';
321: end if;
322:
323: sys.ad_dbms_metadata.close(l_indexOpenHandle1);
324:
325: END LOOP; --end of mview loop
326:
327: sys.ad_dbms_metadata.close(l_indexOpenHandle);
323: sys.ad_dbms_metadata.close(l_indexOpenHandle1);
324:
325: END LOOP; --end of mview loop
326:
327: sys.ad_dbms_metadata.close(l_indexOpenHandle);
328: end if; -- end of if(mview) stmt.
329: /* ================================================================ */
330: /* rsekaran
331: - 4486719
339: -- p_objmode <> 'view' and
340: p_objmode <> 'index' and
341: p_objMode <> 'type' ) then
342: /* Get the index information */
343: l_indexOpenHandle := sys.ad_dbms_metadata.open('INDEX');
344: l_depInfo := l_depInfo || 'Indexes on ' || p_objName
345: || ' : ' || '
346: ';
347: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
343: l_indexOpenHandle := sys.ad_dbms_metadata.open('INDEX');
344: l_depInfo := l_depInfo || 'Indexes on ' || p_objName
345: || ' : ' || '
346: ';
347: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
348:
349: if ( p_objMode <> 'mviewlog' ) then
350: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_NAME',p_objName);
351: /* rsekaran - 4486719
346: ';
347: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
348:
349: if ( p_objMode <> 'mviewlog' ) then
350: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_NAME',p_objName);
351: /* rsekaran - 4486719
352: Added additional checks for qtables to filter out index names starting with 'AQ$_'
353: */
354: if ( p_objMode = 'qtable' ) then
356: else
357: l_sqlCond := ' not in ( select index_name from dba_indexes where index_type=''DOMAIN'' and table_name='''||p_objName||''' and owner='''||p_schemaName||''' ) ';
358: end if;
359: else
360: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_NAME', l_mlogName);
361: l_sqlCond := ' not in ( select index_name from dba_indexes where index_type=''DOMAIN'' and table_name='''||l_mlogName||''' and owner='''||p_schemaName||''' ) ';
362: end if;
363:
364: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'SYSTEM_GENERATED',false);
360: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'BASE_OBJECT_NAME', l_mlogName);
361: l_sqlCond := ' not in ( select index_name from dba_indexes where index_type=''DOMAIN'' and table_name='''||l_mlogName||''' and owner='''||p_schemaName||''' ) ';
362: end if;
363:
364: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'SYSTEM_GENERATED',false);
365:
366: /* Mladena - no domain indexes until bug#3225530 backport is available */
367:
368: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'NAME_EXPR', l_sqlCond);
364: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'SYSTEM_GENERATED',false);
365:
366: /* Mladena - no domain indexes until bug#3225530 backport is available */
367:
368: sys.ad_dbms_metadata.set_filter(l_indexOpenHandle,'NAME_EXPR', l_sqlCond);
369:
370: /* end Mladena */
371:
372: LOOP
371:
372: LOOP
373: -- Amit Code
374: begin
375: l_indexXMLs := sys.ad_dbms_metadata.fetch_xml(l_indexOpenHandle);
376: EXIT WHEN l_indexXMLs IS NULL;
377: EXCEPTION
378: when others then
379: l_indexCtr := 0;
401: l_depInfo := l_depInfo || ' None ' || '
402: ';
403: end if;
404:
405: sys.ad_dbms_metadata.close(l_indexOpenHandle);
406:
407:
408: /* Get the trigger information - Mladena */
409:
437: end loop;
438:
439: l_subqry := 'IN ('|| l_triggList ||')';
440:
441: l_triggerOpenHandle := sys.ad_dbms_metadata.open('TRIGGER');
442: l_depInfo := l_depInfo || 'Triggers on ' || l_objName || ' : ' || '';
443:
444: sys.ad_dbms_metadata.set_filter(l_triggerOpenHandle,'NAME_EXPR',l_subqry);
445: sys.ad_dbms_metadata.set_filter(l_triggerOpenHandle,'SYSTEM_GENERATED',false);
440:
441: l_triggerOpenHandle := sys.ad_dbms_metadata.open('TRIGGER');
442: l_depInfo := l_depInfo || 'Triggers on ' || l_objName || ' : ' || '';
443:
444: sys.ad_dbms_metadata.set_filter(l_triggerOpenHandle,'NAME_EXPR',l_subqry);
445: sys.ad_dbms_metadata.set_filter(l_triggerOpenHandle,'SYSTEM_GENERATED',false);
446: sys.ad_dbms_metadata.set_parse_item(l_triggerOpenHandle,'NAME');
447:
448: LOOP
441: l_triggerOpenHandle := sys.ad_dbms_metadata.open('TRIGGER');
442: l_depInfo := l_depInfo || 'Triggers on ' || l_objName || ' : ' || '';
443:
444: sys.ad_dbms_metadata.set_filter(l_triggerOpenHandle,'NAME_EXPR',l_subqry);
445: sys.ad_dbms_metadata.set_filter(l_triggerOpenHandle,'SYSTEM_GENERATED',false);
446: sys.ad_dbms_metadata.set_parse_item(l_triggerOpenHandle,'NAME');
447:
448: LOOP
449: -- Amit Code.
442: l_depInfo := l_depInfo || 'Triggers on ' || l_objName || ' : ' || '';
443:
444: sys.ad_dbms_metadata.set_filter(l_triggerOpenHandle,'NAME_EXPR',l_subqry);
445: sys.ad_dbms_metadata.set_filter(l_triggerOpenHandle,'SYSTEM_GENERATED',false);
446: sys.ad_dbms_metadata.set_parse_item(l_triggerOpenHandle,'NAME');
447:
448: LOOP
449: -- Amit Code.
450: begin
447:
448: LOOP
449: -- Amit Code.
450: begin
451: l_triggerXMLs := sys.ad_dbms_metadata.fetch_xml(l_triggerOpenHandle);
452: EXIT WHEN l_triggerXMLs IS NULL;
453: EXCEPTION
454: when others then
455: p_triggerCtr := 0;
474: l_depInfo := l_depInfo || ' None ' || '
475: ';
476: end if;
477:
478: sys.ad_dbms_metadata.close(l_triggerOpenHandle);
479:
480: else
481:
482: l_depInfo := l_depInfo || ' None ' || '
527:
528: /* get the comment Information */
529:
530:
531: l_commentOpenHandle := sys.ad_dbms_metadata.open('COMMENT');
532: sys.ad_dbms_metadata.set_filter(l_commentOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
533: sys.ad_dbms_metadata.set_filter(l_commentOpenHandle,'BASE_OBJECT_NAME',p_objName);
534: l_commentCtr := 0;
535:
528: /* get the comment Information */
529:
530:
531: l_commentOpenHandle := sys.ad_dbms_metadata.open('COMMENT');
532: sys.ad_dbms_metadata.set_filter(l_commentOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
533: sys.ad_dbms_metadata.set_filter(l_commentOpenHandle,'BASE_OBJECT_NAME',p_objName);
534: l_commentCtr := 0;
535:
536: LOOP
529:
530:
531: l_commentOpenHandle := sys.ad_dbms_metadata.open('COMMENT');
532: sys.ad_dbms_metadata.set_filter(l_commentOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
533: sys.ad_dbms_metadata.set_filter(l_commentOpenHandle,'BASE_OBJECT_NAME',p_objName);
534: l_commentCtr := 0;
535:
536: LOOP
537: begin
534: l_commentCtr := 0;
535:
536: LOOP
537: begin
538: l_commentXMLs := sys.ad_dbms_metadata.fetch_xml(l_commentOpenHandle);
539: EXIT WHEN l_commentXMLs IS NULL;
540: EXCEPTION
541: when others then
542: EXIT;
555: dbms_lob.append(l_finalXML,'
556: ');
557: end if;
558:
559: sys.ad_dbms_metadata.close(l_commentOpenHandle);
560:
561:
562:
563: /*
573:
574: l_tmpXML := '
575: ';
576: dbms_lob.append(l_finalXML,l_tmpXML);
577: sys.ad_dbms_metadata.close(l_objOpenHandle);
578: p_objInfo := l_depInfo;
579: p_retXML := l_finalXML;
580:
581:
613: end if;
614: end loop;
615: finalInSt := finalInSt || ')';
616:
617: l_objXMLOpenHandle := sys.ad_dbms_metadata.open('SEQUENCE');
618: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'SCHEMA',p_schemaName);
619: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'NAME_EXPR',finalInSt);
620:
621: LOOP
614: end loop;
615: finalInSt := finalInSt || ')';
616:
617: l_objXMLOpenHandle := sys.ad_dbms_metadata.open('SEQUENCE');
618: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'SCHEMA',p_schemaName);
619: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'NAME_EXPR',finalInSt);
620:
621: LOOP
622: --Amit Code.
615: finalInSt := finalInSt || ')';
616:
617: l_objXMLOpenHandle := sys.ad_dbms_metadata.open('SEQUENCE');
618: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'SCHEMA',p_schemaName);
619: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'NAME_EXPR',finalInSt);
620:
621: LOOP
622: --Amit Code.
623: begin
620:
621: LOOP
622: --Amit Code.
623: begin
624: l_sequenceXML := sys.ad_dbms_metadata.fetch_xml(l_objXMLOpenHandle);
625: EXIT WHEN l_sequenceXML IS NULL;
626: EXCEPTION
627: when others then
628: p_seqCount := 0;
642: dbms_lob.append(l_finalXML,l_tmpXML);
643: end if;
644: END LOOP;
645:
646: sys.ad_dbms_metadata.close(l_objXMLOpenHandle);
647: p_retVal := l_finalXML;
648:
649:
650:
678: l_ctr := 1;
679: end if;
680:
681: p_policyCount := 0;
682: l_objXMLOpenHandle := sys.ad_dbms_metadata.open('RLS_POLICY');
683:
684: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
685: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_NAME',p_tableName);
686:
680:
681: p_policyCount := 0;
682: l_objXMLOpenHandle := sys.ad_dbms_metadata.open('RLS_POLICY');
683:
684: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
685: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_NAME',p_tableName);
686:
687:
688: LOOP
681: p_policyCount := 0;
682: l_objXMLOpenHandle := sys.ad_dbms_metadata.open('RLS_POLICY');
683:
684: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
685: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_NAME',p_tableName);
686:
687:
688: LOOP
689: begin
686:
687:
688: LOOP
689: begin
690: l_policyXML := sys.ad_dbms_metadata.fetch_xml(l_objXMLOpenHandle);
691: EXIT WHEN l_policyXML IS NULL;
692: EXCEPTION
693: when others then
694: p_policyCount := 0;
712: end if;
713: end if;
714: END LOOP;
715:
716: sys.ad_dbms_metadata.close(l_objXMLOpenHandle);
717: p_retVal := l_finalXML;
718:
719: END get_xml_policy;
720:
864:
865: BEGIN
866: l_finalXML := null;
867: l_ctr := 0;
868: l_objXMLOpenHandle := sys.ad_dbms_metadata.open('COMMENT');
869:
870: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_NAME',p_ObjName);
871: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
872: transHandle := sys.ad_dbms_metadata.add_transform(l_objXMLOpenHandle, 'DDL');
866: l_finalXML := null;
867: l_ctr := 0;
868: l_objXMLOpenHandle := sys.ad_dbms_metadata.open('COMMENT');
869:
870: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_NAME',p_ObjName);
871: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
872: transHandle := sys.ad_dbms_metadata.add_transform(l_objXMLOpenHandle, 'DDL');
873: sys.ad_dbms_metadata.set_transform_param(transHandle,'SQLTERMINATOR', TRUE);
874:
867: l_ctr := 0;
868: l_objXMLOpenHandle := sys.ad_dbms_metadata.open('COMMENT');
869:
870: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_NAME',p_ObjName);
871: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
872: transHandle := sys.ad_dbms_metadata.add_transform(l_objXMLOpenHandle, 'DDL');
873: sys.ad_dbms_metadata.set_transform_param(transHandle,'SQLTERMINATOR', TRUE);
874:
875:
868: l_objXMLOpenHandle := sys.ad_dbms_metadata.open('COMMENT');
869:
870: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_NAME',p_ObjName);
871: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
872: transHandle := sys.ad_dbms_metadata.add_transform(l_objXMLOpenHandle, 'DDL');
873: sys.ad_dbms_metadata.set_transform_param(transHandle,'SQLTERMINATOR', TRUE);
874:
875:
876:
869:
870: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_NAME',p_ObjName);
871: sys.ad_dbms_metadata.set_filter(l_objXMLOpenHandle,'BASE_OBJECT_SCHEMA',p_schemaName);
872: transHandle := sys.ad_dbms_metadata.add_transform(l_objXMLOpenHandle, 'DDL');
873: sys.ad_dbms_metadata.set_transform_param(transHandle,'SQLTERMINATOR', TRUE);
874:
875:
876:
877: -- sys.ad_dbms_metadata.set_parse_item(l_objXMLOpenHandle, 'NAME');
873: sys.ad_dbms_metadata.set_transform_param(transHandle,'SQLTERMINATOR', TRUE);
874:
875:
876:
877: -- sys.ad_dbms_metadata.set_parse_item(l_objXMLOpenHandle, 'NAME');
878:
879:
880:
881:
880:
881:
882: LOOP
883: begin
884: l_ddls := sys.ad_dbms_metadata.fetch_ddl(l_objXMLOpenHandle);
885: EXIT WHEN l_ddls IS NULL;
886: -- EXCEPTION
887: -- when others then
888: -- l_ctr := 0;
907: dbms_lob.append(l_tmpXML,'
908: ');
909: end if;
910:
911: sys.ad_dbms_metadata.close(l_objXMLOpenHandle);
912: p_retVal := l_tmpXML;
913:
914: END get_ddl_comment;
915: