MINI MINI MANI MO

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

Rem Copyright (c) 1998, 2017, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      sdosrid.sql - SDO_SRID Package Headers
Rem
Rem    DESCRIPTION
Rem      Definition of SDO_SRID package.
Rem
Rem    NOTES
Rem      See also: prvtsrid.sql (Package Body)
Rem
Rem    BEGIN SQL_FILE_METADATA
Rem    SQL_SOURCE_FILE: sdo/admin/sdosrid.sql
Rem    SQL_SHIPPED_FILE: md/admin/sdosrid.sql
Rem    SQL_PHASE: SDOSRID
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    rjanders  10/08/17 - Add MDSYS to spatial type
Rem    rjanders  05/10/17 - #26037683: Raise 'when other' exceptions
Rem    rjanders  03/23/17 - #25437999: Remove 'when others then NULL' handlers
Rem    rjanders  03/09/17 - Add missing SQL_FILE_METADATA information
Rem    rjanders  08/18/15 - Add get_tolerance() API
Rem    sravada   06/28/15 - move internal sdo_cs functions here
Rem    rjanders  03/15/13 - #16473696: Start/End _ORACLE_SCRIPT initialization
Rem    rjanders  09/22/11 - Rename SRID functions for brevity & consistency
Rem    rjanders  09/22/11 - Add get_unit()
Rem    rjanders  03/16/11 - Change get_dims() API
Rem    rjanders  02/25/11 - Add get_dims()
Rem    rjanders  11/20/10 - creation

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

create or replace library ORDMD_SRID_LIBS TRUSTED as STATIC;
/
show errors;

declare
  does_not_exist exception;
  pragma exception_init(does_not_exist, -04043);
begin
 begin
  execute immediate
  ' DROP TYPE MDSYS.TFM_PLAN ';
  exception
    when does_not_exist then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[sdosrid.sql(' || $$PLSQL_LINE || ')1]: ' || SQLERRM); RAISE;
 end;

  begin
    execute immediate
      ' DROP TYPE MDSYS.SDO_TFM_CHAIN ';
    exception
      when does_not_exist then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdosrid.sql(' || $$PLSQL_LINE || ')1b]: ' || SQLERRM); RAISE;
  end;

  begin
   execute immediate
  ' CREATE OR REPLACE TYPE MDSYS.SDO_TFM_CHAIN
   TIMESTAMP ''1998-09-09:16:00:00''
   OID ''5887E4A54F6C3832E0530152F20A70AD''
   AS VARRAY(1048576) OF NUMBER ';
  exception
    when does_not_exist then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[sdosrid.sql(' || $$PLSQL_LINE || ')2]: ' || SQLERRM); RAISE;
 end;
end;
/

CREATE OR REPLACE TYPE MDSYS.TFM_PLAN
AS OBJECT (
  THE_PLAN MDSYS.SDO_TFM_CHAIN,

  CONSTRUCTOR FUNCTION TFM_PLAN
      RETURN SELF AS RESULT,

  CONSTRUCTOR FUNCTION TFM_PLAN(
    source_srid NUMBER)
      RETURN SELF AS RESULT,

  MEMBER PROCEDURE ADD_STEP(
    srid_source  NUMBER,
    tfm         NUMBER,
    srid_target  NUMBER),

  MEMBER FUNCTION GET_NUM_STEPS
      RETURN NUMBER,

  MEMBER FUNCTION GET_STEP(
    num           IN NUMBER,
    source_srid   OUT NUMBER,
    target_srid   OUT NUMBER) RETURN NUMBER,

  MEMBER FUNCTION expand_concat_chain_element(
    source_srid   IN NUMBER,
    chain_element IN NUMBER,
    target_srid   IN NUMBER)
      RETURN TFM_PLAN,

  MEMBER PROCEDURE expand_for_chain_element_core(
    srid_source  IN NUMBER,
    chain_element IN NUMBER,
    srid_target  IN NUMBER),

  MEMBER PROCEDURE expand_inv_chain_element_core(
    srid_source  IN NUMBER,
    chain_element IN NUMBER,
    srid_target  IN NUMBER),

  MEMBER PROCEDURE expand_chain_element_core(
    srid_source  IN NUMBER,
    chain_element IN NUMBER,
    srid_target  IN NUMBER),

  MEMBER FUNCTION expand_concat_chain_elements
      RETURN TFM_PLAN
);
/
show errors;

GRANT EXECUTE ON MDSYS.TFM_PLAN TO PUBLIC WITH GRANT OPTION;
CREATE OR REPLACE PUBLIC SYNONYM TFM_PLAN FOR MDSYS.TFM_PLAN;

