[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-27 Thread liancheng
Github user liancheng commented on a diff in the pull request:

https://github.com/apache/spark/pull/1750#discussion_r16811074
  
--- 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 --

Just for the `SELECT SQRT("2") FROM src LIMIT 1` case, we can add `Sqrt` to 
the `FunctionArgumentConversion` 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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-27 Thread willb
Github user willb commented on a diff in the pull request:

https://github.com/apache/spark/pull/1750#discussion_r16815625
  
--- 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 --

Hey @liancheng, I agree that it is possible to special-case this function 
(and can certainly do so for this PR).  I recently [wrote up what Hive 
does](http://chapeau.freevariable.com/2014/08/existing-system-coercion.html) 
and have some work in progress on a more general solution that should capture 
what Hive does.


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-28 Thread liancheng
Github user liancheng commented on a diff in the pull request:

https://github.com/apache/spark/pull/1750#discussion_r16827967
  
--- 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 --

Good to know, thanks :)


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-28 Thread SparkQA
Github user SparkQA commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-53753420
  
  [QA tests have 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/19409/consoleFull)
 for   PR 1750 at commit 
[`d673861`](https://github.com/apache/spark/commit/d67386128760fffd2682a627f34a01d079e8c29f).
 * This patch merges cleanly.


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-28 Thread SparkQA
Github user SparkQA commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-53753579
  
  [QA tests have 
finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/19409/consoleFull)
 for   PR 1750 at commit 
[`d673861`](https://github.com/apache/spark/commit/d67386128760fffd2682a627f34a01d079e8c29f).
 * This patch **fails** unit tests.
 * This patch merges cleanly.
 * This patch adds the following public classes _(experimental)_:
  * `case class Sqrt(child: Expression) extends UnaryExpression `



---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-28 Thread willb
Github user willb commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-53753423
  
@marmbrus I've rebased this atop the current master and added support for 
casting string-valued SQRT arguments to double and a test case in SQLQuerySuite 
for the same.  (These will be unnecessary when I finish general support for 
string coercion in numeric functions, but they make this patch mergeable now.)


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-28 Thread SparkQA
Github user SparkQA commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-53757176
  
  [QA tests have 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/19412/consoleFull)
 for   PR 1750 at commit 
[`22c8a79`](https://github.com/apache/spark/commit/22c8a79ae7bcfe1ec9354a9c8cfcd952c5a6e21a).
 * This patch merges cleanly.


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-28 Thread SparkQA
Github user SparkQA commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-53773223
  
  [QA tests have 
finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/19412/consoleFull)
 for   PR 1750 at commit 
[`22c8a79`](https://github.com/apache/spark/commit/22c8a79ae7bcfe1ec9354a9c8cfcd952c5a6e21a).
 * This patch **passes** unit tests.
 * This patch merges cleanly.
 * This patch adds the following public classes _(experimental)_:
  * `case class Sqrt(child: Expression) extends UnaryExpression `



---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-29 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/spark/pull/1750


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-29 Thread marmbrus
Github user marmbrus commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-53937028
  
Thanks @willb.  I've merged this to master.  We'll back port it to branch 
1.1 after the release.


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-02 Thread willb
GitHub user willb opened a pull request:

https://github.com/apache/spark/pull/1750

SPARK-2813:  [SQL] Implement SQRT() directly in Catalyst

This PR adds a native implementation for SQL SQRT() and thus avoids 
delegating this function to Hive.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/willb/spark spark-2813

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/spark/pull/1750.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 #1750


commit 18d63f93316e56b9f0e137e272981b5a2eb84074
Author: William Benton 
Date:   2014-08-02T15:30:26Z

Added native SQRT implementation

commit bb8022612c468ae99531fbcc9ddff8a5f45bcf36
Author: William Benton 
Date:   2014-08-02T16:22:40Z

added SQRT test to SqlQuerySuite




---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-02 Thread SparkQA
Github user SparkQA commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-50981820
  
QA tests have started for PR 1750. This patch merges cleanly. View 
progress: 
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/17801/consoleFull


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-02 Thread SparkQA
Github user SparkQA commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-50982709
  
QA results for PR 1750:- This patch PASSES unit tests.- This patch 
merges cleanly- This patch adds the following public classes 
(experimental):case class Sqrt(child: Expression) extends UnaryExpression 
{For more information see test 
ouptut:https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/17801/consoleFull


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-03 Thread marmbrus
Github user marmbrus commented on a diff in the pull request:

https://github.com/apache/spark/pull/1750#discussion_r15736784
  
--- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/arithmetic.scala
 ---
@@ -33,6 +33,19 @@ case class UnaryMinus(child: Expression) extends 
UnaryExpression {
   }
 }
 
+case class Sqrt(child: Expression) extends UnaryExpression {
+  type EvaluatedType = Double
+  
+  def dataType = child.dataType
+  override def foldable = child.foldable
+  def nullable = child.nullable
+  override def toString = s"SQRT($child)"
+
+  override def eval(input: Row): Double = {
+math.sqrt(n1(child, input, _.toDouble(_)).asInstanceOf[Double])
--- End diff --

Should this always return a double? What about `DecimalType`?


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-03 Thread marmbrus
Github user marmbrus commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-51004775
  
Thanks for implementing this!  We should also add a test in 
[ExpressionEvaluationSuite](https://github.com/apache/spark/blob/master/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvaluationSuite.scala).
  Everything in there gets tested with and without codegen.


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-03 Thread willb
Github user willb commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-51012136
  
@marmbrus I've added a test in ExpressionEvaluationSuite and can push that 
whenever. As far as type goes, the code only produces double-precision results, 
but I could certainly approximate the square root of an arbitrary-precision 
decimal if that makes sense to do.  (Hive 0.12 only handles double-precision 
square roots AFAICT.)


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-03 Thread marmbrus
Github user marmbrus commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-51014996
  
If this isn't a regression from why Hive does, I'm okay merging once the 
test is added.  We can improve precision later.


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-03 Thread ueshin
Github user ueshin commented on a diff in the pull request:

https://github.com/apache/spark/pull/1750#discussion_r15740705
  
--- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/arithmetic.scala
 ---
@@ -33,6 +33,19 @@ case class UnaryMinus(child: Expression) extends 
UnaryExpression {
   }
 }
 
+case class Sqrt(child: Expression) extends UnaryExpression {
+  type EvaluatedType = Double
+  
+  def dataType = child.dataType
+  override def foldable = child.foldable
+  def nullable = child.nullable
+  override def toString = s"SQRT($child)"
+
+  override def eval(input: Row): Double = {
+math.sqrt(n1(child, input, _.toDouble(_)).asInstanceOf[Double])
--- End diff --

Hi, I'm wondering this will return `null` for `null`.


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-04 Thread SparkQA
Github user SparkQA commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-51064528
  
QA tests have started for PR 1750. This patch merges cleanly. View 
progress: 
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/17853/consoleFull


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-04 Thread SparkQA
Github user SparkQA commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-51075115
  
QA results for PR 1750:- This patch PASSES unit tests.- This patch 
merges cleanly- This patch adds the following public classes 
(experimental):case class Sqrt(child: Expression) extends UnaryExpression 
{For more information see test 
ouptut:https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/17853/consoleFull


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-04 Thread marmbrus
Github user marmbrus commented on a diff in the pull request:

https://github.com/apache/spark/pull/1750#discussion_r15790970
  
--- 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 --

This is not unique to this PR, but I'm realizing that we might be loosing 
coercion semantics as we natively implement hive functions...  For example, 
does this PR break `SELECT SQRT("2") FROM src LIMIT 1`?


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-04 Thread willb
Github user willb commented on a diff in the pull request:

https://github.com/apache/spark/pull/1750#discussion_r15791823
  
--- 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 --

It does.  What's the best way to handle this in general?


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-04 Thread marmbrus
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 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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-04 Thread willb
Github user willb commented on the pull request:

https://github.com/apache/spark/pull/1750#issuecomment-51143752
  
@marmbrus I'll file a JIRA for that and am happy to put it at the front of 
my plate; sounds like a fun problem!


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-06 Thread willb
Github user willb commented on a diff in the pull request:

https://github.com/apache/spark/pull/1750#discussion_r15894307
  
--- 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 --

@marmbrus to clarify, should I have a solution for the new type-coercion 
JIRA before doing any other reimplementations, or can I keep submitting 
reimplementations as well?


---
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



[GitHub] spark pull request: SPARK-2813: [SQL] Implement SQRT() directly in...

2014-08-06 Thread marmbrus
Github user marmbrus commented on a diff in the pull request:

https://github.com/apache/spark/pull/1750#discussion_r15911755
  
--- 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 --

I'd block other reimplimentations until we know how to do type coersion as 
they are going to cause regressions over current behavior.  Regarding the 
type-coersion, it would be great to discuss the interface you are thinking of 
before you get too far into implementation as I think this is a pretty complex 
problem.


---
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