MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/rdbms/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/rdbms/admin/dbmsxvr.sql

Rem
Rem $Header: rdbms/admin/dbmsxvr.sql /main/10 2014/02/20 12:46:26 surman Exp $
Rem
Rem dbmsxvr.sql
Rem
Rem Copyright (c) 2003, 2014, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      dbmsxvr.sql - DBMS_XDB_VERSION package
Rem
Rem    DESCRIPTION
Rem      Package definiton and body of dbms_xdb_version package.
Rem
Rem    NOTES
Rem      Split out from catxdbvr for the purposes of independent loading
Rem
Rem
Rem BEGIN SQL_FILE_METADATA
Rem SQL_SOURCE_FILE: rdbms/admin/dbmsxvr.sql
Rem SQL_SHIPPED_FILE: rdbms/admin/dbmsxvr.sql
Rem SQL_PHASE: DBMSXVR
Rem SQL_STARTUP_MODE: NORMAL
Rem SQL_IGNORABLE_ERRORS: NONE
Rem SQL_CALLING_FILE: rdbms/admin/catxdbvr
Rem END SQL_FILE_METADATA
Rem
Rem    MODIFIED   (MM/DD/YY)
Rem    surman      01/23/14 - 13922626: Update SQL metadata
Rem    qyu         03/18/13 - Common start and end scripts
Rem    stirmizi    04/11/12 - remove subprograms from dbms_xdb_version header
Rem    yinlu       10/13/11 - handle checkin and uncheckout
Rem    yinlu       09/29/11 - add makeversioned_int
Rem    yinlu       07/20/11 - add pragma for logical standby
Rem    thbaby      12/30/05 - new checkout api 
Rem    thbaby      12/30/05 - default parameter values 
Rem    thbaby      11/09/05 - add workspace related API routines 
Rem    vkapoor     03/07/05 - 
Rem    vkapoor     02/03/05 - bug 4075243 
Rem    vkapoor     02/06/05 - bug 4075253 
Rem    najain      10/01/04 - dbms_xdb_version is invoker\'s rights
Rem    spannala    12/23/03 - spannala_bug-3321840 
Rem    spannala    12/16/03 - Created
Rem

@@?/rdbms/admin/sqlsessstart.sql

/* Package DBMS_XDB_VERSION */
create or replace package XDB.DBMS_XDB_VERSION authid current_user as

  SUBTYPE resid_type is RAW(16);
  TYPE resid_list_type is VARRAY(1000) of RAW(16);

  PROCEDURE makeversioned_int(pathname IN VARCHAR2, resid OUT resid_type);
  PRAGMA SUPPLEMENTAL_LOG_DATA(makeversioned_int, AUTO);

  FUNCTION makeversioned(pathname VARCHAR2) RETURN resid_type;

  PROCEDURE checkout(pathname VARCHAR2);
  PRAGMA SUPPLEMENTAL_LOG_DATA(checkout, AUTO);

  PROCEDURE checkin_int(pathname IN VARCHAR2, resid OUT resid_type);
  PRAGMA SUPPLEMENTAL_LOG_DATA(checkin_int, AUTO);

  FUNCTION checkin(pathname VARCHAR2) RETURN resid_type;

  PROCEDURE uncheckout_int(pathname IN VARCHAR2, resid OUT resid_type);
  PRAGMA SUPPLEMENTAL_LOG_DATA(uncheckout_int, AUTO);

  FUNCTION uncheckout(pathname VARCHAR2) RETURN resid_type;

  FUNCTION ischeckedout(pathname VARCHAR2) RETURN BOOLEAN;
  FUNCTION GetPredecessors(pathname VARCHAR2) RETURN resid_list_type;
  FUNCTION GetPredsByResId(resid resid_type) RETURN resid_list_type;
  FUNCTION GetSuccessors(pathname VARCHAR2) RETURN resid_list_type;
  FUNCTION GetSuccsByResId(resid resid_type) RETURN resid_list_type;
  FUNCTION GetResourceByResId(resid resid_type) RETURN XMLType;
  FUNCTION GetContentsBlobByResId(resid resid_type) RETURN BLOB;
  FUNCTION GetContentsClobByResId(resid resid_type) RETURN CLOB;
  FUNCTION GetContentsXmlByResId(resid resid_type) RETURN XMLType;

end DBMS_XDB_VERSION;
/
show errors;

/* library for DBMS_XDB_VERSION */
CREATE OR REPLACE LIBRARY XDB.DBMS_XDB_VERSION_LIB TRUSTED AS STATIC
/

