12.6. Reading From the Source
The PLVio.get_line procedure is the core program for reading from the source. This header for this program is:
PROCEDURE get_line
(line_inout IN OUT line_type,
curr_line#_in IN INTEGER := NULL);
The first argument, line_inout, is a record of type line_type (defined in the PLVio specification). The second argument, curr_line#, provides a current line number; if that number is not NULL, it will be used to increment the line# value found in the line_inout record.
The record contains all the information about a line necessary either for PLVio activity or other actions on a line of text. The definition of the record TYPE is:
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);
The following table explains the different fields of a line_type record:
| text | The line of text. |
| len | The length of the line of text. |
| pos | The current position of a scan through this line. |
| line | The line number associated with this text in the source. |
| line# | The line number associated with this text in the target. |
| is_blank | TRUE if the text RTRIMS to NULL. |
| eof | TRUE if no line was placed into the record. |
12.6.1. Main Steps of get_line
The get_line procedure has two main steps:
Read a line from the source repository. If reading from a database table, get_line uses the DBMS_SQL builtin package to fetch the next row and read ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access