Skip to content

is_current

deleted_on is null

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

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: derived. True when the record has no deletion date. (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: derived. True when the postcode has no deletion date. (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