Affects Version/s: None
Fix Version/s: 4.0-beta1
Currently, column constants in Peers are Strings, and Criterias are constructed by using String column names.
This means that code to parse column information (remove/add database/schema name, table name, remove SQL functions etc) is distributed across the code which is not very maintainable.
Instead, column constants should be objects, which hold at least the following information
- unqualified column name
- table name (or reference to table)
- database/schema name, if any, or reference to default database/schema name, if any
- sql expression (in case it is different from [database/schema.]tableName.columnName, e.g. "cast id as varchar2(30)" in oracle)
There should be a constructor taking a string input, which then tries to parse the given tsring and extract the above information from the string.