Case-sensitivity with column names
Problem: When I ask my object for a list of columns, all the column names are returned in lower case; the database columns contain some upper case characters. When I used these column names to try to update the object, nothing happened. If I change all the database columns to all lowercase, everything works.
Answer: Asking for columns brings back Column objects, not strings. You can ask the column object for the name in various manners. These lowercased column names are currently also used in the generated SQL, which makes Class::DBI unusable if you have mixed case column names in databases which don't honor case insensitivity. At some point this may be fixed, but as the only database this is known to effect is Sybase, it's not a high priority.
Request for Help: This shouldn't be too hard to fix, so perhaps someone could work up a patch? In the places where SQL is generated, it's a matter of making sure ->name is called on the columns rather than relying on the stringification of Column objects (which defaults to ->name_lc)
Fix for Sybase: Class::DBI::Sybase maintainer wrote, "I've fixed this in my local Sybase installation and will be putting up a 0.5 version of the package which doesn't lower-case all the columns automatically."