Establish what is happening
Classify the blank-looking input
Choose controlled examples of an empty line, whitespace-only line, delimiter-only record, and quoted empty field. Record the intended handling for each supported form. Inspect the source text rather than a spreadsheet display, which may make distinct structures appear as identical blank rows in the same grid.
Compare parsing and row accounting
Record which examples become parsed records, which are skipped, and how the preview counts them. Compare final accepted and rejected totals with the controlled source. Keep physical line counts separate from logical records, especially when a legitimate quoted field contains a newline that looks blank within the file.
Check a nearby real record
Trace a distinct valid record immediately after each blank-looking input. Confirm it remains present and that any error location still points to the correct source. An apparently harmless skip can reveal a broader problem if it shifts reported positions or causes later records to be interpreted under the wrong structure.
What to carry forward
End with the source classifications, expected handling, observed counts, and one nearby record trace. State which blank forms lack a defined contract. The next investigation should target parsing, skip rules, or row accounting instead of removing all empty-looking lines and potentially changing meaningful field content.
Technical background: PostgreSQL documentation.
Keep the decision with the work.
Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.
Create an account See the product workflow