DBA Data[Home] [Help]

PROCEDURE: SYS.ADD_TO_DAV_SCHEMA

Source


1 procedure add_to_dav_schema(
2 			      dav_schema_url IN VARCHAR2,
3                               elem_ref       IN REF XMLTYPE) as
4 
5   ell_arr    XDB.XDB$XMLTYPE_REF_LIST_T;
6   subs_arr    XDB.XDB$XMLTYPE_REF_LIST_T;
7 begin
8   select s.xmldata.elements into ell_arr
9   from xdb.xdb$schema s
10   where s.xmldata.schema_url = dav_schema_url;
11 
12   ell_arr.extend(1);
13   ell_arr(ell_arr.last) := elem_ref;
14 
15   update xdb.xdb$schema s
16   set s.xmldata.elements = ell_arr
17   where s.xmldata.schema_url = dav_schema_url;
18 
19   update xdb.xdb$schema s
20   set s.xmldata.sys_xdbpd$ = XDB.XDB$RAW_LIST_T('43313C8600050084000084030184040284050302091C206465636C61726520616C6C204441562070726976696C65676573200B0C11000584800E131416120A170D')
21   where s.xmldata.schema_url = dav_schema_url;
22 
23   select e.xmldata.subs_group_refs into subs_arr
24   from xdb.xdb$element e
25   where e.xmldata.property.name = 'privilegeName';
26 
27   subs_arr.extend(1);
28   subs_arr(subs_arr.last) := elem_ref;
29 
30   update xdb.xdb$element e
31   set e.xmldata.subs_group_refs = subs_arr
32   where e.xmldata.property.name = 'privilegeName';
33 
34 end;