General input row processing
The system uses a line-oriented input format whereby one line of text is an input row. It operates by isolating successive rows in the input stream. For each new row, the system increments a row counter (starting at 1) and analyzes the contents of the row.
- The input text might not match the expected format.
- A field value might fail to meet a requirement that is imposed by the target table schema.
When the system encounters an error processing a row, it stops analyzing the row, appends the row to the nzbad file, writes a diagnostic message to the nzlog file that describes the position and nature of the error, and increments a rejected rows counter. If a row contains no errors, the system converts the row into a candidate binary record.
Input rows are separated by any of the common end-of-line conventions: <CR><LF>, <LF><CR>, <CR>, or <LF>. In UNIX environments, <LF> is commonly known as newline. The last row or last line does not need an end-of-line character.
The <CR><CR> and <LF><LF> pairs are not valid end-of-line sequences. Instead, each pair encloses an empty row that contains no values. The system considers such an empty row valid only if you specify the FillRecord option and if you specify that every column in the target table can be set to null.