MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/md/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/md/admin/sdotptyp.sql

Rem
Rem $Header: sdo/admin/sdotptyp.sql /main/43 2017/11/01 16:48:27 sravada Exp $
Rem
Rem sdotptyp.sql
Rem
Rem Copyright (c) 2002, 2017, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      sdotptyp.sql - <one-line expansion of the name>
Rem
Rem    DESCRIPTION
Rem      <short description of component this file declares/defines>
Rem
Rem    NOTES
Rem      <other useful comments, qualifications, etc.>
Rem
Rem    BEGIN SQL_FILE_METADATA
Rem    SQL_SOURCE_FILE: sdo/admin/sdotptyp.sql
Rem    SQL_SHIPPED_FILE: md/admin/sdotptyp.sql
Rem    SQL_PHASE: SDOTPTYP
Rem    SQL_STARTUP_MODE: NORMAL
Rem    SQL_IGNORABLE_ERRORS: NONE
Rem    SQL_CALLING_FILE: sdo/admin/catmdloch.sql
Rem    END SQL_FILE_METADATA
Rem
Rem    MODIFIED   (MM/DD/YY)
Rem    sravada     11/01/17 - fix prefix issues; revert changes
Rem    sravada     07/19/17 - fix lrg 20376201 additional conditions
Rem    sravada     06/12/17 - lrg 20376201
Rem    sravada     06/05/17 - add more NULL exceptions for upgrade
Rem    rjanders    05/10/17 - #26037683: Raise 'when other' exceptions
Rem    rjanders    03/23/17 - #25437999: Remove 'when others then NULL'
Rem                           handlers
Rem    rjanders    03/09/17 - Add missing SQL_FILE_METADATA information
Rem    sravada     01/11/17 - bug 25370681
Rem    sravada     03/30/16 - bug 22934548
Rem    rjanders    11/20/15 - #21930978: Correct SDO_Topo_Geometry_Layer defn
Rem    rjanders    09/16/15 - #21825604: Remove WITH GRANT OPTION from PUBLIC
Rem    rjanders    03/05/15 - long identifier project phase 4
Rem    rjanders    01/02/15 - long identifier project phase 1
Rem    rjanders    03/15/13 - #16473696: Start/End _ORACLE_SCRIPT
Rem                           initialization
Rem    sravada     10/15/12 - add SDO_Topo_Geometry_Layer_Table
Rem    sravada     03/19/09 - increase sdo_topo_object_array to 10000000
Rem    sravada     06/05/07 - increate the sdo_topo_object_array limit
Rem    bgouslin    01/07/07 - New version to fix Windoze format issue caused by
Rem                           some ADE bug
Rem    sravada     01/11/06 - support user specified TG_IDs 
Rem    sravada     07/29/04 - add exception handlers 
Rem    sravada     05/27/04 - fix alter type 
Rem    sravada     04/26/04 - add get_tg_objects 
Rem    sravada     12/19/03 - add get_topo_elements 
Rem    ningan      11/21/03 - add SDO_TOPO_NSTD_TBL
Rem    sravada     08/12/03 - add hierarchy level 
Rem    fjlee       07/28/03 - Add non-persistent type SDO_EDGE_ARRAY
Rem    sravada     07/22/03 - define default constructor
Rem    sravada     06/10/03 - increase the sdo_list_tye size
Rem    sravada     06/05/03 - add constructors with add/delete topo_ids 
Rem    sravada     04/15/03 - add tg_layer name sig for topo_goem constructor
Rem    rkothuri    01/04/03 - grant execute with grant option
Rem    sravada     11/18/02 - update type
Rem    sravada     10/31/02 - change feature to topo_geometry
Rem    sravada     10/03/02 - move body to prvtptyp
Rem    sravada     08/06/02 - add OID for topo_object_array
Rem    sravada     08/01/02 - add OID for list type
Rem    sravada     07/29/02 - add layer feature type
Rem    sravada     07/23/02 - add get_geometry
Rem    sravada     07/19/02 - sravada_topo_metadata_views
Rem    sravada     07/17/02 - Created
Rem


Rem ********************************************************************
Rem #16473696: Indicate Oracle-Supplied object
@@?/rdbms/admin/sqlsessstart.sql
Rem ********************************************************************

