MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/ctx/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/ctx/admin/dricon.pkh

rem Copyright (c) 1997, 2017, Oracle and/or its affiliates. 
rem All rights reserved.
rem    NAME
rem      dricon.pkh - DR Internal CONstraint management
rem    DESCRIPTION
rem      This package contains internal code to check for unique
rem      key constraints and such
rem
rem    NOTES
rem 
rem    BEGIN SQL_FILE_METADATA
rem      SQL_SOURCE_FILE: ctx_src_2/src/dr/admin/dricon.pkh
rem      SQL_SHIPPED_FILE: ctx/admin/dricon.pkh
rem      SQL_PHASE: DRICON_PKH
rem      SQL_STARTUP_MODE: NORMAL
rem      SQL_IGNORABLE_ERRORS: NONE
rem      SQL_CALLING_FILE: ctx/admin/ctxpkh.sql
rem    END SQL_FILE_METADATA
rem
rem    MODIFIED    (MM/DD/YY)
rem      snetrava   03/22/17  - Added user id to set_store_obj signature
rem      surman     01/23/15  - 20411134: Add SQL metadata tags
rem      surman     03/15/13  - 16473661: Common start and end scripts
rem      gkaminag   09/29/05  - cdi indexing 
rem      daliao     10/16/02  - add exist_tab
rem      gkaminag   02/05/02  - bug 2213345: handle XMLType detail columns.
rem      salpha     06/26/00 -  ctxrule implementation
rem      gkaminag   02/23/00 -  ctxcat implementation
rem      gkaminag   10/11/99 -  keyless index
rem      gkaminag   06/21/99 -  format and charset columns
rem      gkaminag   06/09/99 -  language column
rem      ehuang     03/18/99 -  add get_type_data_type
rem      ehuang     11/04/98 -  set_store_obj to take idx_owner
rem      gkaminag   05/05/98 -  add find_pk
rem      ehuang     03/30/98 -  mv validate_pol to driload
rem      gkaminag   03/18/98 -  put datastore logic here
rem      ehuang     01/25/98 -  expose get_column_type
rem      gkaminag   12/09/97 -  text column length
rem      gkaminag   12/04/97 -  remove lineno parameters
rem      dyu        08/21/97 -  workaround 532862
rem      ehuang     04/28/97 -  add validate_pol
rem      gkaminag   04/11/97 -  creation

@@?/rdbms/admin/sqlsessstart.sql

create or replace package dricon as

/*---------------------------- set_datatype_obj ------------------------*/
/*
  NAME
    set_datatype_obj
 
  DESCRIPTION
    calculates which datatype object is needed

  RETURNS
    names of datatype preference and obj_id
*/
PROCEDURE set_datatype_obj(
  p_texttype      in  number,  
  p_datatype_pref out varchar2,
  p_datatype_id   out number
);

/*---------------------------- set_store_obj ------------------------*/
/*
  NAME
    set_store_obj
 
  DESCRIPTION
    calculates which datastore objects are needed

  RETURNS
    names of store interface and store type to use
*/
PROCEDURE set_store_obj(
  p_dstore_pref   in  varchar2,
  p_texttype      in  number,  
  p_idx_owner     in  varchar2,
  p_key_name      in  varchar2,
  p_storex_pref   out varchar2,
  p_datatype_pref out varchar2,
  p_idx_owner_id  in  number default NULL
);

/*---------------------------- get_data_type ------------------------*/
/*
  NAME
    get_data_type
 
  DESCRIPTION
    simple way to get the data type of a table column

  RETURNS
    datatype as a word.  type_num is the datatype as the oracle type id.

  NOTES
    all arguments should be UPPER'ed first
*/
FUNCTION get_data_type(
  p_owner   IN  varchar2, 
  p_tabname IN  varchar2, 
  p_colname IN  varchar2,
  type_num  OUT number,
  dtlength  OUT number,
  dtscale   OUT number
) return varchar2;

/*----------------------- get_type_data_type ------------------------*/
/*
  NAME
    get_type_data_type
 
  DESCRIPTION
    get the data type of a type table column

  RETURNS
    datatype as a word.  type_num is the datatype as the oracle type id.

  NOTES
    all arguments should be UPPER'ed first
*/
PROCEDURE get_type_data_type(
  p_typename IN  varchar2,    -- type name with owner prefix
  p_colname  IN  varchar2,    -- text column name with no owner prefix
  p_typenum  OUT number,      -- text column datatype
  p_dtlen    OUT number       -- text column data length
);

/*----------------------------- validate_tab -------------------------------*/
/*
  NAME
    validate_tab - VALIDATE TABle
  DESCRIPTION
    validate table exists

  NOTES
    Assumes that p_owner, p_table_name are NON-NULL
*/
PROCEDURE validate_tab(
  owner         in  varchar2,     -- owner of table
  tabname       in  varchar2      -- table name
);

/* ----------------- test if the table exists ------------------------ */
/* NAME 
     exist_tab - test if table exists
   DESCRIPTION
     return true when table exists, 
            false when table does not exist

   NOTES
    Assumes that p_owner, p_table_name are NON-NULL
*/
FUNCTION exist_tab(
	l_owner   IN VARCHAR2,
	l_tabname IN VARCHAR2) return boolean;

/*----------------------- validate_text_column ----------------------------*/
/*
  NAME
    validate_text_column

  DESCRIPTION
    validate column exists, get the type and length, and make sure
    we can index this type.

  NOTES
    Assumes that table exists
*/

procedure validate_text_column(
  p_idx_type    in     number,
  owner         in     varchar2,     -- owner of table
  tabname       in     varchar2,     -- table name
  column_name   in     varchar2,
  coltype       out    number,
  collen        out    number
);

/*----------------------- validate_meta_column ----------------------------*/
/*
  NAME
    validate_meta_column

  DESCRIPTION
    validate column exists, ensure type, normalize name

  NOTES
    Assumes that table exists
*/
PROCEDURE validate_meta_column(
  p_owner       in     varchar2,
  p_tabname     in     varchar2,  
  p_langcol     in     varchar2,
  p_type_error  in     number,
  p_norm        in out varchar2
);

/*--------------------- get_primary_key -------------------------------*/
/*
  NAME
    get_primary_key
 
  DESCRIPTION
    detect the primary key columns, determine their type and number
*/
PROCEDURE get_primary_key(
  p_owner       in  varchar2,
  p_table_name  in  varchar2,
  keyname       out varchar2,
  keytype       out number
);

/*----------------------- validate_cdi ----------------------------*/
/*
  NAME
    validate_cdi

  DESCRIPTION
    validate column types, lengths, etc.
*/
PROCEDURE validate_cdi(
  p_owner       in varchar2,
  p_table_name  in varchar2,
  cols          in sys.odcicolinfolist,
  collen        in out nocopy dr_def.id_tab,
  coltype       in out nocopy dr_def.name_tab,
  coltype#      in out nocopy dr_def.id_tab,
  p_secgrp      in varchar2
);

end dricon;
/

@?/rdbms/admin/sqlsessend.sql

OHA YOOOO