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 2011/02/03 23:43:17 UTC
svn commit: r1067015 - in /pig/trunk/contrib: CHANGES.txt
piggybank/java/src/main/java/org/apache/pig/piggybank/storage/XMLLoader.java
piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/TestXMLLoader.java
Author: gates
Date: Thu Feb 3 22:43:16 2011
New Revision: 1067015
URL: http://svn.apache.org/viewvc?rev=1067015&view=rev
Log:
PIG-1839 XMLLoader will always add an extra empty tuple even if no tags are matched
Modified:
pig/trunk/contrib/CHANGES.txt
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/XMLLoader.java
pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/TestXMLLoader.java
Modified: pig/trunk/contrib/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/CHANGES.txt?rev=1067015&r1=1067014&r2=1067015&view=diff
==============================================================================
--- pig/trunk/contrib/CHANGES.txt (original)
+++ pig/trunk/contrib/CHANGES.txt Thu Feb 3 22:43:16 2011
@@ -46,6 +46,9 @@ OPTIMIZATIONS
BUG FIXES
+PIG-1839 XMLLoader will always add an extra empty tuple even if no tags are
+matched (vikekp via gates)
+
PIG-1449 RegExLoader hangs on lines that don't match the regular expression
(Christian Hargraves via hashutosh)
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/XMLLoader.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/XMLLoader.java?rev=1067015&r1=1067014&r2=1067015&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/XMLLoader.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/XMLLoader.java Thu Feb 3 22:43:16 2011
@@ -470,7 +470,10 @@ public class XMLLoader extends LoadFunc
try {
byte[] tagContent = (byte[]) reader.getCurrentValue();
- t = createTuple(tagContent);
+ if(tagContent.length > 0)
+ {
+ t = createTuple(tagContent);
+ }
} catch (Exception e) {
throw new IOException(e);
}
Modified: pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/TestXMLLoader.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/TestXMLLoader.java?rev=1067015&r1=1067014&r2=1067015&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/TestXMLLoader.java (original)
+++ pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/TestXMLLoader.java Thu Feb 3 22:43:16 2011
@@ -45,6 +45,29 @@ public class TestXMLLoader extends TestC
data.add(new String[] { "</configuration>"});
}
+ public void testShouldReturn0TupleCountIfSearchTagIsNotFound () throws Exception
+ {
+ String filename = TestHelper.createTempFile(data, "");
+ PigServer pig = new PigServer(LOCAL);
+ filename = filename.replace("\\", "\\\\");
+ patternString = patternString.replace("\\", "\\\\");
+ String query = "A = LOAD 'file:" + filename + "' USING org.apache.pig.piggybank.storage.XMLLoader('invalid') as (doc:chararray);";
+ pig.registerQuery(query);
+ Iterator<?> it = pig.openIterator("A");
+ int tupleCount = 0;
+ while (it.hasNext()) {
+ Tuple tuple = (Tuple) it.next();
+ if (tuple == null)
+ break;
+ else {
+ if (tuple.size() > 0) {
+ tupleCount++;
+ }
+ }
+ }
+ assertEquals(0, tupleCount);
+ }
+
public void testLoadXMLLoader() throws Exception {
//ArrayList<DataByteArray[]> expected = TestHelper.getExpected(data, pattern);
String filename = TestHelper.createTempFile(data, "");
@@ -63,11 +86,10 @@ public class TestXMLLoader extends TestC
//TestHelper.examineTuple(expected, tuple, tupleCount);
if (tuple.size() > 0) {
tupleCount++;
- //System.out.println("tuple=" + tuple+":"+tuple.size());
}
}
}
- assertEquals(3, tupleCount); // pig adds extra
+ assertEquals(2, tupleCount);
}
public void testXMLLoaderShouldLoadBasicBzip2Files() throws Exception {
@@ -101,7 +123,7 @@ public class TestXMLLoader extends TestC
}
}
- assertEquals(3, tupleCount); // pig adds extra
+ assertEquals(2, tupleCount);
}finally
{
@@ -137,13 +159,12 @@ public class TestXMLLoader extends TestC
if (tuple == null)
break;
else {
- //TestHelper.examineTuple(expected, tuple, tupleCount);
if (tuple.size() > 0) {
tupleCount++;
}
}
}
- assertEquals(3, tupleCount); // pig adds extra
+ assertEquals(2, tupleCount);
}finally
{