• Well here's the thing, given that Dr. Snodgrass did publish his stuff around 1995, I'm not sure what you could find to patent. I was building an application back then and discovering all this temporal hoo-hah from scratch, and remember coming home and finding that nice dark blue SIGMOD issue in my mailbox and dragging it to work to show people. I'd already worked out the relevant algebras and was painfully adding the required date fields and SQL code. Ugh.

    From that moment on it was horribly obvious to me that the only way this should ever be done is integrated in the engine, so you just add a property to the table, like "temporal='on'", and the rest should be automagic, except for the new temporal keyword syntax added to SQL. My stuff largely agreed with Snodgrass', I recall I had some differences at least in terminology. And there are always questions about joining temporal tables to non-temporal tables, there are different "right" answers depending on assumptions.

    I'm sadly unfamiliar with what other vendors have implemented (or when), but I think it's pretty much obvious what is needed and didn't take me all that long to do from scratch - in theory. And in practice it was just too ugly to do, outside of the engine. And it would be no walk in the park even inside the engine. So we're stuck with SCD and the like.

    In fact, there is a version of this now approved as part of ANSI SQL, right?

    http://en.wikipedia.org/wiki/Temporal_database#History

    I disagree with this violently, I want hidden fields (and of course some way to inspect them!).