Github user marmbrus commented on a diff in the pull request:
https://github.com/apache/spark/pull/1750#discussion_r15792112
--- Diff: sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala ---
@@ -935,6 +936,7 @@ private[hive] object HiveQl {
case Token(DIV(), left :: right:: Nil) =>
Cast(Divide(nodeToExpr(left), nodeToExpr(right)), LongType)
case Token("%", left :: right:: Nil) => Remainder(nodeToExpr(left),
nodeToExpr(right))
+ case Token("TOK_FUNCTION", Token(SQRT(), Nil) :: arg :: Nil) =>
Sqrt(nodeToExpr(arg))
--- End diff --
Hmm, thats a good question. We need to add a mechanism for allowing
expressions (or maybe just functions?) to specify their expected input types.
And then add a type coercion rule that adds casts when these don't match up. A
good starting point would probably be investigating all of the possible ways
that Hive UDFs are allowed to express this information.
---
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 [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]