I'm attempting to resend this "complete" patch set, which includes
documentation and test cases in a series of 5 patches, the first two of
which are independent bug fixes.
My previous attempt seemed to have patch stripped so I'm going to try
one at a time.
Patch 0001: In the JoinWalker, we assemble an SQL select list fragment
from a list of Joinables. Reading the existing code, we see it's
possible for the fragment generated to be empty. However if the LAST
joinable generates an empty fragment, we put a spurious comma into the
fragment. Fix this by only prepending a comma when necessary.