Microsoft has made the source code for its Extensible Storage Engine (aka JET Blue) available on GitHub.
The Extensible Storage Engine (ESE) is an advanced indexed and sequential access method (ISAM) storage technology and has been a fixture in Windows for more than a quarter of a century. It first appeared in Windows NT 3.51 and Exchange 4.0 before going on to have a working life that stretches to the Windows 10 of today.
Components, such as Windows Search or applications like Exchange, “store and retrieve data from tables using indexed or sequential cursor navigation.”
While the acronym “JET” may leave developers all a-quiver with thoughts of the eldritch horrors of Access (and its Jet database engine), the ESE team is at pains to point out that its take is quite a different beast. Microsoft Access shipped with JET Red, while ESE is the JET Blue implementation of the API. “JET” itself stands for Joint Engine Technology.
Others had an entirely different name for what shipped with Microsoft Access, usually exclaimed loudly after database repair events entered double figures.
“ESE,” noted Microsoft, “is for use in applications that require fast and/or light structured data storage, where raw file access or the registry does not support the application’s indexing or data size requirements.”
While most applications using it don’t get beyond the 1MB mark, “extreme cases” top 1TB.
As for what has been placed in GitHub, users will be disappointed to see that comments have been removed (although the copyright and MIT License is present and correct).
The excuse for this is: “This codebase has a long history of internal development at Microsoft, so, in order to stay on the safe side with the very first release of the source code, we have temporarily removed all comments and excluded certain file types.”
Admittedly, a distressing amount of this hack’s code from 30 years ago has comments either apologising to a future self or unhelpfully translating a line of source into English without explaining the why. Still, it is a shame that we can’t take a peek at the thought processes within the bowels of Redmond back in the last century.
It also lacks test code, although Microsoft plans to release both comments and tests at some point in the future. It will also eventually allow contributions, but right now the synchronisation to the repo is strictly one way. ®