aboutsummaryrefslogtreecommitdiff
path: root/sql/catalyst
diff options
context:
space:
mode:
authorReynold Xin <rxin@apache.org>2014-04-07 18:40:08 -0700
committerReynold Xin <rxin@apache.org>2014-04-07 18:40:08 -0700
commit31e6fff03730bb915a836d77dcd43d098afd1dbd (patch)
treefc91ee1df3e37de94bd6d514e16cc27ee16b6b85 /sql/catalyst
parent55dfd5dcdbf3a9bfddb2108c8325bda3100eb33d (diff)
downloadspark-31e6fff03730bb915a836d77dcd43d098afd1dbd.tar.gz
spark-31e6fff03730bb915a836d77dcd43d098afd1dbd.tar.bz2
spark-31e6fff03730bb915a836d77dcd43d098afd1dbd.zip
Added eval for Rand (without any support for user-defined seed).
Author: Reynold Xin <rxin@apache.org> Closes #349 from rxin/rand and squashes the following commits: fd11322 [Reynold Xin] Added eval for Rand (without any support for user-defined seed).
Diffstat (limited to 'sql/catalyst')
-rw-r--r--sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Rand.scala13
1 files changed, 10 insertions, 3 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Rand.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Rand.scala
index 0bde621602..38f836f0a1 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Rand.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Rand.scala
@@ -17,11 +17,18 @@
package org.apache.spark.sql.catalyst.expressions
+import java.util.Random
import org.apache.spark.sql.catalyst.types.DoubleType
+
case object Rand extends LeafExpression {
- def dataType = DoubleType
- def nullable = false
- def references = Set.empty
+ override def dataType = DoubleType
+ override def nullable = false
+ override def references = Set.empty
+
+ private[this] lazy val rand = new Random
+
+ override def eval(input: Row = null) = rand.nextDouble().asInstanceOf[EvaluatedType]
+
override def toString = "RAND()"
}