Live data from Hacker News

ESE: The server-grade, embedded DB ships with Windows

github.com

21–30 of 39 posts

Re: ESE: The server-grade, embedded DB ships with Windows

#21
post #17

I love perusing different MS open-source codebases, just to see all the different conventions, styles, and practices used by different teams across the company. This repo in particular sure shows its age, because just clicking around, this code is totally nonsensical to me, haha. I couldn't even make a guess as to what it's doing. https://github.com/microsoft/Extensible-Storage-Engine/blob/...

As well as stripping comments, did they also strip and replace variable names? This code reminds me of trying to grok autogenerated Java GUI code in CS101.

Nah, it just looks like microsoft's usual hungarian notation https://docs.microsoft.com/en-us/windows/win32/stg/coding-st...

Re: ESE: The server-grade, embedded DB ships with Windows

#22
post #17

I love perusing different MS open-source codebases, just to see all the different conventions, styles, and practices used by different teams across the company. This repo in particular sure shows its age, because just clicking around, this code is totally nonsensical to me, haha. I couldn't even make a guess as to what it's doing. https://github.com/microsoft/Extensible-Storage-Engine/blob/...

As well as stripping comments, did they also strip and replace variable names? This code reminds me of trying to grok autogenerated Java GUI code in CS101.

    BOOL    fVisible;
    INT cbKey = 0;
    BOOKMARK        bmSearch;
    ULONG           cbReq;
I don't think so.

Re: ESE: The server-grade, embedded DB ships with Windows

#23
post #13

IIRC this storage engine used to have a 2GB limit, but it did not properly check this limit and would corrupt itself if you tried to store too much. This caused problems for Exchange, Outlook, the ironically named Visual Source Safe, and probably others.

This engine was never storage for Outlook, nor I _think_ Visual Source Safe (but can't be sure of that). The JET Blue engine often gets confused with the JET Red engine, which were both completely different implementations of the JET API spec. See notes bottom of this page: https://docs.microsoft.com/en-us/windows/win32/extensible-st...

I say "we" because I am one of the developers who has worked on the engine for the last 15 years (around half of it's existence).

Since I have worked on the engine, it has had a limit of slightly less than 2^31 database pages, which since it has a variable page size, has historically been 4 to 64 TBs.

Even before the 2nd rewrite in the 90s, I believe it had a 16 GB limit, so I really think the 2 GB is JET Red.

Brett Shirley [MSFT]

Re: ESE: The server-grade, embedded DB ships with Windows

#24

I love perusing different MS open-source codebases, just to see all the different conventions, styles, and practices used by different teams across the company. This repo in particular sure shows its age, because just clicking around, this code is totally nonsensical to me, haha. I couldn't even make a guess as to what it's doing. https://github.com/microsoft/Extensible-Storage-Engine/blob/...

This is good feedback for the project, thank you. I have lived with the naming convention, so long that it is second nature ... I didn't even think of documenting it ... I will write up something on the naming convention of ESE on the gibhub project's wiki soon!

Brett Shirley [MSFT] (yes, the Brett Shirley contributor to the project ;-)

Re: ESE: The server-grade, embedded DB ships with Windows

#26
post #20
post #13

IIRC this storage engine used to have a 2GB limit, but it did not properly check this limit and would corrupt itself if you tried to store too much. This caused problems for Exchange, Outlook, the ironically named Visual Source Safe, and probably others.

This explains ONE of the causes of corruption of PST files back in the day.

PST never used this storage engine. It used NDB.

Re: ESE: The server-grade, embedded DB ships with Windows

#27
post #21
post #17

Earlier quoted context omitted.

As well as stripping comments, did they also strip and replace variable names? This code reminds me of trying to grok autogenerated Java GUI code in CS101.

Nah, it just looks like microsoft's usual hungarian notation https://docs.microsoft.com/en-us/windows/win32/stg/coding-st...

Yes, Hungarian was fresh in 1988 so naturally heavy use in this code base.

Re: ESE: The server-grade, embedded DB ships with Windows

#29
post #23
post #13

IIRC this storage engine used to have a 2GB limit, but it did not properly check this limit and would corrupt itself if you tried to store too much. This caused problems for Exchange, Outlook, the ironically named Visual Source Safe, and probably others.

This engine was never storage for Outlook, nor I _think_ Visual Source Safe (but can't be sure of that). The JET Blue engine often gets confused with the JET Red engine, which were both completely different implementations of the JET API spec. See notes bottom of this page: https://docs.microsoft.com/en-us/windows/win32/extensible-st... I say "we" because I am one of the developers who has worked on the engine for th…

Yes, Exchange 4.0 databases had a 16Gb limit and it was recognized then that this was insufficient. The next release increased that limit dramatically.

Re: ESE: The server-grade, embedded DB ships with Windows

#30
"... in order to stay on the safe side with the very first release of the source code, we have temporarily removed all comments"

This sounds weird, wonder what they're worried about here: Personal Information? Profanity? Or just airing their dirty washing in public.

Post reply on HN