Rem select to_char(systimestamp, 'YYYY-MM-DD:HH24:MI:SS') from SYS.DUAL;
Rem select sys_op_guid() from SYS.DUAL;

declare
  evolved_type exception;
  pragma exception_init(evolved_type, -22308);
  dependent_objects exception;
  pragma exception_init(dependent_objects, -02303);
begin
  begin
  execute immediate
' Create or Replace Type SDO_Topo_Geometry_Layer 
TIMESTAMP ''2002-07-17:16:42:35'' 
OID ''A5FEBA741CE21F61E034080020F7892A''
as object (
  OWNER        varchar2(64),
  Table_Name   varchar2(64),
  Column_Name  varchar2(32),
  Layer_id     number,
  Layer_Type   VARCHAR2(10),
  Layer_Level  number,
  Child_Layer_id number) ';
 exception
    when evolved_type then NULL;
    when dependent_objects then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')1]: ' || SQLERRM); RAISE;
  end;
end;
/
SHOW ERRORS

grant execute on MDSYS.SDO_Topo_Geometry_Layer to public;
create or replace  public synonym SDO_Topo_Geometry_Layer for 
MDSYS.SDO_Topo_Geometry_Layer;


declare
  evolved_type exception;
  pragma exception_init(evolved_type, -22308);
  dependent_objects exception;
  pragma exception_init(dependent_objects, -02303);
begin
  begin
  execute immediate
'Create or Replace Type SDO_Topo_Geometry_Layer_Array
TIMESTAMP ''2002-07-17:16:45:41''
OID ''A5FEBA741CE71F61E034080020F7892A''
as VARRAY (1000) of SDO_Topo_Geometry_Layer ';
   exception
     when evolved_type then NULL;
     when dependent_objects then NULL;
     when others then
       SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                              'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')2]: ' || SQLERRM); RAISE;
  end;
end;
/



grant execute on MDSYS.SDO_Topo_Geometry_Layer_Array 
to public;
create or replace  public synonym SDO_Topo_Geometry_Layer_Array for 
                   MDSYS.SDO_Topo_Geometry_Layer_Array;

declare
  evolved_type exception;
  pragma exception_init(evolved_type, -22308);
  dependent_objects exception;
  pragma exception_init(dependent_objects, -02303);
begin
  begin
  execute immediate
'Create or Replace Type MDSYS.SDO_Topo_Geometry_Layer_Table
TIMESTAMP ''2012-10-11:15:55:35''
OID ''CBCEF1BC89026A2AE0435B72E50A1189''
as table of MDSYS.SDO_Topo_Geometry_Layer ';
   exception
     when evolved_type then NULL;
     when dependent_objects then NULL;
     when others then
       SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                              'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')3]: ' || SQLERRM); RAISE;
  end;
end;
/


grant execute on MDSYS.SDO_Topo_Geometry_Layer_Table to public;
create or replace  public synonym SDO_Topo_Geometry_Layer_Table
for MDSYS.SDO_Topo_Geometry_Layer_Table;


declare
  compilation_error exception;
  pragma exception_init(compilation_error, -22324);
begin
  execute immediate
   'alter type SDO_Topo_Geometry_Layer modify attribute (OWNER varchar2(130), Table_Name  varchar2(256), Column_Name varchar2(130)) cascade including table data ';
  exception
    when compilation_error then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')4]: ' || SQLERRM); RAISE;
end;
/
SHOW ERRORS


-- this type is persistent, so  OID required
declare
  dependent_objects exception;
  pragma exception_init(dependent_objects, -02303);
begin
  begin
  execute immediate
'Create or replace type SDO_List_Type
TIMESTAMP ''2002-08-01:09:48:24''
OID ''A726BA71528E371AE034080020F7892A''
as VARRAY (2147483647) of Number ';
    exception
    when dependent_objects then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')5]: ' || SQLERRM); RAISE;
  end;
end;
/


grant execute on MDSYS.SDO_List_Type to public;
create or replace  public synonym SDO_List_Type for MDSYS.SDO_List_Type;

-- this object is not persistent object, so no OID required
declare
  dependent_objects exception;
  pragma exception_init(dependent_objects, -02303);
begin
  begin
  execute immediate
' Create or replace type SDO_TOPO_OBJECT 
as Object (topo_id number, topo_type number) ';

  exception
    when dependent_objects then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')6]: ' || SQLERRM); RAISE;
  end;
