You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ga...@apache.org on 2008/01/15 17:07:05 UTC
svn commit: r612144 - in /incubator/pig/trunk: CHANGES.txt
src/org/apache/pig/data/DataBag.java
Author: gates
Date: Tue Jan 15 08:06:56 2008
New Revision: 612144
URL: http://svn.apache.org/viewvc?rev=612144&view=rev
Log:
PIG-56: Made DataBag implement Iterable. (groves via gates)
Modified:
incubator/pig/trunk/CHANGES.txt
incubator/pig/trunk/src/org/apache/pig/data/DataBag.java
Modified: incubator/pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/pig/trunk/CHANGES.txt?rev=612144&r1=612143&r2=612144&view=diff
==============================================================================
--- incubator/pig/trunk/CHANGES.txt (original)
+++ incubator/pig/trunk/CHANGES.txt Tue Jan 15 08:06:56 2008
@@ -65,3 +65,4 @@
PIG-61: Fixed MapreducePlanCompiler to use PigContext to load up the
comparator function instead of Class.forName. (gates)
+ PIG-56: Made DataBag implement Iterable. (groves via gates)
Modified: incubator/pig/trunk/src/org/apache/pig/data/DataBag.java
URL: http://svn.apache.org/viewvc/incubator/pig/trunk/src/org/apache/pig/data/DataBag.java?rev=612144&r1=612143&r2=612144&view=diff
==============================================================================
--- incubator/pig/trunk/src/org/apache/pig/data/DataBag.java (original)
+++ incubator/pig/trunk/src/org/apache/pig/data/DataBag.java Tue Jan 15 08:06:56 2008
@@ -65,7 +65,7 @@
* DataBag come in several types, default, sorted, and distinct. The type
* must be chosen up front, there is no way to convert a bag on the fly.
*/
-public abstract class DataBag extends Datum implements Spillable {
+public abstract class DataBag extends Datum implements Spillable, Iterable<Tuple> {
// Container that holds the tuples. Actual object instantiated by
// subclasses.
protected Collection<Tuple> mContents;
@@ -140,8 +140,9 @@
synchronized (mContents) {
mMemSizeChanged = true;
mSize += b.size();
- Iterator<Tuple> i = b.iterator();
- while (i.hasNext()) mContents.add(i.next());
+ for (Tuple t : b) {
+ mContents.add(t);
+ }
}
}
@@ -278,10 +279,8 @@
// time re-sorting or re-applying distinct.
out.write(BAG);
out.writeLong(size());
- Iterator<Tuple> it = iterator();
- while (it.hasNext()) {
- Tuple item = it.next();
- item.write(out);
+ for (Tuple t : this) {
+ t.write(out);
}
}