/* package body */
create or replace package body XDB.DBMS_XDB_VERSION as

  PROCEDURE makeversioned_int(pathname IN varchar2, resid OUT resid_type) is
    LANGUAGE C NAME "qmevsMakeVersioned"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  pathname OCIString, 
                  pathname indicator sb4,
                  resid,
                  resid    indicator sb4,
                  resid    length size_t
                 );

  FUNCTION makeversioned(pathname varchar2) RETURN resid_type is
    ret resid_type;
  BEGIN
    makeversioned_int(pathname, ret);
    return ret;
  END;

  PROCEDURE checkout(pathname varchar2) is
    LANGUAGE C NAME "qmevsCheckout"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  pathname     OCIString, 
                  pathname indicator sb4);

  PROCEDURE checkin_int(pathname IN varchar2, resid OUT resid_type) is
    LANGUAGE C NAME "qmevsCheckin"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  pathname OCIString, 
                  pathname indicator sb4,
                  resid,
                  resid    indicator sb4,
                  resid    length size_t
                 );

  FUNCTION checkin(pathname varchar2) RETURN resid_type is
    ret resid_type;
  BEGIN
    checkin_int(pathname, ret);
    return ret;
  END;

  PROCEDURE uncheckout_int(pathname IN varchar2, resid OUT resid_type) is
    LANGUAGE C NAME "qmevsUncheckout"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  pathname OCIString, 
                  pathname indicator sb4,
                  resid,
                  resid    indicator sb4,
                  resid    length size_t
                 );

  FUNCTION uncheckout(pathname varchar2) RETURN resid_type is
    ret resid_type;
  BEGIN
    uncheckout_int(pathname, ret);
    return ret;
  END;

  FUNCTION ischeckedout(pathname varchar2) RETURN BOOLEAN is
    LANGUAGE C NAME "qmevsIsResCheckedOut"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  pathname OCIString, pathname indicator sb4,
                  RETURN INDICATOR sb4, 
                  return
                 );

  FUNCTION getresid(pathname varchar2) RETURN resid_type is
    LANGUAGE C NAME "qmevsGetResID"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  pathname OCIString, pathname indicator sb4,
                  RETURN INDICATOR sb4,
                  RETURN LENGTH size_t
                 );

  FUNCTION GetPredecessors(pathname varchar2) RETURN resid_list_type is
    resid  resid_type;
  BEGIN
    resid := getresid(pathname);
    return GetPredsByResId(resid);
  END;

  FUNCTION GetPredsByResId(resid resid_type) RETURN resid_list_type is
    LANGUAGE C NAME "qmevsGetPredsByResId"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  resid OCIRaw, resid indicator sb2,
                  RETURN INDICATOR sb4,
                  RETURN DURATION OCIDuration,
                  RETURN
                 );

  FUNCTION GetSuccessors(pathname varchar2) RETURN resid_list_type is
    resid  resid_type;
  BEGIN
    resid := getresid(pathname);
    return GetSuccsByResId(resid);
  END;

  FUNCTION GetSuccsByResId(resid resid_type) RETURN resid_list_type is
    LANGUAGE C NAME "qmevsGetSuccsByResId"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  resid OCIRaw, resid indicator sb2,
                  RETURN INDICATOR sb4,
                  RETURN DURATION OCIDuration,
                  RETURN
                 );

  FUNCTION GetResourceByResId(resid resid_type) RETURN XMLType is
    LANGUAGE C NAME "qmevsGetResByResId"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  resid OCIRaw, resid indicator sb2,
                  RETURN INDICATOR sb4,
                  RETURN DURATION OCIDuration,
                  RETURN
                 );

  FUNCTION GetContentsBlobByResId(resid resid_type) RETURN BLOB is
    LANGUAGE C NAME "qmevsGetCtsBlobByResId"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  resid OCIRaw, resid indicator sb2,
                  RETURN INDICATOR sb4,
                  RETURN DURATION OCIDuration,
                  RETURN OCILobLocator
                 );

  FUNCTION GetContentsClobByResId(resid resid_type) RETURN CLOB is
    LANGUAGE C NAME "qmevsGetCtsClobByResId"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  resid OCIRaw, resid indicator sb2,
                  RETURN INDICATOR sb4,
                  RETURN DURATION OCIDuration,
                  RETURN OCILobLocator
                 );

  FUNCTION GetContentsXmlByResId(resid resid_type) RETURN XMLType is
    LANGUAGE C NAME "qmevsGetCtsXmlByResId"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  resid OCIRaw, resid indicator sb2,
                  RETURN INDICATOR sb4,
                  RETURN DURATION OCIDuration,
                  RETURN
                 );

  FUNCTION GetVersionHistoryID(pathname varchar2) RETURN resid_type is
    LANGUAGE C NAME "qmevsGetVerHistID"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  pathname OCIString, pathname indicator sb4,
                  RETURN INDICATOR sb4,
                  RETURN LENGTH size_t
                 );

  FUNCTION GetVersionHistory(resid resid_type) RETURN resid_list_type is
    LANGUAGE C NAME "qmevsGetVerHist"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  resid OCIRaw, resid indicator sb2,
                  RETURN INDICATOR sb4,
                  RETURN DURATION OCIDuration,
                  RETURN
                 );

  FUNCTION GetVersionHistoryRoot(resid resid_type) RETURN resid_type IS
    LANGUAGE C NAME "qmevsGetVerHistRoot"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  resid OCIRaw, resid indicator sb2,
                  RETURN INDICATOR sb4,
                  RETURN LENGTH size_t
                 );

  PROCEDURE CreateRealWorkspace(wsname        IN VARCHAR2, 
                                initializer   IN VARCHAR2,
                                published     IN boolean, 
                                privateNonVCR IN boolean) IS
    LANGUAGE C NAME "qmevsCreateRealWS"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  wsname            OCIString, 
                  wsname        indicator sb4,
                  initializer       OCIString, 
                  initializer   indicator sb4,
                  published               ub2, 
                  published     indicator sb4,
                  privateNonVCR           ub2, 
                  privateNonVCR indicator sb4
                 );

  PROCEDURE CreateVirtualWorkspace(wsname      IN VARCHAR2, 
                                   base_wsname IN VARCHAR2) IS
    LANGUAGE C NAME "qmevsCreateVirtualWS"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  wsname          OCIString, 
                  wsname      indicator sb4,
                  base_wsname     OCIString, 
                  base_wsname indicator sb4
                 );

  PROCEDURE DeleteWorkspace(wsname IN VARCHAR2) IS
    LANGUAGE C NAME "qmevsDeleteWS"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  wsname     OCIString, 
                  wsname indicator sb4
                 );

  PROCEDURE SetWorkspace(wsname IN VARCHAR2) IS
    LANGUAGE C NAME "qmevsSetWS"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  wsname     OCIString, 
                  wsname indicator sb4
                 );

  PROCEDURE GetWorkspace(wsname OUT VARCHAR2) IS
    LANGUAGE C NAME "qmevsGetWS"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  wsname          STRING,
                  wsname   INDICATOR sb4,
                  wsname      LENGTH sb4,
                  wsname      MAXLEN sb4
                 );

  PROCEDURE PublishWorkspace(wsname IN VARCHAR2) IS
    LANGUAGE C NAME "qmevsPublishWS"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  wsname     OCIString, 
                  wsname indicator sb4
                 );

  PROCEDURE UnPublishWorkspace(wsname IN VARCHAR2) IS
    LANGUAGE C NAME "qmevsUnPublishWS"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  wsname     OCIString, 
                  wsname indicator sb4
                 );

  PROCEDURE UpdateWorkspace(target_wsname IN VARCHAR2,
                            source_wsname IN VARCHAR2,
                            privateNonVCR IN BOOLEAN) IS
    LANGUAGE C NAME "qmevsUpdateWS"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  target_wsname     OCIString, 
                  target_wsname indicator sb4,
                  source_wsname     OCIString, 
                  source_wsname indicator sb4,
                  privateNonVCR           ub2,
                  privateNonVCR indicator sb4
                 );

  PROCEDURE CreateBranch(name IN VARCHAR2) IS
    LANGUAGE C NAME "qmevsCreateBranch"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  name      OCIString, 
                  name  indicator sb4
                 );

  PROCEDURE MakeShared(path IN VARCHAR2) IS
    LANGUAGE C NAME "qmevsMakeShared"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  path         OCIString, 
                  path     indicator sb4
                 );

  PROCEDURE CreateVCR(path IN VARCHAR2, versionResID IN resid_type) IS
    LANGUAGE C NAME "qmevsCreateVCR"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  path             OCIString, 
                  path         indicator sb4,
                  versionResID        OCIRaw,
                  versionResID indicator sb4
                 );

  PROCEDURE UpdateVCRVersion(path IN VARCHAR2, newResID IN resid_type) IS
    LANGUAGE C NAME "qmevsUpdateVCR"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  path             OCIString, 
                  path         indicator sb4,
                  newResID            OCIRaw,
                  newResID     indicator sb4
                 );

  PROCEDURE DeleteVersion(versionResID IN resid_type) IS
    LANGUAGE C NAME "qmevsDelVersion"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  versionResID        OCIRaw,
                  versionResID indicator sb4
                 );

  PROCEDURE DeleteVersionHistory(vhid resid_type) IS
    LANGUAGE C NAME "qmevsDeleteVerHist"
      LIBRARY XDB.DBMS_XDB_VERSION_LIB
      WITH CONTEXT
      PARAMETERS (context,
                  vhid        OCIRaw,
                  vhid indicator sb4
                 );

end DBMS_XDB_VERSION;
/
show errors;
GRANT EXECUTE ON XDB.DBMS_XDB_VERSION TO PUBLIC;
CREATE OR REPLACE PUBLIC SYNONYM DBMS_XDB_VERSION FOR XDB.DBMS_XDB_VERSION;

@?/rdbms/admin/sqlsessend.sql

OHA YOOOO