MINI MINI MANI MO
Rem
Rem $Header: ordim/src/server/sql/source/ordsrcsp.sql /main/15 2017/06/24 06:41:32 smavris Exp $
Rem
Rem ordsrcsp.sql
Rem
Rem Copyright (c) 1998, 2017, Oracle and/or its affiliates.
Rem All rights reserved.
Rem
Rem NAME
Rem ordsrcsp.sql - ORD SouRCe SPecification
Rem
Rem DESCRIPTION
Rem ORD SouRCe SPecification
Rem This object is a low level object, designed to be used
Rem by other objects such as ORDAudio, ORDVideo etc. This
Rem object requires the users to maintain this in a consistent
Rem state. e.g. if the data is imported into localData field
Rem the user must set "local" field to indicate that.
Rem
Rem NOTES
Rem Being a low level object designed to help other objects, there
Rem is no protocol imposed on users. Users must pick an appropriate
Rem protocol for their applications and implement that with the
Rem help of this object.
Rem
Rem MODIFIED (MM/DD/YY)
Rem smavris 06/22/17 - Schema qualify
Rem smavris 03/26/13 - XbranchMerge smavris_bug-16473669 from
Rem st_ordim_12.1.0
Rem smavris 03/15/13 - Common start and end scripts
Rem rabbott 08/27/07 - merge alter to create clause
Rem fechen 11/16/06 - remove pragma restriction.
Rem smavris 01/30/03 - Change to create type
Rem smavris 04/11/01 - Update copyright
Rem smavris 03/02/01 - Remove / after alter
Rem dmullen 03/03/00 - Add simplified import to fix bug 949833
Rem smavris 09/30/99 - Make it work with sqlplus
Rem dmullen 08/17/99 - Add alter type for upgrade scripts
Rem dmullen 07/20/99 - Fix temp lob leaks
Rem rchatter 11/16/98 - rework source plugin context
Rem alsrivas 08/26/98 - fixing attribute names
Rem rchatter 08/12/98 - fixing interfaces
Rem alsrivas 07/29/98 - adding new methods to make api more file like
Rem rchatter 07/09/98 - fixing importFrom interface
Rem alsrivas 06/11/98 - adding date field
Rem alsrivas 06/08/98 - adding pragma
Rem alsrivas 05/26/98 - adding timestamp and oid
Rem alsrivas 05/25/98 - changes made per code review findings
Rem alsrivas 05/11/98 - updating
Rem alsrivas 04/27/98 - updating code for user-defined sources
Rem alsrivas 03/27/98 - updating signatures per new spec
Rem alsrivas 03/11/98 - updating ORDSource spec
Rem alsrivas 01/14/98 - ORD SouRCe SPecification
Rem alsrivas 01/14/98 - Created
Rem
@@?/rdbms/admin/sqlsessstart.sql
CREATE TYPE ORDSYS.ORDSource
TIMESTAMP '1998-06-25:12:08:00'
OID '2F1B4210A0E33FFEE03400400B4066F3'
authid current_user
AS OBJECT
(
-------------
-- Attributes
-------------
-- storage for data within oracle. Every operation
-- for the data stored in this field will be under
-- the control of transaction within which the
-- methods are called. This means that all the changes can
-- either be commited or rolled back as desired by the
-- user
localData BLOB,
--
-- srcType, srcLocation and srcName are limited to 4K
-- due to system limitation on the size of varchar2 field
--
srcType VARCHAR2(4000),
srcLocation VARCHAR2(4000),
srcName VARCHAR2(4000),
-- updateTime maintains the time when the users updated either
-- source or the object containing the source last. This attribute
-- is not updated when import is called, but importFrom updates
-- this method since the source information is changed.
--
-- For recoding updates when the top level objevt changes, users
-- must call set method at appropriate time.
updateTime DATE,
-- 1 or NULL means data is in LOB
-- 0 means that the data is in external sources
local NUMBER,
--
----------
-- Methods
----------
--
-- METHODS RELATED TO 'local' FIELD
MEMBER PROCEDURE setLocal(SELF IN OUT NOCOPY ORDSource),
MEMBER PROCEDURE clearLocal(SELF IN OUT NOCOPY ORDSource),
MEMBER FUNCTION isLocal RETURN BOOLEAN,
PRAGMA RESTRICT_REFERENCES(isLocal, WNDS, WNPS, RNDS, RNPS),
--
-- DATE RELATED METHODS
MEMBER FUNCTION getUpdateTime RETURN DATE,
PRAGMA RESTRICT_REFERENCES(getUpdateTime, WNDS, WNPS, RNDS, RNPS),
--
MEMBER PROCEDURE setUpdateTime(SELF IN OUT NOCOPY ORDSource,
current_time DATE),
--
-- SOURCE INFORMATION
MEMBER PROCEDURE setSourceInformation(SELF IN OUT NOCOPY ORDSource,
source_type IN VARCHAR2,
source_location IN VARCHAR2,
source_name IN VARCHAR2),
MEMBER FUNCTION getSourceInformation
RETURN VARCHAR2,
PRAGMA RESTRICT_REFERENCES(getSourceInformation, WNDS, WNPS, RNDS, RNPS),
--
MEMBER FUNCTION getSourceType RETURN VARCHAR2,
PRAGMA RESTRICT_REFERENCES(getSourceType, WNDS, WNPS, RNDS, RNPS),
--
MEMBER FUNCTION getSourceLocation RETURN VARCHAR2,
PRAGMA RESTRICT_REFERENCES(getSourceLocation, WNDS, WNPS, RNDS, RNPS),
--
MEMBER FUNCTION getSourceName RETURN VARCHAR2,
PRAGMA RESTRICT_REFERENCES(getSourceName, WNDS, WNPS, RNDS, RNPS),
--
MEMBER FUNCTION getBFile RETURN BFILE,
PRAGMA RESTRICT_REFERENCES(getBFile, WNDS, WNPS, RNDS, RNPS),
--
-- SOURCE IMPORT/EXPORT OPERATIONS
MEMBER PROCEDURE import(
SELF IN OUT NOCOPY ORDSource,
ctx IN OUT RAW,
mimetype OUT VARCHAR2,
format OUT VARCHAR2),
MEMBER PROCEDURE import(
SELF IN OUT NOCOPY ORDSource,
ctx IN OUT RAW,
dlob IN OUT NOCOPY BLOB,
mimetype OUT VARCHAR2,
format OUT VARCHAR2),
MEMBER PROCEDURE importFrom( SELF IN OUT NOCOPY ORDSource,
ctx IN OUT RAW,
mimetype OUT VARCHAR2,
format OUT VARCHAR2,
source_type IN VARCHAR2,
source_location IN VARCHAR2,
source_name IN VARCHAR2),
MEMBER PROCEDURE importFrom( SELF IN OUT NOCOPY ORDSource,
ctx IN OUT RAW,
dlob IN OUT NOCOPY BLOB,
mimetype OUT VARCHAR2,
format OUT VARCHAR2,
source_type IN VARCHAR2,
source_location IN VARCHAR2,
source_name IN VARCHAR2),
MEMBER PROCEDURE export(SELF IN OUT NOCOPY ORDSource,
ctx IN OUT RAW,
source_type IN VARCHAR2,
source_location IN VARCHAR2,
source_name IN VARCHAR2),
--
-- SOURCE CONTENT RELATED OPERATIONS
MEMBER FUNCTION getContentLength(ctx IN OUT RAW) RETURN INTEGER,
--
MEMBER FUNCTION getSourceAddress(ctx IN OUT RAW,
userData IN VARCHAR2) RETURN VARCHAR2,
--
MEMBER FUNCTION getLocalContent RETURN BLOB,
PRAGMA RESTRICT_REFERENCES(getLocalContent, WNDS, WNPS, RNDS, RNPS),
--
MEMBER PROCEDURE getContentInTempLob(
SELF IN OUT NOCOPY ORDSource,
ctx IN OUT RAW,
tempLob IN OUT NOCOPY BLOB,
mimetype OUT VARCHAR2,
format OUT VARCHAR2,
duration IN PLS_INTEGER := 10,
cache IN BOOLEAN := TRUE),
MEMBER PROCEDURE deleteLocalContent,
--
-- SOURCE ACCESS METHODS
MEMBER FUNCTION open(
SELF IN OUT NOCOPY ORDSource,
userArg IN RAW,
ctx OUT RAW) RETURN INTEGER,
MEMBER FUNCTION close(
SELF IN OUT NOCOPY ORDSource,
ctx IN OUT RAW) RETURN INTEGER,
MEMBER FUNCTION trim(SELF IN OUT NOCOPY ORDSource,
ctx IN OUT RAW,
newlen IN INTEGER) RETURN INTEGER,
--
-- CONTENT READ/WRITE OPERATIONS
MEMBER PROCEDURE read(SELF IN OUT NOCOPY ORDSource,
ctx IN OUT RAW,
startPos IN INTEGER,
numBytes IN OUT INTEGER,
buffer OUT RAW),
MEMBER PROCEDURE write(SELF IN OUT NOCOPY ORDSource,
ctx IN OUT RAW,
startPos IN INTEGER,
numBytes IN OUT INTEGER,
buffer IN RAW),
--
-- SEND OFF ANY COMMAND TO THE EXTERNAL SOURCE PLUGIN
MEMBER FUNCTION processCommand(
SELF IN OUT NOCOPY ORDSource,
ctx IN OUT RAW,
command IN VARCHAR2,
arglist IN VARCHAR2,
result OUT RAW) RETURN RAW
--
);
/
show errors;
@?/rdbms/admin/sqlsessend.sql
OHA YOOOO