5.15. PLVio: Input/Output Processing

The PLVio (PL/Vision Input/Output) package consolidates all of the logic required to read from and write to repositories for PL/SQL source code. See Chapter 12 for details.

5.15.1. Package constants and exceptions

c_name PLV.plsql_identifier%TYPE := 'name';
c_type PLV.plsql_identifier%TYPE := 'type';
c_text PLV.plsql_identifier%TYPE := 'text';
c_line PLV.plsql_identifier%TYPE := 'line';
c_schema PLV.plsql_identifier%TYPE := 'owner';

The default names for the columns of the database table repository. You can override these names in calls to setsrc and settrg.

c_notset CONSTANT VARCHAR2(1) := 'U';

The value used by PLVio to detect when a repository (source or target) have not yet been set.

insert_failure EXCEPTION;

Exception raised when PLVio is unable to insert or put a line to the target repository.

5.15.2. Package records

TYPE line_type IS RECORD
   (text VARCHAR2(2000) := NULL,
    len INTEGER := NULL,
    pos INTEGER := 1,
    line INTEGER := 0, /* line # in original */
    line# INTEGER := 0,	/* line # for new */
    is_blank BOOLEAN := FALSE,
    eof BOOLEAN := FALSE,
    indent INTEGER := 0,
    unindent BOOLEAN := FALSE,
    continuation BOOLEAN := FALSE,
    blank_line_before BOOLEAN := FALSE);

The line_type record TYPE defines the structure for a line datatype in PLVio.

empty_line line_type;

Predefined empty line that can be used to initialize a line's fields.

5.15.3. Source and target repository type functions

FUNCTION file_source RETURN BOOLEAN; FUNCTION pstab_source ...

Get Advanced Oracle PL/SQL Programming with Packages now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.