55 lines
2.1 KiB
SQL
55 lines
2.1 KiB
SQL
/* contrib/gms_output/gms_output--1.0.sql */
|
|
|
|
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
|
|
\echo Use "CREATE EXTENSION gms_output" to load this file. \quit
|
|
|
|
CREATE SCHEMA gms_output;
|
|
GRANT USAGE ON SCHEMA gms_output TO PUBLIC;
|
|
|
|
--SUPPORT TYPE CHARARR
|
|
CREATE TYPE gms_output.CHARARR IS TABLE OF VARCHAR2(32767);
|
|
|
|
CREATE OR REPLACE FUNCTION gms_output.enable(buff_size int default 20000)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME','gms_output_enable'
|
|
LANGUAGE C;
|
|
--COMMENT ON FUNCTION gms_output.enable(int) IS 'This function enables calls to PUT, PUT_LINE, NEW_LINE, GET_LINE, and GET_LINES.';
|
|
|
|
CREATE OR REPLACE FUNCTION gms_output.disable()
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME','gms_output_disable'
|
|
LANGUAGE C;
|
|
--COMMENT ON FUNCTION gms_output.disable() IS 'This function disables calls to PUT, PUT_LINE, NEW_LINE, GET_LINE, and GET_LINES.';
|
|
|
|
CREATE OR REPLACE FUNCTION gms_output.put(text)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME','gms_output_put'
|
|
LANGUAGE C
|
|
RETURNS NULL ON NULL INPUT;
|
|
--COMMENT ON FUNCTION gms_output.put(text) IS 'This function places a partial line in the buffer.';
|
|
|
|
CREATE OR REPLACE FUNCTION gms_output.put_line(text)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME','gms_output_put_line'
|
|
LANGUAGE C
|
|
RETURNS NULL ON NULL INPUT;
|
|
--COMMENT ON FUNCTION gms_output.put_line(text) IS 'This function places a line in the buffer.';
|
|
|
|
CREATE OR REPLACE FUNCTION gms_output.new_line()
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME','gms_output_new_line'
|
|
LANGUAGE C;
|
|
--COMMENT ON FUNCTION gms_output.new_line() IS 'This function puts an end-of-line marker.';
|
|
|
|
CREATE OR REPLACE FUNCTION gms_output.get_line(line INOUT text, status INOUT INTEGER)
|
|
RETURNS RECORD
|
|
AS 'MODULE_PATHNAME','gms_output_get_line'
|
|
LANGUAGE C;
|
|
--COMMENT ON FUNCTION gms_output.get_line(line INOUT text, status INOUT INTEGER) IS 'This function retrieves a single line of buffered information..';
|
|
|
|
CREATE OR REPLACE FUNCTION gms_output.get_lines(lines INOUT text[], numlines INOUT INTEGER)
|
|
RETURNS RECORD
|
|
AS 'MODULE_PATHNAME','gms_output_get_lines'
|
|
LANGUAGE C;
|
|
--COMMENT ON FUNCTION gms_output.get_lines(lines INOUT text[], numlines INOUT INTEGER) IS 'This function retrieves an array of lines from the buffer.';
|