1.8 A Chunk of Code in /sql/sql_update.cc

Now, having finished with our bird's eye view of the source code
from the air, let's take the perspective of the worms on the
ground (which is another name for MySQL's developer staff -- turn
on laugh track here).

Here's a snippet of code from a .c file in the sql directory,
specifically from sql_update.cc, which as we mentioned earlier --
is invoked when there's an UPDATE statement to process.

The entire routine has many error checks with handlers for
improbable conditions, and showing multiple screens would be
tedious, so we've truncated the code a lot. Where you see an
ellipsis (three dots in a row), that means "and so on".

So, what do we learn from this snippet of code? In the first
place, we see that it's fairly conventional C code. A brace causes
an indentation, instructions tend to be compact with few
unnecessary spaces, and comments are sparse.

Abbreviations are common, for example thd stands for thread, you
just have to get used to them. Typically a structure will be
defined in a separate .h file.

Routine names are sometimes long enough that they explain
themselves. For example, you can probably guess that this routine
is opening and locking, allocating memory in a cache, initializing
a process for reading records, reading records in a loop until the
thread is killed or there are no more to read, storing a modified
record for the table, and — after the loop is through
— possibly writing to the log. Incidentally, a transactional
table is usually a BDB or an InnoDB table.

Obviously we've picked out what's easy to follow, and we're not
pretending it's all smooth sailing. But this is actual code and
you can check it out yourself.