MINI MINI MANI MO

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

Rem
Rem $Header: sdo/admin/sdordfaggh.sql /main/8 2017/03/17 13:26:18 rjanders Exp $
Rem
Rem sdordfaggh.sql
Rem
Rem Copyright (c) 2012, 2017, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      sdordfaggh.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/sdordfaggh.sql
Rem    SQL_SHIPPED_FILE: md/admin/sdordfaggh.sql
Rem    SQL_PHASE: SDORDFAGGH
Rem    SQL_STARTUP_MODE: NORMAL
Rem    SQL_IGNORABLE_ERRORS: NONE
Rem    SQL_CALLING_FILE: sdo/admin/semrelod.sql
Rem    END SQL_FILE_METADATA
Rem
Rem    MODIFIED   (MM/DD/YY)
Rem    rjanders    03/09/17 - Add missing SQL_FILE_METADATA information
Rem    matperry    12/05/13 - add varchar version of group_concat
Rem    matperry    10/03/13 - add varchar versions of aggregates to enable
Rem                           parallel aggregation
Rem    matperry    10/03/13 - cleanup and fix some parallel issues with
Rem                           ODCIAggregateMerge
Rem    rjanders    03/15/13 - #16473696: Start/End _ORACLE_SCRIPT
Rem                           initialization
Rem    jazarago    03/06/12 - Extend Group_Concat and Min/Max
Rem    jazarago    01/31/12 - Created
Rem

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

/******** Aggregate Function defintion for SPAQRL Aggregate functions ********/


/*********************** Aggregate definition *******************************/
CREATE OR REPLACE TYPE SPARQL_Group_Concat authid current_user AS OBJECT(
 
return_term CLOB,
use_sep           NUMBER,
l_delimiter       VARCHAR2(4000),
language_type     VARCHAR2(10),
literal_type      VARCHAR2(120),

STATIC FUNCTION ODCIAggregateInitialize(
        sctx IN OUT SPARQL_Group_Concat)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateIterate(
         self       IN OUT SPARQL_Group_Concat                
       , value      IN MDSYS.SDO_RDF_TERM)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateMerge(
        self IN OUT SPARQL_Group_Concat
       ,ctx2 IN SPARQL_Group_Concat)
RETURN NUMBER,
 
MEMBER FUNCTION ODCIAggregateTerminate (
        self IN SPARQL_Group_Concat
       ,return_value OUT MDSYS.SDO_RDF_TERM
       ,flags IN NUMBER)              
RETURN NUMBER
);
/

SHOW ERRORS;

CREATE OR REPLACE TYPE SPARQL_Sample authid current_user AS OBJECT(

curr_val      MDSYS.SDO_RDF_TERM,

STATIC FUNCTION ODCIAggregateInitialize(
        sctx IN OUT SPARQL_Sample)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateIterate(
         self       IN OUT SPARQL_Sample
       , value      IN MDSYS.SDO_RDF_TERM)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateMerge(
        self IN OUT SPARQL_Sample
       ,ctx2 IN SPARQL_Sample)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateTerminate (
        self IN SPARQL_Sample
       ,return_value OUT MDSYS.SDO_RDF_TERM
       ,flags IN NUMBER)
RETURN NUMBER
);
/
SHOW ERRORS;

CREATE OR REPLACE TYPE SPARQL_min authid current_user AS OBJECT(

curr_min      NUMBER,
curr_val      MDSYS.SDO_RDF_TERM,

STATIC FUNCTION ODCIAggregateInitialize(
        sctx IN OUT SPARQL_min)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateIterate(
         self       IN OUT SPARQL_min
       , value      IN MDSYS.SDO_RDF_TERM)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateMerge(
        self     IN OUT SPARQL_min
       ,ctx2     IN SPARQL_min)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateTerminate (
        self IN SPARQL_min
       ,return_value OUT MDSYS.SDO_RDF_TERM
       ,flags IN NUMBER)              
RETURN NUMBER
);
/
SHOW ERRORS;

