This change allows the use of complex expressions as dimensions. Currently if someone uses, eg, a complex
CASE WHEN ... END statement as a dimension, it will be duplicated in the select and in the group by of the query. This will allow users to add their own alias like
CASE WHEN ... END AS blahblah, which will appear in the select as the entire
CASE WHEN ... but as
blahblah in the group by.
Also includes a
hasTable($table) method addition to DataTable\Map so we can check if a table exists w/o triggering an error w/ getTable.
FYI @tsteur assuming this is ok to merge, let me know if it needs another change, will make it in another PR