2 comments

[ 3.5 ms ] story [ 12.5 ms ] thread
The proposed solutions add complexity. Complexity make things brittle.

I'd think carefully before adding more complexity. Of course this is depending on what you are doing (accounting app vs a HN clone for example).

For a hackathon a few years back I attempted to make the InnoDB engine in MySQL employ temporal queries. In theory, any change to a row would be timestamped, and `UPDATE` and `DELETE` remapped to `INSERT`.

The query plan for a regular query would be modified so that all referenced rows would be restricted to the matching row with the most recent timestamp. A temporal query would be restricted to the row with the most recent timestamp that was less than or equal to the provided time.