[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;