Sean Zhong created SPARK-17617:
----------------------------------

             Summary: Remainder(%) expression.eval returns incorrect result
                 Key: SPARK-17617
                 URL: https://issues.apache.org/jira/browse/SPARK-17617
             Project: Spark
          Issue Type: Bug
          Components: SQL
            Reporter: Sean Zhong


h2.Problem

Remainder(%) expression returns incorrect result when eval is called to do 
constant folding

{code}
scala> -5083676433652386516D  % 10
res19: Double = -6.0

// Wrong answer because of constant folding!!!
scala> Seq("-5083676433652386516D").toDF.select($"value" % 10).show
|(value % 10)|
+------------+
|         0.0|
+------------+

// Triggers codegen, will  not do constant folding
scala> sc.makeRDD(Seq("-5083676433652386516D")).toDF.select($"value" % 10).show
+------------+
|(value % 10)|
+------------+
|        -6.0|
+------------+
{code}

Behavior of postgres:
{code}
seanzhong=# select -5083676433652386516.0  % 10;
 ?column? 
----------
     -6.0
(1 row)
{code}





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to