The connection method "columns" reports the column names of a given table but
the column names are reformatted to lower case with "string tolower".
When data later is retrieved, that reformat on column names is not performed,
i.e. the dict receiving the row data of a result set can have mixed case
column names. Why is this asymmetric behavior? Would it be symmetric, the
column method could easily be used to construct SQL programmatically, e.g.
to build up the bind parameter names for an INSERT statement which then map
to the dict keys of a row of a result set. Or am I missing a subtle detail?