Skip to main content

Module diff

Module diff 

Source
Expand description

KOBOLD.CSV.DIFF.1 – a row/field-wise diff between two parsed delimited tables.

Where kobold-json diffs two JSON trees by path, the CSV analogue compares two TABLES: a source extract against a target extract, cell by cell. Each table is a header row of column names plus data rows. The diff aligns columns by NAME (not position, so a reordered target still compares correctly), walks rows in order, and emits a DiffEntry per differing cell – the exact (row, field, source, target) an analyst needs to chase a reconciliation break.

Rows present in only one table, and columns present in only one table, are reported as findings rather than silently ignored. This module is independent of GnuCOBOL/libcob.

Structs§

DiffEntry
One cell-level difference between a source table and a target table.
DiffReport
The result of a diff: the differing cells plus structural findings (extra/missing rows or columns).
Table
A parsed delimited table: a header (column names) and the data rows.

Functions§

diff
KOBOLD.CSV.DIFF.1 – compare two parsed tables source and target cell by cell, aligning columns by name. Columns present in only one table, and rows present in only one table, become findings.
parse_table
Parse delimited text into a Table under dialect d, fail-closed on a malformed line or a data row whose column count differs from the header.