MINI MINI MANI MO
Rem Copyright (c) 1999, 2000 by Oracle Corp. All Rights Reserved.
Rem
Rem NAME
Rem pubcach.sql - PUBlic CACHe package
Rem PURPOSE
Rem Provide cache functions for caching PL/SQL generated contents
Rem NOTES
Rem This file is used to implement PL/SQL caching in the PL/SQL Gateway.
Rem This script should be run by the owner of the OWA packages.
Rem MODIFIED (MM/DD/YY)
Rem cvanes 05/12/14 - 18322709: Correct comment for
Rem owa_cache.set_surrogate_control
Rem ehlee 07/11/01 - adding Surrogate-Control reserve header
Rem ehlee 06/20/00 - adding Expires model support
Rem ehlee 05/11/00 - add check for GATEWAY_IVERSION
Rem ehlee 05/02/00 - creation
Rem
CREATE OR replace PACKAGE owa_cache
AS
--
-- Public types and global variables
--
-- The different caching levels. For now, just user and system.
system_level CONSTANT VARCHAR(6) := 'SYSTEM';
user_level CONSTANT VARCHAR(4) := 'USER';
--
-- PROCEDURE:
-- init
-- DESCRIPTION:
-- Reserve header spaces
-- PARAMS:
-- p_htbuf IN/OUT: the buffer to reserve the headers in
-- p_rows_in IN/OUT: the current row number in that buffer
-- NOTE:
-- Should only be called before any data is written to the htbuf
--
PROCEDURE init(p_htbuf IN OUT NOCOPY htp.htbuf_arr, p_rows_in IN OUT number);
--
-- PROCEDURE:
-- disable
-- DESCRIPTION:
-- Disables the cache
--
PROCEDURE disable;
--
-- PROCEDURE:
-- set_expires
-- DESCRIPTION:
-- Sets up the cache headers
-- PARAMS:
-- p_expires IN: number of minutes this cached item is fresh
-- p_level IN: the caching level for it (USER or SYSTEM for now)
-- EXCEPTIONS:
-- VALUE_ERROR : If p_expires is negative or zero, or p_level is not
-- 'USER' or 'SYSTEM', this exception is thrown
-- If p_expires is > 525600 (1 year), this exception is thrown
PROCEDURE set_expires(p_expires IN number, p_level IN varchar2);
--
-- PROCEDURE:
-- set_cache
-- DESCRIPTION:
-- Sets up the cache headers
-- PARAMS:
-- p_etag IN: the ETag associated with this content
-- p_level IN: the caching level for it (USER or SYSTEM for now)
-- EXCEPTIONS:
-- VALUE_ERROR : If p_etag is greater than 55 in length or p_level is
-- not 'USER' or 'SYSTEM', this exception is thrown
--
PROCEDURE set_cache(p_etag IN varchar2, p_level IN varchar2);
--
-- PROCEDURE:
-- set_not_modified
-- DESCRIPTION:
-- Sets up the headers for a not modified cache hit
-- EXCEPTIONS:
-- VALUE_ERROR : If the ETag wasn't passed in, this exception is thrown
--
PROCEDURE set_not_modified;
--
-- PROCEDURE:
-- set_surrogate_control
-- DESCRIPTION:
-- Sets up the headers for a surrogate-control header for web cache
-- PARAMS:
-- p_value IN: value to be passed as the Surrogate-Control header
-- EXCEPTIONS:
-- VALUE_ERROR : If p_value is greater than 236 in length
--
PROCEDURE set_surrogate_control(p_value IN varchar2);
--
-- FUNCTION:
-- get_level
-- DESCRIPTION:
-- Returns the caching level
-- PARAMS:
-- none
-- RETURN:
-- The caching level string (USER or SYSTEM for now)
--
FUNCTION get_level
RETURN VARCHAR2;
--
-- FUNCTION:
-- get_etag
-- DESCRIPTION:
-- Returns the caching etag
-- PARAMS:
-- none
-- RETURN:
-- The caching etag string
--
FUNCTION get_etag
RETURN VARCHAR2;
END owa_cache;
/
show errors package owa_cache
OHA YOOOO