end;
/

grant execute on MDSYS.SDO_TOPO_OBJECT to public;
create or replace  public synonym SDO_TOPO_OBJECT for MDSYS.SDO_TOPO_OBJECT;

-- making it persistent
declare
begin
  begin
  execute immediate
' CREATE OR REPLACE TYPE SDO_TOPO_NSTD_TBL 
TIMESTAMP ''2003-12-25:09:11:08''
OID ''CF5072A2CF3A0E54E034080020B7ADF6''
AS TABLE OF NUMBER '; 
    exception
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')7]: ' || SQLERRM); RAISE;
  end;
end;
/


GRANT EXECUTE ON MDSYS.SDO_TOPO_NSTD_TBL TO PUBLIC;
CREATE OR REPLACE PUBLIC SYNONYM SDO_TOPO_NSTD_TBL FOR MDSYS.SDO_TOPO_NSTD_TBL;

-- this object is not persistent object, so no OID required
declare
  name_exists exception;
  pragma exception_init(name_exists, -00955);
begin
  begin
  execute immediate
'create type SDO_TGL_OBJECT
as Object (tgl_id number, tg_id number) ';
    exception
      when name_exists then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')8]: ' || SQLERRM); RAISE;
  end;
end;
/
grant execute on MDSYS.SDO_TGL_OBJECT to public;
create or replace public synonym SDO_TGL_OBJECT for MDSYS.SDO_TGL_OBJECT;


-- this object is not persistent object, so no OID required
declare
begin
  begin
  execute immediate
'Create or replace type SDO_EDGE_ARRAY 
as VARRAY(1000000) of SDO_NUMBER_ARRAY ';
    exception
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')9]: ' || SQLERRM); RAISE;
  end;
end;
/
grant execute on MDSYS.SDO_EDGE_ARRAY to public;
create  or replace public synonym SDO_EDGE_ARRAY for MDSYS.SDO_EDGE_ARRAY;

declare
  evolved_type exception;
  pragma exception_init(evolved_type, -22308);
  compilation_error exception;
  pragma exception_init(compilation_error, -22324);
begin
  begin
  execute immediate
' Create or replace type SDO_TOPO_OBJECT_ARRAY
OID ''A6EAE6CBDFFC1E41E034080020F7892A''
 as VARRAY (1000000) of SDO_TOPO_OBJECT ';
    exception
      when evolved_type then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')10]: ' || SQLERRM); RAISE;
  end;

  begin
   execute immediate
    ' Alter type SDO_TOPO_OBJECT_ARRAY modify limit 10000000';
    exception
      when compilation_error then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')11]: ' || SQLERRM); RAISE;
  end;
end;
/

grant execute on MDSYS.SDO_TOPO_OBJECT_ARRAY to public;
create  or replace public synonym SDO_TOPO_OBJECT_ARRAY for 
MDSYS.SDO_TOPO_OBJECT_ARRAY;

declare
  evolved_type exception;
  pragma exception_init(evolved_type, -22308);
begin
  begin
  execute immediate
' Create or replace type SDO_TGL_OBJECT_ARRAY
OID ''C4B7F989E25A1414E034080020F7892A''
 as VARRAY (1000000) of SDO_TGL_OBJECT ';
    exception
      when evolved_type then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')12]: ' || SQLERRM); RAISE;
  end;
end;
/

declare
  compilation_error exception;
  pragma exception_init(compilation_error, -22324);
begin
   begin
     execute immediate
      ' alter type SDO_TGL_OBJECT_ARRAY modify limit 10000000 cascade';
    exception
      when compilation_error then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')13]: ' || SQLERRM); RAISE;
  end;
end;
/


grant execute on MDSYS.SDO_TGL_OBJECT_ARRAY to public;
create or replace  public synonym SDO_TGL_OBJECT_ARRAY for 
MDSYS.SDO_TGL_OBJECT_ARRAY;

-- the default type constructor returns a valid object only
-- the fid is already there in the topology_relation table
-- user defined constructor has only topolgy name as the input
-- the feature id is generated as part of the constructor by reading
-- the topo metadata and getting the sequence name

declare
  dependent_objects exception;
  pragma exception_init(dependent_objects, -02303);
  compilation_error exception;
  pragma exception_init(compilation_error, -22324);
