Re: Oh Yes
There were no vans outside the ASK/Ingres building in Alameda, but there was a ad-hoc party of people outside cheering as people walked out of the building having chosen not to sign the California-not-enforceable non-compete agreements.
Ingres missed the boat for three reasons. (1) SQL; it had to write a new version of that to transition from Quel and it absorbed a massive amount of resource that could better have gone to (2), locking and concurrency strategy. Ingres used exclusive page locks which blocked readers while updates were in flight for everything on the page. It was correct, but slow. There were plans to do row-locks that weren't implemented at the time of the Demise. Eventually CA did it, but way too late. It never had any plans to address the write-blocks-read issue. At the same time, Oracle did a very clever thing with "Consistent Read" which was a way of getting multi-version concurrency at low cost. When you need an old version to satisfy a query, you'd resurrect it by applying UNDO from the logs, and do it on demand. When the rate of reference is low, it doesn't cost much. This was a club with which Oracle beat-up on Ingres at sales opportunities; (3) Oracle used financial clout to strangle Ingres. Once it was profitably extending its lead, Larry made a policy that Oracle would -never- be undersold by Ingres on any deal, and AIUI, would pretty much give Oracle licenses away to win deals, and expect to make it up on support revenue later. This crushed the Ingres sales channel, leading to both the acquisition by ASK and then CA.
Ingres did have ADTs, but a different implementation from Postgres which was developed simultaneously.
Postgre's recovery strategy was not terrible, but they didn't work it out. It was multi-versioned from the start, I think, which solved the write-blocks-read issue. But the snapshot/point-in-time recovery stuff was underthought.
There was an attempt to resuscitate Ingres post-CA by a company that became Actian, but I don't think that went well. It did get open-sourced for a while, but last time I looked it was hard to get. It probably could have competed with Postgres as open source except for the lack of community, and the multi-version update-blocks-reader problem may still be unsolved.