Eliminated the assumption that each db insert dict would match the keys of the first dict; in this version, ask for the column list explicitly in the fn signature, and catch a KeyError if it happens.