begin
  begin
  execute immediate
'Create or Replace Type SDO_Topo_Geometry 
TIMESTAMP ''2002-07-17:16:54:47''
OID ''A5FEBA741CEB1F61E034080020F7892A''
AUTHID current_user as Object 
  (TG_Type  NUMBER,
   TG_ID NUMBER,
   TG_Layer_ID NUMBER,
   Topology_ID   NUMBER,
   Constructor Function SDO_Topo_Geometry(TG_Type number,
                                    TG_id NUMBER,
                                    TG_layer_id NUMBER,
                                    Topology_ID NUMBER)
     return SELF as RESULT DETERMINISTIC,
   Constructor Function SDO_Topo_Geometry(topology varchar2,
                                    TG_Type number,
                                    TG_layer_id NUMBER,
                                    Topo_ids SDO_TGL_OBJECT_ARRAY) 
     return SELF as RESULT DETERMINISTIC,
   Constructor Function SDO_Topo_Geometry(topology varchar2,
                                    Table_Name  varchar2,
                                    Column_Name varchar2,
                                    TG_Type number,
                                    Topo_ids SDO_TGL_OBJECT_ARRAY) 
     return SELF as RESULT DETERMINISTIC,
   Constructor Function SDO_Topo_Geometry(topology varchar2,
                                    TG_Type number,
                                    TG_layer_id NUMBER,
                                    add_Topo_ids SDO_TGL_OBJECT_ARRAY,
                                    delete_Topo_ids SDO_TGL_OBJECT_ARRAY) 
     return SELF as RESULT DETERMINISTIC,
   Constructor Function SDO_Topo_Geometry(topology varchar2,
                                    Table_Name  varchar2,
                                    Column_Name varchar2,
                                    TG_Type number,
                                    add_Topo_ids SDO_TGL_OBJECT_ARRAY,
                                    delete_Topo_ids SDO_TGL_OBJECT_ARRAY) 
     return SELF as RESULT DETERMINISTIC,

   Member Function Get_Geometry
     return SDO_GEOMETRY DETERMINISTIC )';

   exception
     when dependent_objects then NULL;
     when others then
       SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                              'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')14]: ' || SQLERRM); 
  end;

 begin
   execute immediate 
 ' alter type sdo_topo_geometry add 
   Constructor Function SDO_Topo_Geometry(topology varchar2,
                                    TG_Type number,
                                    TG_layer_id NUMBER,
                                    Topo_ids SDO_TOPO_OBJECT_ARRAY) 
     return SELF as RESULT DETERMINISTIC,
   add Constructor Function SDO_Topo_Geometry(topology varchar2,
                                    TG_Type number,
                                    TG_layer_id NUMBER,
                                    add_Topo_ids SDO_TOPO_OBJECT_ARRAY,
                                    delete_Topo_ids SDO_TOPO_OBJECT_ARRAY) 
     return SELF as RESULT DETERMINISTIC,
   add Constructor Function SDO_Topo_Geometry(topology varchar2,
                                    Table_Name  varchar2,
                                    Column_Name varchar2,
                                    TG_Type number,
                                    Topo_ids SDO_TOPO_OBJECT_ARRAY) 
     return SELF as RESULT DETERMINISTIC,
   add Constructor Function SDO_Topo_Geometry(topology varchar2,
                                    Table_Name  varchar2,
                                    Column_Name varchar2,
                                    TG_Type number,
                                    add_Topo_ids SDO_TOPO_OBJECT_ARRAY,
                                    delete_Topo_ids SDO_TOPO_OBJECT_ARRAY) 
     return SELF as RESULT DETERMINISTIC,
 add   Member Function Get_Topo_Elements
     return SDO_TOPO_OBJECT_ARRAY DETERMINISTIC  CASCADE';

   exception
     when compilation_error then NULL;
     when others then
       SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                              'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')15]: ' || SQLERRM); 
  end;
end;
/


declare
begin
  begin
    execute immediate
   ' alter type SDO_Topo_Geometry ' ||
   'add member function Get_TGL_Objects ' ||
   ' return SDO_TGL_OBJECT_ARRAY DETERMINISTIC CASCADE ';
    exception
      when others then
        return;
   end;
end;
/


