Repository: spark
Updated Branches:
  refs/heads/branch-1.0 05f84e28f -> c3ebf8ee6


[SQL]Add base row updating methods for JoinedRow

This will be helpful in join operators.

Author: Cheng Hao <hao.ch...@intel.com>

Closes #1187 from chenghao-intel/joinedRow and squashes the following commits:

87c19e3 [Cheng Hao] Add base row set methods for JoinedRow

(cherry picked from commit 133495d82672c3f34d40a6298cc80c31f91faf5c)
Signed-off-by: Michael Armbrust <mich...@databricks.com>


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/c3ebf8ee
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/c3ebf8ee
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/c3ebf8ee

Branch: refs/heads/branch-1.0
Commit: c3ebf8ee680df43decbcce122c5203c27e8a75fa
Parents: 05f84e2
Author: Cheng Hao <hao.ch...@intel.com>
Authored: Tue Jun 24 19:07:02 2014 -0700
Committer: Michael Armbrust <mich...@databricks.com>
Committed: Tue Jun 24 19:07:22 2014 -0700

----------------------------------------------------------------------
 .../sql/catalyst/expressions/Projection.scala      | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/c3ebf8ee/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala
index c9b7cea..a9e976c 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala
@@ -81,6 +81,18 @@ class JoinedRow extends Row {
     this
   }
 
+  /** Updates this JoinedRow by updating its left base row.  Returns itself. */
+  def withLeft(newLeft: Row): Row = {
+    row1 = newLeft
+    this
+  }
+
+  /** Updates this JoinedRow by updating its right base row.  Returns itself. 
*/
+  def withRight(newRight: Row): Row = {
+    row2 = newRight
+    this
+  }
+
   def iterator = row1.iterator ++ row2.iterator
 
   def length = row1.length + row2.length
@@ -124,4 +136,9 @@ class JoinedRow extends Row {
     }
     new GenericRow(copiedValues)
   }
+
+  override def toString() = {
+    val row = (if (row1 != null) row1 else Seq[Any]()) ++ (if (row2 != null) 
row2 else Seq[Any]())
+    s"[${row.mkString(",")}]"
+  }
 }

Reply via email to