Skip to content

deleted_on

null while current; validity is [introduced_on, deleted_on) null while current; the latest life may be deleted

Table Type Nullable Category In the CSV export SQL Server type
history table (postcode_simd_history, SPD) date32 yes derived from the NRS record yes date
main table (postcode_simd, SSPL) date32 yes derived from the NRS record yes date

Provenance in the history table (postcode_simd_history, SPD)

Where it comes from

Input Field Condition Reaches the row by
SPD/spd_postcodeindex_cut_26_2_csv/SmallUser.csv (pinned, SHA256 fc82f1091ac1…) DateOfDeletion the row itself
SPD/spd_postcodeindex_cut_26_2_csv/LargeUser.csv (pinned, SHA256 dcb060cbce01…) DateOfDeletion the row itself

Scope: the row itself.

What was done to it: parsed. DateOfDeletion parsed as a date; null while the record is current. (code: simd_ingest/core/spd.py)

How it is checked (what each check tests; whether a build passed it is in that build's manifest.json["checks"])

  • spd.primary_key_unique: the key (pc_norm, introduced_on) is unique and never null
  • spd.primary_key_nonnull: the key (pc_norm, introduced_on) is unique and never null
  • readback.history.index_columns: the saved file's NRS columns equal the source, re-read

Why: half-open-intervals

Provenance in the main table (postcode_simd, SSPL)

Where it comes from

Input Field Condition Reaches the row by
SSPL/sspl-2026-2/SingleRecord.csv (pinned, SHA256 a6b23a9abfbd…) DateOfDeletion the row itself

Scope: the row itself.

What was done to it: parsed. DateOfDeletion parsed as a date; null while the postcode is current. (code: simd_ingest/core/sspl.py)

How it is checked (what each check tests; whether a build passed it is in that build's manifest.json["checks"])

  • sspl.primary_key_unique: pc_norm is unique in the SSPL
  • sspl.postcode_type: PostcodeType takes only the values S and L
  • readback.main.index_columns: the saved file's NRS columns equal the source, re-read

Why: sspl-main-table