declare
begin
  begin
    execute immediate
  ' alter type sdo_topo_geometry add ' ||
  '  Constructor Function SDO_Topo_Geometry(tg_id number, topology varchar2,
                                    TG_Type number,
                                    TG_layer_id NUMBER,
                                    Topo_ids SDO_TOPO_OBJECT_ARRAY)
     return SELF as RESULT DETERMINISTIC CASCADE';

    execute immediate
  ' alter type sdo_topo_geometry add ' ||
  ' Constructor Function SDO_Topo_Geometry(tg_id number, topology varchar2,
                                    TG_Type number,
                                    TG_layer_id NUMBER,
                                    add_Topo_ids SDO_TOPO_OBJECT_ARRAY,
                                    delete_Topo_ids SDO_TOPO_OBJECT_ARRAY)
     return SELF as RESULT DETERMINISTIC CASCADE';

    execute immediate
  ' alter type sdo_topo_geometry add ' ||
  ' Constructor Function SDO_Topo_Geometry(tg_id number, topology varchar2,
                                    Table_Name  varchar2,
                                    Column_Name varchar2,
                                    TG_Type number,
                                    Topo_ids SDO_TOPO_OBJECT_ARRAY)
     return SELF as RESULT DETERMINISTIC CASCADE';

    execute immediate
  ' alter type sdo_topo_geometry add ' ||
  ' Constructor Function SDO_Topo_Geometry(tg_id number, topology varchar2,
                                    Table_Name  varchar2,
                                    Column_Name varchar2,
                                    TG_Type number,
                                    add_Topo_ids SDO_TOPO_OBJECT_ARRAY,
                                    delete_Topo_ids SDO_TOPO_OBJECT_ARRAY)
     return SELF as RESULT DETERMINISTIC CASCADE';

    execute immediate
  ' alter type sdo_topo_geometry add ' ||
  ' Constructor Function SDO_Topo_Geometry(tg_id number, topology varchar2,
                                    TG_Type number,
                                    TG_layer_id NUMBER,
                                    Topo_ids SDO_TGL_OBJECT_ARRAY)
     return SELF as RESULT DETERMINISTIC CASCADE';

    execute immediate
  ' alter type sdo_topo_geometry add ' ||
  ' Constructor Function SDO_Topo_Geometry(tg_id number, topology varchar2,
                                    Table_Name  varchar2,
                                    Column_Name varchar2,
                                    TG_Type number,
                                    Topo_ids SDO_TGL_OBJECT_ARRAY)
     return SELF as RESULT DETERMINISTIC CASCADE';

    execute immediate
  ' alter type sdo_topo_geometry add ' ||
  ' Constructor Function SDO_Topo_Geometry(tg_id number, topology varchar2,
                                    TG_Type number,
                                    TG_layer_id NUMBER,
                                    add_Topo_ids SDO_TGL_OBJECT_ARRAY,
                                    delete_Topo_ids SDO_TGL_OBJECT_ARRAY)
     return SELF as RESULT DETERMINISTIC CASCADE ';

    execute immediate
  ' alter type sdo_topo_geometry add ' ||
  ' Constructor Function SDO_Topo_Geometry(tg_id number, topology varchar2,
                                    Table_Name  varchar2,
                                    Column_Name varchar2,
                                    TG_Type number,
                                    add_Topo_ids SDO_TGL_OBJECT_ARRAY,
                                    delete_Topo_ids SDO_TGL_OBJECT_ARRAY)
     return SELF as RESULT DETERMINISTIC CASCADE ';
    exception
      when others then
        return;
 end;
end;
/

declare
begin
  begin
   execute immediate
    ' alter type sdo_topo_geometry add ' ||
    ' MAP MEMBER FUNCTION to_string RETURN VARCHAR2 CASCADE ';
   exception
     when others then 
       return;
  end;
end;
/

show errors;

grant execute on MDSYS.SDO_Topo_Geometry to public;
declare
begin
  begin
    execute immediate
             'create or replace public synonym SDO_Topo_Geometry ' ||
             '  for MDSYS.SDO_Topo_Geometry';
    exception
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdotptyp.sql(' || $$PLSQL_LINE || ')16]: ' || SQLERRM); RAISE;
   end;
end;
/

Rem ********************************************************************
Rem #16473696: Indicate Oracle-Supplied object
@?/rdbms/admin/sqlsessend.sql
Rem ********************************************************************


OHA YOOOO