CREATE OR REPLACE TYPE SPARQL_max authid current_user AS OBJECT(

curr_max      NUMBER,
curr_val      MDSYS.SDO_RDF_TERM,

STATIC FUNCTION ODCIAggregateInitialize(
        sctx IN OUT SPARQL_max)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateIterate(
         self       IN OUT SPARQL_max
       , value      IN MDSYS.SDO_RDF_TERM)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateMerge(
        self IN OUT SPARQL_max
       ,ctx2 IN SPARQL_max)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateTerminate (
        self IN SPARQL_max
       ,return_value OUT MDSYS.SDO_RDF_TERM
       ,flags IN NUMBER)              
RETURN NUMBER
);
/
SHOW ERRORS;

/*************************** Function Definition *****************************/

CREATE OR REPLACE FUNCTION sparql_groupconcat (input MDSYS.SDO_RDF_TERM) RETURN MDSYS.SDO_RDF_TERM
PARALLEL_ENABLE AGGREGATE USING MDSYS.SPARQL_Group_Concat;
/
show errors;
  
CREATE OR REPLACE FUNCTION sparql_sampleagg (input MDSYS.SDO_RDF_TERM) RETURN MDSYS.SDO_RDF_TERM
PARALLEL_ENABLE AGGREGATE USING  MDSYS.SPARQL_Sample;
/
show errors;

CREATE OR REPLACE FUNCTION sparql_minagg (input MDSYS.SDO_RDF_TERM) RETURN MDSYS.SDO_RDF_TERM
PARALLEL_ENABLE AGGREGATE USING  MDSYS.SPARQL_min;
/
show errors;

CREATE OR REPLACE FUNCTION sparql_maxagg (input MDSYS.SDO_RDF_TERM) RETURN MDSYS.SDO_RDF_TERM
PARALLEL_ENABLE AGGREGATE USING  MDSYS.SPARQL_max;
/
show errors;

/************************** Granting and Synonyms ****************************/

grant execute on sparql_groupconcat to public;
grant execute on sparql_sampleagg to public;
grant execute on sparql_minagg to public;
grant execute on sparql_maxagg to public;
create or replace public synonym SEM_APIS_GROUP_CONCAT for SPARQL_GROUPCONCAT;
create or replace public synonym SEM_APIS_SAMPLE for SPARQL_SAMPLEAGG;
create or replace public synonym SEM_APIS_MIN for SPARQL_MINAGG;
create or replace public synonym SEM_APIS_MAX for SPARQL_MAXAGG;


/***************** VARCHAR versions for parallel execution ******************/


/*********************** Aggregate definition *******************************/

/************************** GROUP_CONCAT ************************************/
CREATE OR REPLACE TYPE SPARQL_Group_Concat_VC authid current_user AS OBJECT(
 
return_term VARCHAR2(4000),
use_sep           NUMBER,
l_delimiter       VARCHAR2(4000),
language_type     VARCHAR2(10),
literal_type      VARCHAR2(120),

STATIC FUNCTION extractDelim(
         value IN VARCHAR2)
RETURN VARCHAR2,

STATIC FUNCTION extractTerm(
         value IN VARCHAR2)
RETURN VARCHAR2,

STATIC FUNCTION ODCIAggregateInitialize(
        sctx IN OUT SPARQL_Group_Concat_VC)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateIterate(
         self       IN OUT SPARQL_Group_Concat_VC
       , value      IN VARCHAR2)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateMerge(
        self IN OUT SPARQL_Group_Concat_VC
       ,ctx2 IN SPARQL_Group_Concat_VC)
RETURN NUMBER,
 
MEMBER FUNCTION ODCIAggregateTerminate (
        self IN SPARQL_Group_Concat_VC
       ,return_value OUT VARCHAR2
       ,flags IN NUMBER)              
RETURN NUMBER
);
/

SHOW ERRORS;

