SShortSingh.
Back to feed

A single NULL column silently broke two unrelated systems in the same database

0
·1 views

A software team at nlqdb discovered that a NULL timestamp in their database registry's last_queried_at column caused two separate systems to fail simultaneously. A daily sweep meant to evict anonymous databases older than 90 days silently retained all records, while a funnel metric counting active databases always returned zero. The root cause was a migration that backfilled existing rows but never updated the INSERT path for newly created records, leaving all post-migration rows with a NULL value. Because SQL comparisons against NULL produce neither true nor false, both systems produced incorrect results without raising any obvious errors. The fix required just two changes: seeding the column at creation time and re-running the backfill once.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingHacker News ·

Gleam Programming Language Joins Tangled Social Platform

Gleam, a statically typed programming language, has established a presence on Tangled, a newer social networking platform. The announcement was shared on Hacker News, where it garnered modest early engagement. Tangled is a decentralized or alternative social platform where open-source projects and developer communities are beginning to build profiles. The move reflects a broader trend of developer-focused projects exploring presence beyond mainstream social media channels.

0
ProgrammingHacker News ·

Elixir Programming Language Website Gets a Fresh New Design

The official website for the Elixir programming language, elixir-lang.org, has launched a redesigned interface. The update was noted by the developer community on Hacker News, where it attracted early attention. The redesign represents a visual refresh of the long-standing home for the Elixir language. Elixir is a functional, concurrent programming language built on the Erlang virtual machine, widely used for scalable applications.

0
ProgrammingDEV Community ·

Ego Development Model Maps Eight Stages of How Professionals Construct Meaning

Researcher Susanne Cook-Greuter built on Jane Loevinger's 1970s framework to empirically map eight ego development stages — from Self-Centric to Unitive — using the Sentence Completion Test instrument. The model describes how individuals organize experience and construct meaning, rather than measuring personality or knowledge. Two professionals with identical skills can respond to the same situation in fundamentally different ways depending on their developmental stage. The framework covers mechanisms such as stage transitions, regression under stress, and a recognition asymmetry where higher stages can understand lower ones but not vice versa. The article is part of a broader Peopleware series applying ego development theory to software engineering and organizational contexts.

0
ProgrammingDEV Community ·

How to Debug Low-Level Design When Your Domain Model Feels Off

Software engineers often encounter domain models that compile correctly but feel structurally wrong, with symptoms like scattered responsibilities, duplicated logic, and unclear ownership. Common root causes include anemic domain models where entities hold no behavior, fat services that absorb all business logic, and poorly defined aggregates that blur lifecycle boundaries. Hidden coupling between modules and uncontrolled state transitions further weaken design integrity, making systems fragile and hard to maintain. Experts recommend tracing issues back to the real user journey and asking who owns each business rule, rather than layering on more classes or abstractions. Strong domain modeling is ultimately about aligning code structure with actual business behavior, ensuring that invariants, boundaries, and state transitions reflect real-world logic.