GitHub user dbtsai opened a pull request: https://github.com/apache/spark/pull/17606
[SPARK-20291][SQL] NaNvl(FloatType, NullType) should not be cast to NaNvl(DoubleType, DoubleType) ## What changes were proposed in this pull request? `NaNvl(float value, null)` will be converted into `NaNvl(float value, Cast(null, DoubleType))` and finally `NaNvl(Cast(float value, DoubleType), Cast(null, DoubleType))`. This will cause mismatching in the output type when the input type is float. By adding extra rule in TypeCoercion can resolve this issue. ## How was this patch tested? unite tests. Please review http://spark.apache.org/contributing.html before opening a pull request. You can merge this pull request into a Git repository by running: $ git pull https://github.com/dbtsai/spark fixNaNvl Alternatively you can review and apply these changes as the patch at: https://github.com/apache/spark/pull/17606.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #17606 ---- commit fa5e1aff1319a75e89da8baf48f06b223b17eb8c Author: DB Tsai <d...@netflix.com> Date: 2017-04-11T08:50:24Z Added new NaNvl type coercion rule ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org