New approach to function call matching
This release brings a major change to how function calls are detected:
- Only known builtin function names are now formatted like
TRIM() - Any other function calls (e.g. user-defined functions) get formatted as
MY_FUNC ()
This fixes a long-standing problem where the format of input SQL effected output SQL. For example, if input contained TRIM (), then it was formatted as TRIM () and when it contained TRIM() then it was formatted as TRIM(). This in turn lead to problems where re-formatting an already formatted SQL could lead to different result. #140