I think I want to know more about mysql. I downloaded the last snapshot of mariadb 10.2 and unpacked it. A quick browse of the code shows there are a few high level functions,
and most of the code is written in a restricted subset of C++, particularly the existence
of functions like new defined to avoid requiring libstdc++.
I really feel like reading C code sometimes is like peering into the machine. Witness this block from the base64 code:
These sorts of raw mappings just look right. If you’ve read Applied Cryptography,
this is reminiscent of about half of the code there (that’s a lot of many ciphers).
Well, I’ll keep on reading, the Sasha Pachev internals book (while a bit dated, nearly 10 years old) probably reflects good portions of the high level organization, there is no innobase directory in the mariadb code, but that might be due to moving things around internally. The remarks about checking code out from bitkeeper (remember a world before github?) are quaint.