/************************** SAMPLE ************************************/
CREATE OR REPLACE TYPE SPARQL_Sample_VC authid current_user AS OBJECT(

curr_val      MDSYS.SDO_RDF_TERM,

STATIC FUNCTION ODCIAggregateInitialize(
        sctx IN OUT SPARQL_Sample_VC)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateIterate(
         self       IN OUT SPARQL_Sample_VC
       , value      IN VARCHAR2)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateMerge(
        self IN OUT SPARQL_Sample_VC
       ,ctx2 IN SPARQL_Sample_VC)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateTerminate (
        self IN SPARQL_Sample_VC
       ,return_value OUT VARCHAR2
       ,flags IN NUMBER)
RETURN NUMBER
);
/
SHOW ERRORS;

/************************** MIN ***************************************/
CREATE OR REPLACE TYPE SPARQL_min_VC authid current_user AS OBJECT(

curr_min      NUMBER,
curr_val      MDSYS.SDO_RDF_TERM,

STATIC FUNCTION ODCIAggregateInitialize(
        sctx IN OUT SPARQL_min_VC)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateIterate(
         self       IN OUT SPARQL_min_VC
       , value      IN VARCHAR2)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateMerge(
        self     IN OUT SPARQL_min_VC
       ,ctx2     IN SPARQL_min_VC)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateTerminate (
        self IN SPARQL_min_VC
       ,return_value OUT VARCHAR2
       ,flags IN NUMBER)              
RETURN NUMBER
);
/
SHOW ERRORS;


/************************** MAX ****************************************/
CREATE OR REPLACE TYPE SPARQL_max_VC authid current_user AS OBJECT(

curr_max      NUMBER,
curr_val      MDSYS.SDO_RDF_TERM,

STATIC FUNCTION ODCIAggregateInitialize(
        sctx IN OUT SPARQL_max_VC)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateIterate(
         self       IN OUT SPARQL_max_VC
       , value      IN VARCHAR2)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateMerge(
        self IN OUT SPARQL_max_VC
       ,ctx2 IN SPARQL_max_VC)
RETURN NUMBER,

MEMBER FUNCTION ODCIAggregateTerminate (
        self IN SPARQL_max_VC
       ,return_value OUT VARCHAR2
       ,flags IN NUMBER)              
RETURN NUMBER
);
/
SHOW ERRORS;

/*************************** Function Definition *****************************/

CREATE OR REPLACE FUNCTION sparql_groupconcat_vc (input VARCHAR2) RETURN VARCHAR2
PARALLEL_ENABLE AGGREGATE USING MDSYS.SPARQL_Group_Concat_VC;
/
show errors;

CREATE OR REPLACE FUNCTION sparql_sampleagg_vc (input VARCHAR2) RETURN VARCHAR2
PARALLEL_ENABLE AGGREGATE USING  MDSYS.SPARQL_Sample_VC;
/
show errors;

CREATE OR REPLACE FUNCTION sparql_minagg_vc (input VARCHAR2) RETURN VARCHAR2
PARALLEL_ENABLE AGGREGATE USING  MDSYS.SPARQL_min_VC;
/
show errors;

CREATE OR REPLACE FUNCTION sparql_maxagg_vc (input VARCHAR2) RETURN VARCHAR2
PARALLEL_ENABLE AGGREGATE USING  MDSYS.SPARQL_max_VC;
/
show errors;

/************************** Granting and Synonyms ****************************/

grant execute on sparql_groupconcat_vc to public;
grant execute on sparql_sampleagg_vc to public;
grant execute on sparql_minagg_vc to public;
grant execute on sparql_maxagg_vc to public;
create or replace public synonym SEM_APIS_GROUP_CONCAT_VC for SPARQL_GROUPCONCAT_VC;
create or replace public synonym SEM_APIS_SAMPLE_VC for SPARQL_SAMPLEAGG_VC;
create or replace public synonym SEM_APIS_MIN_VC for SPARQL_MINAGG_VC;
create or replace public synonym SEM_APIS_MAX_VC for SPARQL_MAXAGG_VC;

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


OHA YOOOO