I have been developing, designing and breaking things in the Progress and OpenEdge world for over 25 years now. Even so, there's always a chance to learn something new. This can be especially startling when you have to question foundational knowledge. You know, those facts and details that make up the underpinning of your domain of expertise.
I had an opportunity to question my own foundation of knowledge this morning when I was brought into a discussion of how indexes are selected by the OpenEdge engine. This is an area where I am something of an expert. I have presented on this topic numerous times over the years and always manage to shake people up by showing them how what they think may be true is actually not the case. The point is always to increase the depth of their knowledge and enable them to be more accurate in the future when writing queries and examining performance issues.
Progress states their index selection criteria as a set of 7 simple rules along with how adjunct rules about when multiple indexes are selected. Unfortunately it isn't as simple as a couple of basic rules because there are unwritten exceptions and further details. Most developers will never run into these problems. Those of us that do will hopefully have a bottle of aspirin handy.
But look, I learned something!