Thank you for your contribution. Your fix looks nice. I have one suggestion. Could you move your unit test to TestMathFunctions with the proper name? TestMathFunctions would be a better place to include the unit test. After than, I'll finish the review.
In addition, in my point of view, there is one more hidden problem. That is a bug (or incorrect implemented) of function finding mechanism which finds the compatible function, even though they are not exactly matched. It can be defined as both functions are compatible if both function arguments can be casted without precision loss. It was implemented in
TAJO-215. For example, INT can be casted to FLOAT8 (double) or LONG without precision loss. So, CatalogServer should have found ROUND(FLOAT8) even though ROUND(INT4) function is absent.
If you want to solve this problem in this issue, you can do it. Otherwise, I'll create another jira issue.