GRANT EXECUTE ON MDSYS.SDO_TFM_CHAIN TO PUBLIC WITH GRANT OPTION;
CREATE OR REPLACE PUBLIC SYNONYM SDO_TFM_CHAIN FOR MDSYS.SDO_TFM_CHAIN;


-- GRANT execute on ORDMD_SRID_LIBS to PUBLIC;

-- Only MDSYS has any privs on mdprvt_srid pkg: 3878783
CREATE OR REPLACE PACKAGE mdsys.mdprvt_srid AS

  PROCEDURE sdo_invalidate_srid_metadata(srid IN NUMBER,
                                         srid_type IN VARCHAR2 DEFAULT NULL);
  PRAGMA restrict_references(sdo_invalidate_srid_metadata, wnds, rnps, wnps, trust);

  FUNCTION get_unit(srid IN NUMBER,
                    srid_type IN VARCHAR2 DEFAULT NULL,
                    unit_id OUT NUMBER,
                    unit_factor OUT NUMBER,
                    unit_name OUT VARCHAR2) -- MUST BE VARCHAR2(80)
    RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
  FUNCTION get_unit(srid IN NUMBER,
                    srid_type IN VARCHAR2 DEFAULT NULL,
                    x_unit_id OUT NUMBER,
                    x_unit_factor OUT NUMBER,
                    x_unit_name OUT VARCHAR2, -- MUST BE VARCHAR2(80)
                    y_unit_id OUT NUMBER,
                    y_unit_factor OUT NUMBER,
                    y_unit_name OUT VARCHAR2) -- MUST BE VARCHAR2(80)
    RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
  FUNCTION get_unit(srid IN NUMBER,
                    srid_type IN VARCHAR2 DEFAULT NULL,
                    x_unit_id OUT NUMBER,
                    x_unit_factor OUT NUMBER,
                    x_unit_name OUT VARCHAR2, -- MUST BE VARCHAR2(80)
                    y_unit_id OUT NUMBER,
                    y_unit_factor OUT NUMBER,
                    y_unit_name OUT VARCHAR2, -- MUST BE VARCHAR2(80)
                    z_unit_id OUT NUMBER,
                    z_unit_factor OUT NUMBER,
                    z_unit_name OUT VARCHAR2) -- MUST BE VARCHAR2(80)
    RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;

  FUNCTION get_tolerance(srid IN NUMBER,
                         srid_type IN VARCHAR2 DEFAULT NULL)
    RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
  PRAGMA restrict_references(get_tolerance, wnds, rnps, wnps, trust);

  FUNCTION is_geodetic(srid IN NUMBER,
                       srid_type IN VARCHAR2 DEFAULT NULL)
    RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
  PRAGMA restrict_references(is_geodetic, wnds, rnps, wnps, trust);

  FUNCTION get_dims(srid IN NUMBER)
    RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
  PRAGMA restrict_references(get_dims, wnds, rnps, wnps, trust);

  FUNCTION get_ref_kind(srid IN NUMBER)
    RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
  PRAGMA restrict_references(get_ref_kind, wnds, rnps, wnps, trust);

  FUNCTION det_srid_wkt(srid1 IN NUMBER) 
    RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;

  FUNCTION get_3d_wkt(
    srid IN number)
          RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;

  PROCEDURE populate_datum_3params(
       datum_id IN NUMBER,
       op_id    IN NUMBER);

  PROCEDURE populate_datum_7params(
       datum_id IN NUMBER,
       op_id    IN NUMBER);

  PROCEDURE create_pref_concatenated_op(
    op_id     IN NUMBER,
    op_name   IN VARCHAR2,
    use_plan  IN TFM_PLAN,
    use_case  IN VARCHAR2);

  PROCEDURE create_concatenated_op(
      op_id    IN NUMBER,
      op_name  IN VARCHAR2,
      use_plan IN TFM_PLAN);

  PROCEDURE add_preference_for_op(
     op_id       IN NUMBER,
     source_crs  IN NUMBER DEFAULT NULL,
     target_crs  IN NUMBER DEFAULT NULL,
     use_case    IN VARCHAR2 DEFAULT NULL);

END mdprvt_srid;
/
show errors;

-- Create public synonym

-- DROP PUBLIC SYNONYM sdo_srid
-- /
CREATE OR REPLACE PUBLIC SYNONYM sdo_srid FOR mdsys.mdprvt_srid
/


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


OHA YOOOO