MINI MINI MANI MO
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