←back to thread

752 points crazypython | 1 comments | | HN request time: 0.209s | source
Show context
joshspankit ◴[] No.26371220[source]
I never understood why we don’t have SQL databases that track all changes in a “third dimension” (column being one dimension, row being the second dimension).

It might be a bit slower to write, but hook the logic in to write/delete, and suddenly you can see exactly when a field was changed to break everything. The right middleware and you could see the user, IP, and query that changed it (along with any other queries before or after).

replies(4): >>26371248 #>>26371348 #>>26371403 #>>26371411 #
tthun ◴[] No.26371403[source]
MS SQL server 2016 onwards has temporal tables that support this (point in time data)
replies(1): >>26371718 #
1. joshspankit ◴[] No.26371718[source]
Huh. I just read the spec. Not quite three 'dimension', but looks like exactly what I was asking for: a (reasonably) automatic and transparent record of previous values, as well as timestamps for when they changed.

I'll call this a "you learn something every day" and a "hey thanks @tthun (and @predakanga)"