Github user kaspersorensen commented on the pull request:
https://github.com/apache/metamodel/pull/25#issuecomment-104926548
My idea for designing this feature was more that we should enable the
submodules themselves to apply a fitting naming strategy. In a polymorphic
manner basically, meaning that the JDBC module knows best which column naming
conventions must be followed for the various JDBC databases and maybe other
modules has other conventions to apply to the columns of _their_ datastore
types. So having a central ContextType defeats that design principle because
then you cannot manage it in the submodules.
Another remark is that in the JDBC module it even varies amongst different
database vendors. We have already plugged in different QueryRewriter classes
for the purpose of handling SQL dialects. My suggestion is that in the JDBC
module we add another method to the IQueryRewriter interface for normalizing
the column names. In the abstract/base class it could then do generic stuff
like replacing whitespace with underscore, and maybe in some subclasses it
could do more. For instance I think that only a few databases support non-ASCII
characters such as "æøåäöê" and so on.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---