1. in that case I would suggest <i>DOUBLE</i> and <i>NUMERIC</i>. @yanghua could you make sure that the doc page renders correctly (`./build_docs.sh -i` script in `docs` directory allows you to run the docs locally). 2. https://ci.apache.org/projects/flink/flink-docs-master/dev/table/sql.html#data-types here the types are in capital letter, however I don't mind either way. 3. Unfortunately this is either hard, or impossible: a) some functions can not be implemented returning accurate `DECIMAL`, like most of the math functions (`cos`, `sqrt`, `log`, `ln`, ....). b) some function require extra time and effort. Like specialised version of `power(DECIMAL, INT)` could return precise `DECIMAL`, while `power(INT, DECIMAL)` can not.
I think the (most?) popular convention in SQL is to return `DOUBLE` if the result is not precise, to avoid silent precision losses. But correct `DECIMAL` handling is generally speaking bigger topic to sort out in Flink in the future. For example I do not like that we provide functions like `DOUBLE COS(DECIMAL)`, because this also gives an opportunity to semi silent precision losses. However regardless of that, letting user know whether the function returns precise or approximate result is must have (vide non obvious case of `POWER(2.5, 2)`). Also letting user know what's the return type of the function is also important. [ Full content available at: https://github.com/apache/flink/pull/6700 ] This message was relayed via gitbox.apache.org for [email protected]
