svn commit: r1553787 - in /pig/trunk: src/org/apache/pig/impl/util/avro/AvroMapWrapper.java test/org/apache/pig/builtin/TestAvroStorage.java

2013-12-27 Thread rding
Author: rding
Date: Sat Dec 28 04:49:44 2013
New Revision: 1553787

URL: http://svn.apache.org/r1553787
Log:
PIG-3608: ClassCastException when looking up a value from AvroMapWrapper using 
a Utf8 key (rding)

Modified:
pig/trunk/src/org/apache/pig/impl/util/avro/AvroMapWrapper.java
pig/trunk/test/org/apache/pig/builtin/TestAvroStorage.java

Modified: pig/trunk/src/org/apache/pig/impl/util/avro/AvroMapWrapper.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/impl/util/avro/AvroMapWrapper.java?rev=1553787r1=1553786r2=1553787view=diff
==
--- pig/trunk/src/org/apache/pig/impl/util/avro/AvroMapWrapper.java (original)
+++ pig/trunk/src/org/apache/pig/impl/util/avro/AvroMapWrapper.java Sat Dec 28 
04:49:44 2013
@@ -76,12 +76,12 @@ public final class AvroMapWrapper implem
   @Override
   public Object get(final Object key) {
 Object v = null;
-if (isUtf8key) {
+if (isUtf8key  !(key instanceof Utf8)) {
   v = innerMap.get(new Utf8((String) key));
 } else {
   v = innerMap.get(key);
 }
-
+
 if (v instanceof Utf8) {
   return v.toString();
 } else {

Modified: pig/trunk/test/org/apache/pig/builtin/TestAvroStorage.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/builtin/TestAvroStorage.java?rev=1553787r1=1553786r2=1553787view=diff
==
--- pig/trunk/test/org/apache/pig/builtin/TestAvroStorage.java (original)
+++ pig/trunk/test/org/apache/pig/builtin/TestAvroStorage.java Sat Dec 28 
04:49:44 2013
@@ -24,6 +24,7 @@ import org.apache.avro.tool.DataFileWrit
 import org.apache.avro.tool.Tool;
 import org.apache.avro.tool.TrevniCreateRandomTool;
 import org.apache.avro.tool.TrevniToJsonTool;
+import org.apache.avro.util.Utf8;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -40,6 +41,7 @@ import org.apache.pig.backend.executione
 import org.apache.pig.builtin.mock.Storage.Data;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.impl.util.avro.AvroBagWrapper;
+import org.apache.pig.impl.util.avro.AvroMapWrapper;
 import org.apache.pig.impl.util.avro.AvroTupleWrapper;
 import org.apache.pig.test.Util;
 import org.junit.AfterClass;
@@ -59,6 +61,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.TreeMap;
 import java.util.TreeSet;
 
 import static junit.framework.Assert.assertEquals;
@@ -808,6 +811,19 @@ public class TestAvroStorage {
 assertTrue(size1.compareTo(size5)  0);
 }
 
+@Test
+public void testUtf8KeyLookupFromMap() throws Exception {
+MapCharSequence, Object tm = new TreeMapCharSequence, Object ();
+tm.put(new Utf8(foo), foo);
+tm.put(new Utf8(bar), bar);
+
+AvroMapWrapper wrapper = new AvroMapWrapper(tm);
+String v = (String)wrapper.get(new Utf8(foo));
+assertEquals(foo, v);
+v = (String)wrapper.get(new Utf8(bar));
+assertEquals(bar, v);
+}
+
 private void testAvroStorage(boolean expectedToSucceed, String scriptFile, 
MapString,String parameterMap) throws IOException {
 pigServerLocal.setBatchOn();
 




svn commit: r1125512 - in /pig/trunk: CHANGES.txt src/org/apache/pig/parser/DryRunGruntParser.java test/org/apache/pig/test/TestMacroExpansion.java

2011-05-20 Thread rding
Author: rding
Date: Fri May 20 19:05:02 2011
New Revision: 1125512

URL: http://svn.apache.org/viewvc?rev=1125512view=rev
Log:
PIG-2081: Dryrun gives wrong line numbers in error message for scripts 
containing macro

Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/parser/DryRunGruntParser.java
pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1125512r1=1125511r2=1125512view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Fri May 20 19:05:02 2011
@@ -227,6 +227,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-2081: Dryrun gives wrong line numbers in error message for scripts 
containing macro (rding)
+
 PIG-2078: POProject.getNext(DataBag) does not handle null (daijy)
 
 PIG-2029: Inconsistency in Pig Stats reports (rding)

Modified: pig/trunk/src/org/apache/pig/parser/DryRunGruntParser.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/parser/DryRunGruntParser.java?rev=1125512r1=1125511r2=1125512view=diff
==
--- pig/trunk/src/org/apache/pig/parser/DryRunGruntParser.java (original)
+++ pig/trunk/src/org/apache/pig/parser/DryRunGruntParser.java Fri May 20 
19:05:02 2011
@@ -228,10 +228,20 @@ public class DryRunGruntParser extends P
 @Override
 protected void processPig(String cmd) throws IOException {
 
+int start = getLineNumber();
+   
+StringBuilder blder = new StringBuilder();
+for (int i = 1; i  start; i++) {
+blder.append(\n);
+}
+
 if (cmd.charAt(cmd.length() - 1) != ';') {
 cmd += ;;
 }
 
+blder.append(cmd);
+cmd = blder.toString();
+
 CommonTokenStream tokenStream = QueryParserDriver.tokenize(cmd, 
source);
 Tree ast = null;
 

Modified: pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java?rev=1125512r1=1125511r2=1125512view=diff
==
--- pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java Fri May 20 
19:05:02 2011
@@ -31,7 +31,7 @@ import java.util.Properties;
 import org.apache.pig.ExecType;
 import org.apache.pig.PigRunner;
 import org.apache.pig.impl.PigContext;
-import org.apache.pig.impl.logicalLayer.FrontendException;
+import org.apache.pig.parser.DryRunGruntParser;
 import org.apache.pig.tools.grunt.Grunt;
 import org.apache.pig.tools.pigstats.PigStats;
 import org.apache.pig.tools.pigstats.ScriptState;
@@ -1190,6 +1190,29 @@ public class TestMacroExpansion {
 validateFailure(sb.toString(), expectedErr, at);
 }
 
+@Test // PIG-2081
+public void lineNumberTest3() throws Throwable {
+StringBuilder sb = new StringBuilder();
+
+sb.append(DEFINE my_macro (X,key) returns Y\n +
+{\n +   
+tmp1 = foreach  $X generate TOKENIZE((chararray)$key) as 
tokens;\n +
+tmp2 = foreach tmp1 generate flatten(tokens);\n +
+tmp3 = order tmp2 by $0;\n + 
+$Y = distinct tmp3;\n +
+};\n);
+
+sb.append(A3 = load 'sometext3' using TextLoader() as (row3);\n);
+
+sb.append(E3 = my_macro(A3,$0);\n);
+
+
+String expectedErr = 
+file myscript.pig, line 9, column 17  mismatched input '$0' 
expecting set null;
+
+validateDryrunFailure(sb.toString(), expectedErr, file);
+}
+
 @Test
 public void recursiveMacrosTest3() throws Exception {
 String macro1 = define group_and_partition (A, group_key, reducers) 
returns B, D  {\n +
@@ -2156,6 +2179,39 @@ public class TestMacroExpansion {
 }
 }
 
+private void validateDryrunFailure(String piglatin, String expectedErr,
+String keyword) throws Throwable {
+String scriptFile = myscript.pig;
+
+try {
+BufferedReader br = new BufferedReader(new StringReader(piglatin));
+DryRunGruntParser parser = new DryRunGruntParser(br, scriptFile,
+new PigContext(ExecType.LOCAL, new Properties()));
+
+PrintWriter w = new PrintWriter(new FileWriter(scriptFile));
+w.print(piglatin);
+w.close();
+
+parser.parseStopOnError();
+
+Assert.fail(Expected exception isn't thrown);
+} catch (Exception e) {
+String msg = e.getMessage();
+int pos = msg.indexOf(keyword);
+if (pos  0) {
+Throwable cause = e.getCause();
+if (cause != null

svn commit: r1125519 - in /pig/branches/branch-0.9: CHANGES.txt src/org/apache/pig/parser/DryRunGruntParser.java test/org/apache/pig/test/TestMacroExpansion.java

2011-05-20 Thread rding
Author: rding
Date: Fri May 20 19:23:18 2011
New Revision: 1125519

URL: http://svn.apache.org/viewvc?rev=1125519view=rev
Log:
PIG-2081: Dryrun gives wrong line numbers in error message for scripts 
containing macro

Modified:
pig/branches/branch-0.9/CHANGES.txt
pig/branches/branch-0.9/src/org/apache/pig/parser/DryRunGruntParser.java
pig/branches/branch-0.9/test/org/apache/pig/test/TestMacroExpansion.java

Modified: pig/branches/branch-0.9/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/CHANGES.txt?rev=1125519r1=1125518r2=1125519view=diff
==
--- pig/branches/branch-0.9/CHANGES.txt (original)
+++ pig/branches/branch-0.9/CHANGES.txt Fri May 20 19:23:18 2011
@@ -182,6 +182,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-2081: Dryrun gives wrong line numbers in error message for scripts 
containing macro (rding)
+
 PIG-2078: POProject.getNext(DataBag) does not handle null (daijy)
 
 PIG-2029: Inconsistency in Pig Stats reports (rding)

Modified: 
pig/branches/branch-0.9/src/org/apache/pig/parser/DryRunGruntParser.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/src/org/apache/pig/parser/DryRunGruntParser.java?rev=1125519r1=1125518r2=1125519view=diff
==
--- pig/branches/branch-0.9/src/org/apache/pig/parser/DryRunGruntParser.java 
(original)
+++ pig/branches/branch-0.9/src/org/apache/pig/parser/DryRunGruntParser.java 
Fri May 20 19:23:18 2011
@@ -228,10 +228,20 @@ public class DryRunGruntParser extends P
 @Override
 protected void processPig(String cmd) throws IOException {
 
+int start = getLineNumber();
+   
+StringBuilder blder = new StringBuilder();
+for (int i = 1; i  start; i++) {
+blder.append(\n);
+}
+
 if (cmd.charAt(cmd.length() - 1) != ';') {
 cmd += ;;
 }
 
+blder.append(cmd);
+cmd = blder.toString();
+
 CommonTokenStream tokenStream = QueryParserDriver.tokenize(cmd, 
source);
 Tree ast = null;
 

Modified: 
pig/branches/branch-0.9/test/org/apache/pig/test/TestMacroExpansion.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/test/org/apache/pig/test/TestMacroExpansion.java?rev=1125519r1=1125518r2=1125519view=diff
==
--- pig/branches/branch-0.9/test/org/apache/pig/test/TestMacroExpansion.java 
(original)
+++ pig/branches/branch-0.9/test/org/apache/pig/test/TestMacroExpansion.java 
Fri May 20 19:23:18 2011
@@ -31,7 +31,7 @@ import java.util.Properties;
 import org.apache.pig.ExecType;
 import org.apache.pig.PigRunner;
 import org.apache.pig.impl.PigContext;
-import org.apache.pig.impl.logicalLayer.FrontendException;
+import org.apache.pig.parser.DryRunGruntParser;
 import org.apache.pig.tools.grunt.Grunt;
 import org.apache.pig.tools.pigstats.PigStats;
 import org.apache.pig.tools.pigstats.ScriptState;
@@ -1190,6 +1190,29 @@ public class TestMacroExpansion {
 validateFailure(sb.toString(), expectedErr, at);
 }
 
+@Test // PIG-2081
+public void lineNumberTest3() throws Throwable {
+StringBuilder sb = new StringBuilder();
+
+sb.append(DEFINE my_macro (X,key) returns Y\n +
+{\n +   
+tmp1 = foreach  $X generate TOKENIZE((chararray)$key) as 
tokens;\n +
+tmp2 = foreach tmp1 generate flatten(tokens);\n +
+tmp3 = order tmp2 by $0;\n + 
+$Y = distinct tmp3;\n +
+};\n);
+
+sb.append(A3 = load 'sometext3' using TextLoader() as (row3);\n);
+
+sb.append(E3 = my_macro(A3,$0);\n);
+
+
+String expectedErr = 
+file myscript.pig, line 9, column 17  mismatched input '$0' 
expecting set null;
+
+validateDryrunFailure(sb.toString(), expectedErr, file);
+}
+
 @Test
 public void recursiveMacrosTest3() throws Exception {
 String macro1 = define group_and_partition (A, group_key, reducers) 
returns B, D  {\n +
@@ -2156,6 +2179,39 @@ public class TestMacroExpansion {
 }
 }
 
+private void validateDryrunFailure(String piglatin, String expectedErr,
+String keyword) throws Throwable {
+String scriptFile = myscript.pig;
+
+try {
+BufferedReader br = new BufferedReader(new StringReader(piglatin));
+DryRunGruntParser parser = new DryRunGruntParser(br, scriptFile,
+new PigContext(ExecType.LOCAL, new Properties()));
+
+PrintWriter w = new PrintWriter(new FileWriter(scriptFile));
+w.print(piglatin);
+w.close();
+
+parser.parseStopOnError();
+
+Assert.fail(Expected exception isn't thrown);
+} catch

svn commit: r1125537 - in /pig/trunk: ./ src/org/apache/pig/impl/ src/org/apache/pig/impl/util/ src/org/apache/pig/scripting/jython/ test/org/apache/pig/test/

2011-05-20 Thread rding
Author: rding
Date: Fri May 20 20:04:28 2011
New Revision: 1125537

URL: http://svn.apache.org/viewvc?rev=1125537view=rev
Log:
PIG-1824: Support import modules in Jython UDF

Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/impl/PigContext.java
pig/trunk/src/org/apache/pig/impl/util/JarManager.java
pig/trunk/src/org/apache/pig/scripting/jython/JythonScriptEngine.java
pig/trunk/test/org/apache/pig/test/TestPigContext.java
pig/trunk/test/org/apache/pig/test/TestScriptUDF.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1125537r1=1125536r2=1125537view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Fri May 20 20:04:28 2011
@@ -24,6 +24,8 @@ INCOMPATIBLE CHANGES
 
 IMPROVEMENTS
 
+PIG-1824: Support import modules in Jython UDF (woody via rding)
+
 PIG-1994: e2e test harness deployment implementation for existing cluster
 (gates)
 

Modified: pig/trunk/src/org/apache/pig/impl/PigContext.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/impl/PigContext.java?rev=1125537r1=1125536r2=1125537view=diff
==
--- pig/trunk/src/org/apache/pig/impl/PigContext.java (original)
+++ pig/trunk/src/org/apache/pig/impl/PigContext.java Fri May 20 20:04:28 2011
@@ -28,6 +28,7 @@ import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -91,7 +92,9 @@ public class PigContext implements Seria
 private Properties properties;
 
 //  script files that are needed to run a job
+@Deprecated
 public ListString scriptFiles = new ArrayListString();
+private MapString,File aliasedScriptFiles = new 
LinkedHashMapString,File();
 
 //  script jars that are needed to run a script - jython.jar etc
 public ListString scriptJars = new ArrayListString(2);
@@ -211,10 +214,28 @@ public class PigContext implements Seria
 log.error(Failed to set tracker at:  + newLocation);
 }
 }
-
+
+/**
+ * calls: addScriptFile(path, new File(path)), ensuring that a given path 
is
+ * added to the jar at most once.
+ * @param path
+ * @throws MalformedURLException
+ */
 public void addScriptFile(String path) throws MalformedURLException {
 if (path != null) {
-scriptFiles.add(path);
+aliasedScriptFiles.put(path, new File(path));
+}
+}
+
+/**
+ * this method adds script files that must be added to the shipped jar
+ * named differently from their local fs path.
+ * @param name  name in the jar
+ * @param path  path on the local fs
+ */
+public void addScriptFile(String name, String path) {
+if (path != null) {
+aliasedScriptFiles.put(name, new File(path));
 }
 }
 
@@ -232,6 +253,14 @@ public class PigContext implements Seria
 }
 }
 
+/**
+ * script files as name/file pairs to be added to the job jar
+ * @return
+ */
+public MapString,File getScriptFiles() {
+return aliasedScriptFiles;
+}
+
 public void rename(String oldName, String newName) throws IOException {
 if (oldName.equals(newName)) {
 return;

Modified: pig/trunk/src/org/apache/pig/impl/util/JarManager.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/impl/util/JarManager.java?rev=1125537r1=1125536r2=1125537view=diff
==
--- pig/trunk/src/org/apache/pig/impl/util/JarManager.java (original)
+++ pig/trunk/src/org/apache/pig/impl/util/JarManager.java Fri May 20 20:04:28 
2011
@@ -97,6 +97,7 @@ public class JarManager {
  * @throws ClassNotFoundException
  * @throws IOException
  */
+@SuppressWarnings(deprecation)
 public static void createJar(OutputStream os, SetString funcs, 
PigContext pigContext) throws ClassNotFoundException, IOException {
 VectorJarListEntry jarList = new VectorJarListEntry();
 for(String toSend: pigPackagesToSend) {
@@ -124,10 +125,12 @@ public class JarManager {
 // log.error(Adding extra  + pigContext.extraJars.get(i));
 mergeJar(jarFile, extraJar, null, contents);
 }
-for (int i = 0; i  pigContext.scriptFiles.size(); i++) {
-   String path = pigContext.scriptFiles.get(i);
+for (String path: pigContext.scriptFiles) {
addStream(jarFile, path, new FileInputStream(new 
File(path)),contents);
 }
+for (Map.EntryString, File entry : 
pigContext.getScriptFiles().entrySet()) {
+   addStream(jarFile, entry.getKey(), new 
FileInputStream(entry.getValue()),contents

svn commit: r1125183 - /pig/branches/branch-0.9/src/org/apache/pig/parser/PigMacro.java

2011-05-19 Thread rding
Author: rding
Date: Thu May 19 23:57:26 2011
New Revision: 1125183

URL: http://svn.apache.org/viewvc?rev=1125183view=rev
Log:
Replace RuntimeException with ParserException

Modified:
pig/branches/branch-0.9/src/org/apache/pig/parser/PigMacro.java

Modified: pig/branches/branch-0.9/src/org/apache/pig/parser/PigMacro.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/src/org/apache/pig/parser/PigMacro.java?rev=1125183r1=1125182r2=1125183view=diff
==
--- pig/branches/branch-0.9/src/org/apache/pig/parser/PigMacro.java (original)
+++ pig/branches/branch-0.9/src/org/apache/pig/parser/PigMacro.java Thu May 19 
23:57:26 2011
@@ -111,7 +111,7 @@ class PigMacro {
 Expected number of parameters:  + params.size()
 +  actual number of inputs: 
 + ((inputs == null) ? 0 : inputs.length));
-throw new RuntimeException(msg);
+throw new ParserException(msg);
 }
 boolean isVoidReturn = false;
 if (rets.isEmpty()) {   




svn commit: r1125185 - /pig/trunk/src/org/apache/pig/parser/PigMacro.java

2011-05-19 Thread rding
Author: rding
Date: Thu May 19 23:59:24 2011
New Revision: 1125185

URL: http://svn.apache.org/viewvc?rev=1125185view=rev
Log:
Replace RuntimeException with ParserException

Modified:
pig/trunk/src/org/apache/pig/parser/PigMacro.java

Modified: pig/trunk/src/org/apache/pig/parser/PigMacro.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/parser/PigMacro.java?rev=1125185r1=1125184r2=1125185view=diff
==
--- pig/trunk/src/org/apache/pig/parser/PigMacro.java (original)
+++ pig/trunk/src/org/apache/pig/parser/PigMacro.java Thu May 19 23:59:24 2011
@@ -111,7 +111,7 @@ class PigMacro {
 Expected number of parameters:  + params.size()
 +  actual number of inputs: 
 + ((inputs == null) ? 0 : inputs.length));
-throw new RuntimeException(msg);
+throw new ParserException(msg);
 }
 boolean isVoidReturn = false;
 if (rets.isEmpty()) {   




svn commit: r1103796 - in /pig/trunk: CHANGES.txt src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MultiQueryOptimizer.java test/org/apache/pig/test/TestMacroExpansion.java

2011-05-16 Thread rding
Author: rding
Date: Mon May 16 17:06:18 2011
New Revision: 1103796

URL: http://svn.apache.org/viewvc?rev=1103796view=rev
Log:
PIG-2069: LoadFunc jar does not ship to backend in MultiQuery case

Modified:
pig/trunk/CHANGES.txt

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MultiQueryOptimizer.java
pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1103796r1=1103795r2=1103796view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Mon May 16 17:06:18 2011
@@ -224,6 +224,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-2069: LoadFunc jar does not ship to backend in MultiQuery case (rding)
+
 PIG-2076: update documentation, help command with correct default value 
  of pig.cachedbag.memusage (thejas)
 

Modified: 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MultiQueryOptimizer.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MultiQueryOptimizer.java?rev=1103796r1=1103795r2=1103796view=diff
==
--- 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MultiQueryOptimizer.java
 (original)
+++ 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MultiQueryOptimizer.java
 Mon May 16 17:06:18 2011
@@ -329,6 +329,11 @@ class MultiQueryOptimizer extends MROpPl
 }
 }
 }
+
+// PIG-2069: LoadFunc jar does not ship to backend in MultiQuery 
case
+if (!mr.UDFs.isEmpty()) {
+succ.UDFs.addAll(mr.UDFs);
+}
 }
 
 // finally, remove the splitter from the MR plan

Modified: pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java?rev=1103796r1=1103795r2=1103796view=diff
==
--- pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java Mon May 16 
17:06:18 2011
@@ -1095,9 +1095,9 @@ public class TestMacroExpansion {
 public void negativeTest9() throws Throwable {
 String macro = define test( out1,out2 ){ A = load 'x' as (u:int, 
v:int); $B = filter A by u  3 and v  20; };
 
-String expectedErr = Error during parsing. file myscript.pig, line 
1, column 24  mismatched input '{' expecting RETURNS;
+String expectedErr = file myscript.pig, line 1, column 24  
mismatched input '{' expecting RETURNS;
 
-validateFailure(macro, expectedErr, Error);
+validateFailure(macro, expectedErr, file);
 }
 
 @Test




svn commit: r1103799 - in /pig/branches/branch-0.9: CHANGES.txt src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MultiQueryOptimizer.java test/org/apache/pig/test/TestMacroExpansion.ja

2011-05-16 Thread rding
Author: rding
Date: Mon May 16 17:14:27 2011
New Revision: 1103799

URL: http://svn.apache.org/viewvc?rev=1103799view=rev
Log:
PIG-2069: LoadFunc jar does not ship to backend in MultiQuery case

Modified:
pig/branches/branch-0.9/CHANGES.txt

pig/branches/branch-0.9/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MultiQueryOptimizer.java
pig/branches/branch-0.9/test/org/apache/pig/test/TestMacroExpansion.java

Modified: pig/branches/branch-0.9/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/CHANGES.txt?rev=1103799r1=1103798r2=1103799view=diff
==
--- pig/branches/branch-0.9/CHANGES.txt (original)
+++ pig/branches/branch-0.9/CHANGES.txt Mon May 16 17:14:27 2011
@@ -182,6 +182,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-2069: LoadFunc jar does not ship to backend in MultiQuery case (rding)
+
 PIG-2076: update documentation, help command with correct default value 
  of pig.cachedbag.memusage (thejas)
 

Modified: 
pig/branches/branch-0.9/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MultiQueryOptimizer.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MultiQueryOptimizer.java?rev=1103799r1=1103798r2=1103799view=diff
==
--- 
pig/branches/branch-0.9/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MultiQueryOptimizer.java
 (original)
+++ 
pig/branches/branch-0.9/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MultiQueryOptimizer.java
 Mon May 16 17:14:27 2011
@@ -329,6 +329,11 @@ class MultiQueryOptimizer extends MROpPl
 }
 }
 }
+
+// PIG-2069: LoadFunc jar does not ship to backend in MultiQuery 
case
+if (!mr.UDFs.isEmpty()) {
+succ.UDFs.addAll(mr.UDFs);
+}
 }
 
 // finally, remove the splitter from the MR plan

Modified: 
pig/branches/branch-0.9/test/org/apache/pig/test/TestMacroExpansion.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/test/org/apache/pig/test/TestMacroExpansion.java?rev=1103799r1=1103798r2=1103799view=diff
==
--- pig/branches/branch-0.9/test/org/apache/pig/test/TestMacroExpansion.java 
(original)
+++ pig/branches/branch-0.9/test/org/apache/pig/test/TestMacroExpansion.java 
Mon May 16 17:14:27 2011
@@ -1095,9 +1095,9 @@ public class TestMacroExpansion {
 public void negativeTest9() throws Throwable {
 String macro = define test( out1,out2 ){ A = load 'x' as (u:int, 
v:int); $B = filter A by u  3 and v  20; };
 
-String expectedErr = Error during parsing. file myscript.pig, line 
1, column 24  mismatched input '{' expecting RETURNS;
+String expectedErr = file myscript.pig, line 1, column 24  
mismatched input '{' expecting RETURNS;
 
-validateFailure(macro, expectedErr, Error);
+validateFailure(macro, expectedErr, file);
 }
 
 @Test




svn commit: r1102821 - in /pig/branches/branch-0.9: CHANGES.txt src/org/apache/pig/scripting/Pig.java test/org/apache/pig/test/TestScriptLanguage.java

2011-05-13 Thread rding
Author: rding
Date: Fri May 13 17:22:42 2011
New Revision: 1102821

URL: http://svn.apache.org/viewvc?rev=1102821view=rev
Log:
PIG-1827: When passing a parameter to Pig, if the value contains $ it has to be 
escaped for no apparent reason

Modified:
pig/branches/branch-0.9/CHANGES.txt
pig/branches/branch-0.9/src/org/apache/pig/scripting/Pig.java
pig/branches/branch-0.9/test/org/apache/pig/test/TestScriptLanguage.java

Modified: pig/branches/branch-0.9/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/CHANGES.txt?rev=1102821r1=1102820r2=1102821view=diff
==
--- pig/branches/branch-0.9/CHANGES.txt (original)
+++ pig/branches/branch-0.9/CHANGES.txt Fri May 13 17:22:42 2011
@@ -178,6 +178,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-1827: When passing a parameter to Pig, if the value contains $ it has to 
be escaped for no apparent reason (rding)
+
 PIG-1938: support project-range as udf argument (thejas)
 
 PIG-2056: Jython error messages should show script name (rding)

Modified: pig/branches/branch-0.9/src/org/apache/pig/scripting/Pig.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/src/org/apache/pig/scripting/Pig.java?rev=1102821r1=1102820r2=1102821view=diff
==
--- pig/branches/branch-0.9/src/org/apache/pig/scripting/Pig.java (original)
+++ pig/branches/branch-0.9/src/org/apache/pig/scripting/Pig.java Fri May 13 
17:22:42 2011
@@ -24,6 +24,7 @@ import java.io.LineNumberReader;
 import java.io.StringReader;
 import java.io.StringWriter;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -276,7 +277,8 @@ public class Pig {
 throws IOException {
 ArrayListString plist = new ArrayListString();
 for (EntryString, Object entry : vars.entrySet()) {
-plist.add(entry.getKey() + = + entry.getValue().toString());
+plist.add(entry.getKey() + =
++ fixNonEscapedDollarSign(entry.getValue().toString()));
 }
 
 ParameterSubstitutionPreprocessor psp = 
@@ -294,6 +296,31 @@ public class Pig {
 return writer.toString();
 }
 
+// Escape the $ so that we can use the parameter substitution 
+// to perform bind operation. Parameter substitution will un-escape $
+private static String fixNonEscapedDollarSign(String s) {
+String[] tkns = s.split(\\$, -1);
+
+if (tkns.length == 1) return s;
+
+StringBuilder sb = new StringBuilder();
+
+for (int i = 0; i  tkns.length -1; i++) {
+if (tkns[i].isEmpty()) {
+sb.append();
+} else {
+sb.append(tkns[i]);
+if (tkns[i].charAt(tkns[i].length()-1) != '\\') {
+sb.append();
+}
+}
+sb.append($);
+}
+sb.append(tkns[tkns.length - 1]);
+
+return sb.toString();
+}
+
 //-
 
 private static String getScriptFromFile(String filename) throws 
IOException {

Modified: 
pig/branches/branch-0.9/test/org/apache/pig/test/TestScriptLanguage.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/test/org/apache/pig/test/TestScriptLanguage.java?rev=1102821r1=1102820r2=1102821view=diff
==
--- pig/branches/branch-0.9/test/org/apache/pig/test/TestScriptLanguage.java 
(original)
+++ pig/branches/branch-0.9/test/org/apache/pig/test/TestScriptLanguage.java 
Fri May 13 17:22:42 2011
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertFal
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -29,7 +30,11 @@ import org.apache.pig.ExecType;
 import org.apache.pig.PigRunner;
 import org.apache.pig.PigServer;
 import org.apache.pig.data.Tuple;
+import org.apache.pig.impl.PigContext;
+import org.apache.pig.scripting.BoundScript;
+import org.apache.pig.scripting.Pig;
 import org.apache.pig.scripting.ScriptEngine;
+import org.apache.pig.scripting.ScriptPigContext;
 import org.apache.pig.tools.pigstats.JobStats;
 import org.apache.pig.tools.pigstats.OutputStats;
 import org.apache.pig.tools.pigstats.PigStats;
@@ -357,6 +362,11 @@ public class TestScriptLanguage {
 Pig.fs(\rmr simple_out\),
 input = 'simple_table_5',
 output = 'simple_out',
+testvar = 'abcd$py',
+testvar2 = '$',
+testvar3 = '$',
+testvar4 = 'abcd\\$py$',
+testvar5 = 'abcd\\$py

svn commit: r1101259 - in /pig/trunk: ./ src/org/apache/pig/ src/org/apache/pig/parser/ test/org/apache/pig/test/

2011-05-09 Thread rding
Author: rding
Date: Mon May  9 22:49:40 2011
New Revision: 1101259

URL: http://svn.apache.org/viewvc?rev=1101259view=rev
Log:
PIG-2012: Comments at the begining of the file throws off line numbers in errors

Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/PigServer.java
pig/trunk/src/org/apache/pig/parser/PigMacro.java
pig/trunk/src/org/apache/pig/parser/PigParserNode.java
pig/trunk/src/org/apache/pig/parser/PigParserNodeAdaptor.java
pig/trunk/src/org/apache/pig/parser/QueryParser.g
pig/trunk/src/org/apache/pig/parser/QueryParserDriver.java
pig/trunk/src/org/apache/pig/parser/QueryParserUtils.java
pig/trunk/src/org/apache/pig/parser/SourceLocation.java
pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1101259r1=1101258r2=1101259view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Mon May  9 22:49:40 2011
@@ -205,6 +205,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-2012: Comments at the begining of the file throws off line numbers in 
errors (rding)
+
 PIG-2043: Ship antlr-runtime.jar to backend (daijy)
 
 PIG-2049: Pig should display TokenMgrError message consistently across all 
parsers (rding)

Modified: pig/trunk/src/org/apache/pig/PigServer.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/PigServer.java?rev=1101259r1=1101258r2=1101259view=diff
==
--- pig/trunk/src/org/apache/pig/PigServer.java (original)
+++ pig/trunk/src/org/apache/pig/PigServer.java Mon May  9 22:49:40 2011
@@ -1575,8 +1575,13 @@ public class PigServer {
 scriptCache.add(  );
 currentLineNum++;
 }
-scriptCache.add( query );
-currentLineNum = startLine;
+BufferedReader br = new BufferedReader(new 
StringReader(query));
+String line = br.readLine();
+while (line != null) {
+scriptCache.add(line);
+currentLineNum++;
+line = br.readLine();
+}
 }
 } else {
 scriptCache.add( query );

Modified: pig/trunk/src/org/apache/pig/parser/PigMacro.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/parser/PigMacro.java?rev=1101259r1=1101258r2=1101259view=diff
==
--- pig/trunk/src/org/apache/pig/parser/PigMacro.java (original)
+++ pig/trunk/src/org/apache/pig/parser/PigMacro.java Mon May  9 22:49:40 2011
@@ -36,6 +36,7 @@ import org.antlr.runtime.tree.CommonTree
 import org.antlr.runtime.tree.Tree;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.pig.parser.PigParserNode.InvocationPoint;
 import org.apache.pig.tools.parameters.ParameterSubstitutionPreprocessor;
 
 class PigMacro {
@@ -50,6 +51,9 @@ class PigMacro {
 private MapString, PigMacro seen;
 private SetString macroStack;
 private long idx = 0;
+
+// The start line number of this macro in the script
+private int startLine = 0;
 
 PigMacro(String name, String file, ListString params,
 ListString returns, String body, MapString, PigMacro seen) {
@@ -71,9 +75,17 @@ class PigMacro {
 
 SetString getStack() { return macroStack; }
 
-private CommonTree inline(String[] inputs, String[] outputs, int 
lineNumber,
+void setStartLine(int start) {
+this.startLine = start;
+}
+
+int getStartLine() {
+return startLine;
+}
+
+private CommonTree inline(String[] inputs, String[] outputs, CommonTree t,
 String file) throws ParserException {
-String in = substituteParams(inputs, outputs, lineNumber, file);
+String in = substituteParams(inputs, outputs, t.getLine(), file);
 
 SetString masks = new HashSetString();
 if (inputs != null) {
@@ -86,7 +98,7 @@ class PigMacro {
 masks.add(s);
 }
  
-return maskAlias(in, masks, lineNumber, file);
+return maskAlias(in, masks, t, file);
 }
 
 
@@ -155,8 +167,13 @@ class PigMacro {
 return writer.toString();
 }
 
-private CommonTree maskAlias(String in, SetString masks, int line,
+private CommonTree maskAlias(String in, SetString masks, CommonTree tree,
 String file) throws ParserException {
+
+// this is the MACRO_INLINE node. the real line number is in the 
+// macro name node
+int line = tree.getChild(0).getLine();
+
 CharStream input = null;
 try {
 // parse macro

svn commit: r1101260 - in /pig/branches/branch-0.9: ./ src/org/apache/pig/ src/org/apache/pig/parser/ test/org/apache/pig/test/

2011-05-09 Thread rding
Author: rding
Date: Mon May  9 22:51:34 2011
New Revision: 1101260

URL: http://svn.apache.org/viewvc?rev=1101260view=rev
Log:
PIG-2012: Comments at the begining of the file throws off line numbers in errors

Modified:
pig/branches/branch-0.9/CHANGES.txt
pig/branches/branch-0.9/src/org/apache/pig/PigServer.java
pig/branches/branch-0.9/src/org/apache/pig/parser/PigMacro.java
pig/branches/branch-0.9/src/org/apache/pig/parser/PigParserNode.java
pig/branches/branch-0.9/src/org/apache/pig/parser/PigParserNodeAdaptor.java
pig/branches/branch-0.9/src/org/apache/pig/parser/QueryParser.g
pig/branches/branch-0.9/src/org/apache/pig/parser/QueryParserDriver.java
pig/branches/branch-0.9/src/org/apache/pig/parser/QueryParserUtils.java
pig/branches/branch-0.9/src/org/apache/pig/parser/SourceLocation.java
pig/branches/branch-0.9/test/org/apache/pig/test/TestMacroExpansion.java

Modified: pig/branches/branch-0.9/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/CHANGES.txt?rev=1101260r1=1101259r2=1101260view=diff
==
--- pig/branches/branch-0.9/CHANGES.txt (original)
+++ pig/branches/branch-0.9/CHANGES.txt Mon May  9 22:51:34 2011
@@ -174,6 +174,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-2012: Comments at the begining of the file throws off line numbers in 
errors (rding)
+
 PIG-2043: Ship antlr-runtime.jar to backend (daijy)
 
 PIG-2049: Pig should display TokenMgrError message consistently across all 
parsers (rding)

Modified: pig/branches/branch-0.9/src/org/apache/pig/PigServer.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/src/org/apache/pig/PigServer.java?rev=1101260r1=1101259r2=1101260view=diff
==
--- pig/branches/branch-0.9/src/org/apache/pig/PigServer.java (original)
+++ pig/branches/branch-0.9/src/org/apache/pig/PigServer.java Mon May  9 
22:51:34 2011
@@ -1575,8 +1575,13 @@ public class PigServer {
 scriptCache.add(  );
 currentLineNum++;
 }
-scriptCache.add( query );
-currentLineNum = startLine;
+BufferedReader br = new BufferedReader(new 
StringReader(query));
+String line = br.readLine();
+while (line != null) {
+scriptCache.add(line);
+currentLineNum++;
+line = br.readLine();
+}
 }
 } else {
 scriptCache.add( query );

Modified: pig/branches/branch-0.9/src/org/apache/pig/parser/PigMacro.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/src/org/apache/pig/parser/PigMacro.java?rev=1101260r1=1101259r2=1101260view=diff
==
--- pig/branches/branch-0.9/src/org/apache/pig/parser/PigMacro.java (original)
+++ pig/branches/branch-0.9/src/org/apache/pig/parser/PigMacro.java Mon May  9 
22:51:34 2011
@@ -36,6 +36,7 @@ import org.antlr.runtime.tree.CommonTree
 import org.antlr.runtime.tree.Tree;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.pig.parser.PigParserNode.InvocationPoint;
 import org.apache.pig.tools.parameters.ParameterSubstitutionPreprocessor;
 
 class PigMacro {
@@ -50,6 +51,9 @@ class PigMacro {
 private MapString, PigMacro seen;
 private SetString macroStack;
 private long idx = 0;
+
+// The start line number of this macro in the script
+private int startLine = 0;
 
 PigMacro(String name, String file, ListString params,
 ListString returns, String body, MapString, PigMacro seen) {
@@ -71,9 +75,17 @@ class PigMacro {
 
 SetString getStack() { return macroStack; }
 
-private CommonTree inline(String[] inputs, String[] outputs, int 
lineNumber,
+void setStartLine(int start) {
+this.startLine = start;
+}
+
+int getStartLine() {
+return startLine;
+}
+
+private CommonTree inline(String[] inputs, String[] outputs, CommonTree t,
 String file) throws ParserException {
-String in = substituteParams(inputs, outputs, lineNumber, file);
+String in = substituteParams(inputs, outputs, t.getLine(), file);
 
 SetString masks = new HashSetString();
 if (inputs != null) {
@@ -86,7 +98,7 @@ class PigMacro {
 masks.add(s);
 }
  
-return maskAlias(in, masks, lineNumber, file);
+return maskAlias(in, masks, t, file);
 }
 
 
@@ -155,8 +167,13 @@ class PigMacro {
 return writer.toString();
 }
 
-private CommonTree maskAlias(String in, SetString masks, int line,
+private CommonTree maskAlias(String in, SetString masks

svn commit: r1100411 - in /pig/trunk: CHANGES.txt src/org/apache/pig/impl/util/LogUtils.java

2011-05-06 Thread rding
Author: rding
Date: Fri May  6 22:52:21 2011
New Revision: 1100411

URL: http://svn.apache.org/viewvc?rev=1100411view=rev
Log:
PIG-2049: Pig should display TokenMgrError message consistently across all 
parsers

Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/impl/util/LogUtils.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1100411r1=1100410r2=1100411view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Fri May  6 22:52:21 2011
@@ -202,6 +202,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-2049: Pig should display TokenMgrError message consistently across all 
parsers (rding)
+
 PIG-2041: Minicluster should make each run independent (daijy)
 
 PIG-2040: Move classloader from QueryParserDriver to PigContext (daijy)

Modified: pig/trunk/src/org/apache/pig/impl/util/LogUtils.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/impl/util/LogUtils.java?rev=1100411r1=1100410r2=1100411view=diff
==
--- pig/trunk/src/org/apache/pig/impl/util/LogUtils.java (original)
+++ pig/trunk/src/org/apache/pig/impl/util/LogUtils.java Fri May  6 22:52:21 
2011
@@ -106,7 +106,8 @@ public class LogUtils {
 } else {
 if((t instanceof ParseException 
 || t instanceof 
org.apache.pig.tools.pigscript.parser.TokenMgrError 
-|| t instanceof 
org.apache.pig.impl.logicalLayer.parser.TokenMgrError)) {
+|| t instanceof 
org.apache.pig.impl.logicalLayer.parser.TokenMgrError
+|| t instanceof 
org.apache.pig.tools.parameters.TokenMgrError)) {
 message = ERROR 1000: Error during parsing.  + 
t.getMessage();
 } else if (t instanceof IOException) {
 message = ERROR 2997: Encountered IOException.  + 
t.getMessage();




svn commit: r1100418 - in /pig/branches/branch-0.9: CHANGES.txt src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java

2011-05-06 Thread rding
Author: rding
Date: Sat May  7 00:12:29 2011
New Revision: 1100418

URL: http://svn.apache.org/viewvc?rev=1100418view=rev
Log:
PIG-2033: Pig returns sucess for the failed Pig script

Modified:
pig/branches/branch-0.9/CHANGES.txt

pig/branches/branch-0.9/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java

Modified: pig/branches/branch-0.9/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/CHANGES.txt?rev=1100418r1=1100417r2=1100418view=diff
==
--- pig/branches/branch-0.9/CHANGES.txt (original)
+++ pig/branches/branch-0.9/CHANGES.txt Sat May  7 00:12:29 2011
@@ -535,6 +535,8 @@ PIG-1309: Map-side Cogroup (ashutoshc)
 
 BUG FIXES
 
+PIG-2033: Pig returns sucess for the failed Pig script (rding)
+
 PIG-1993: PigStorageSchema throw NPE with ColumnPruning (daijy)
 
 PIG-1935: New logical plan: Should not push up filter in front of Bincond 
(daijy)

Modified: 
pig/branches/branch-0.9/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.9/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java?rev=1100418r1=1100417r2=1100418view=diff
==
--- 
pig/branches/branch-0.9/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
 (original)
+++ 
pig/branches/branch-0.9/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
 Sat May  7 00:12:29 2011
@@ -354,6 +354,10 @@ public class MapReduceLauncher extends L
 // stats collection is done, log the results
 PigStatsUtil.stopCollection(true); 
 
+// PigStatsUtil.stopCollection also computes the return code based on
+// total jobs to run, jobs successful and jobs failed
+failed = failed || !PigStats.get().isSuccessful();
+
 MapEnum, Long warningAggMap = new HashMapEnum, Long();
 
 if (succJobs != null) {




svn commit: r1100419 - in /pig/trunk: CHANGES.txt src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java

2011-05-06 Thread rding
Author: rding
Date: Sat May  7 00:12:55 2011
New Revision: 1100419

URL: http://svn.apache.org/viewvc?rev=1100419view=rev
Log:
PIG-2033: Pig returns sucess for the failed Pig script

Modified:
pig/trunk/CHANGES.txt

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1100419r1=1100418r2=1100419view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Sat May  7 00:12:55 2011
@@ -557,6 +557,8 @@ PIG-1309: Map-side Cogroup (ashutoshc)
 
 BUG FIXES
 
+PIG-2033: Pig returns sucess for the failed Pig script (rding)
+
 PIG-1993: PigStorageSchema throw NPE with ColumnPruning (daijy)
 
 PIG-1935: New logical plan: Should not push up filter in front of Bincond 
(daijy)

Modified: 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java?rev=1100419r1=1100418r2=1100419view=diff
==
--- 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
 (original)
+++ 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
 Sat May  7 00:12:55 2011
@@ -354,6 +354,10 @@ public class MapReduceLauncher extends L
 // stats collection is done, log the results
 PigStatsUtil.stopCollection(true); 
 
+// PigStatsUtil.stopCollection also computes the return code based on
+// total jobs to run, jobs successful and jobs failed
+failed = failed || !PigStats.get().isSuccessful();
+
 MapEnum, Long warningAggMap = new HashMapEnum, Long();
 
 if (succJobs != null) {




svn commit: r1095228 - in /pig/trunk: CHANGES.txt src/org/apache/pig/Main.java src/org/apache/pig/parser/DryRunGruntParser.java src/org/apache/pig/parser/QueryParserDriver.java test/org/apache/pig/tes

2011-04-19 Thread rding
Author: rding
Date: Tue Apr 19 22:22:42 2011
New Revision: 1095228

URL: http://svn.apache.org/viewvc?rev=1095228view=rev
Log:
PIG-1987: -dryrun does not work with set

Added:
pig/trunk/src/org/apache/pig/parser/DryRunGruntParser.java
Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/Main.java
pig/trunk/src/org/apache/pig/parser/QueryParserDriver.java
pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1095228r1=1095227r2=1095228view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Tue Apr 19 22:22:42 2011
@@ -158,6 +158,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-1987: -dryrun does not work with set (rding)
+
 PIG-1871: Dont throw exception if partition filters cannot be pushed up. 
(rding)
 
 PIG-1870: HBaseStorage doesn't project correctly (dvryaboy)

Modified: pig/trunk/src/org/apache/pig/Main.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/Main.java?rev=1095228r1=1095227r2=1095228view=diff
==
--- pig/trunk/src/org/apache/pig/Main.java (original)
+++ pig/trunk/src/org/apache/pig/Main.java Tue Apr 19 22:22:42 2011
@@ -35,7 +35,6 @@ import java.util.AbstractList;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -48,6 +47,7 @@ import jline.ConsoleReader;
 import jline.ConsoleReaderInputStream;
 import jline.History;
 
+import org.antlr.runtime.RecognitionException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
@@ -66,6 +66,7 @@ import org.apache.pig.impl.util.LogUtils
 import org.apache.pig.impl.util.ObjectSerializer;
 import org.apache.pig.impl.util.PropertiesUtil;
 import org.apache.pig.impl.util.UDFContext;
+import org.apache.pig.parser.DryRunGruntParser;
 import org.apache.pig.parser.QueryParserDriver;
 import org.apache.pig.scripting.ScriptEngine;
 import org.apache.pig.scripting.ScriptEngine.SupportedScriptLang;
@@ -389,9 +390,7 @@ static int run(String args[], PigProgres
 pin = runParamPreprocessor(properties, in, params, paramFiles,
 substFile, debug || dryrun || checkScriptOnly);
 if (dryrun) {
-QueryParserDriver driver = new QueryParserDriver(
-pigContext, 0, new HashMapString, String());
-if (driver.dryrun(substFile)) {
+if (dryrun(substFile, pigContext)) {
 log.info(Dry run completed. Substituted pig script is at 
 + substFile
 + . Expanded pig script is at 
@@ -518,9 +517,7 @@ static int run(String args[], PigProgres
 substFile = remainders[0] + .substituted;
 pin = runParamPreprocessor(properties, in, params, paramFiles, 
substFile, debug || dryrun || checkScriptOnly);
 if (dryrun) {
-QueryParserDriver driver = new QueryParserDriver(
-pigContext, 0, new HashMapString, String());
-if (driver.dryrun(substFile)) {
+if (dryrun(substFile, pigContext)) {
 log.info(Dry run completed. Substituted pig script is at 
 + substFile
 + . Expanded pig script is at 
@@ -605,6 +602,25 @@ private static int getReturnCodeForStats
 : ReturnCode.PARTIAL_FAILURE;   // some jobs have 
failed
 }
 
+public static boolean dryrun(String scriptFile, PigContext pigContext)
+throws RecognitionException, IOException {
+BufferedReader rd = new BufferedReader(new FileReader(scriptFile));
+
+DryRunGruntParser dryrun = new DryRunGruntParser(rd, scriptFile,
+pigContext);
+
+boolean hasMacro = dryrun.parseStopOnError();
+
+if (hasMacro) {
+String expandedFile = scriptFile.replace(.substituted,
+.expanded);
+BufferedWriter fw = new BufferedWriter(new FileWriter(expandedFile));
+fw.append(dryrun.getResult());
+fw.close();
+}
+return hasMacro;
+}
+
 //TODO jz: log4j.properties should be used instead
 private static void configureLog4J(Properties properties, PigContext 
pigContext) {
 // TODO Add a file appender for the logs

Added: pig/trunk/src/org/apache/pig/parser/DryRunGruntParser.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/parser/DryRunGruntParser.java?rev=1095228view=auto
==
--- pig/trunk/src/org/apache/pig/parser/DryRunGruntParser.java (added)
+++ pig/trunk/src/org

svn commit: r1091123 - in /pig/branches/branch-0.8: CHANGES.txt src/org/apache/pig/impl/io/TFileRecordReader.java test/org/apache/pig/test/TestTmpFileCompression.java

2011-04-11 Thread rding
Author: rding
Date: Mon Apr 11 16:52:11 2011
New Revision: 1091123

URL: http://svn.apache.org/viewvc?rev=1091123view=rev
Log:
PIG-1977: 'Stream closed' error while reading Pig temp files

Modified:
pig/branches/branch-0.8/CHANGES.txt
pig/branches/branch-0.8/src/org/apache/pig/impl/io/TFileRecordReader.java
pig/branches/branch-0.8/test/org/apache/pig/test/TestTmpFileCompression.java

Modified: pig/branches/branch-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.8/CHANGES.txt?rev=1091123r1=1091122r2=1091123view=diff
==
--- pig/branches/branch-0.8/CHANGES.txt (original)
+++ pig/branches/branch-0.8/CHANGES.txt Mon Apr 11 16:52:11 2011
@@ -34,6 +34,8 @@ PIG-1886: Add zookeeper jar to list of j
 
 BUG FIXES
 
+PIG-1977: Stream closed error while reading Pig temp files (results of 
intermediate jobs) (rding)
+
 PIG-1911: Infinite loop with accumulator function in nested foreach (thejas)
 
 PIG-1964: PigStorageSchema fails if a column value is null (thejas)

Modified: 
pig/branches/branch-0.8/src/org/apache/pig/impl/io/TFileRecordReader.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.8/src/org/apache/pig/impl/io/TFileRecordReader.java?rev=1091123r1=1091122r2=1091123view=diff
==
--- pig/branches/branch-0.8/src/org/apache/pig/impl/io/TFileRecordReader.java 
(original)
+++ pig/branches/branch-0.8/src/org/apache/pig/impl/io/TFileRecordReader.java 
Mon Apr 11 16:52:11 2011
@@ -78,12 +78,13 @@ public class TFileRecordReader extends R
 // if we got here, we have seen 
RECORD_1-RECORD_2-RECORD_3-TUPLE_MARKER
 // sequence - lets now read the contents of the tuple 
 value = (Tuple) sedes.readDatum(in);
-scanner.advance();
-return true;
 }
 finally {
 in.close();
 }
+
+scanner.advance();
+return true;
 }
 
 @Override

Modified: 
pig/branches/branch-0.8/test/org/apache/pig/test/TestTmpFileCompression.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.8/test/org/apache/pig/test/TestTmpFileCompression.java?rev=1091123r1=1091122r2=1091123view=diff
==
--- 
pig/branches/branch-0.8/test/org/apache/pig/test/TestTmpFileCompression.java 
(original)
+++ 
pig/branches/branch-0.8/test/org/apache/pig/test/TestTmpFileCompression.java 
Mon Apr 11 16:52:11 2011
@@ -20,19 +20,26 @@ package org.apache.pig.test;
 import static org.junit.Assert.*;
 
 import java.io.File;
+import java.io.FileWriter;
 import java.io.IOException;
+import java.io.PrintWriter;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.Properties;
 
 import java.io.BufferedReader;
 import java.io.FileReader;
 
 
 import org.apache.pig.ExecType;
+import org.apache.pig.PigRunner;
 import org.apache.pig.PigServer;
+import org.apache.pig.data.DataBag;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.impl.io.TFileStorage;
 import org.apache.pig.impl.io.InterStorage;
+import org.apache.pig.tools.pigstats.OutputStats;
+import org.apache.pig.tools.pigstats.PigStats;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -267,4 +274,57 @@ public class TestTmpFileCompression {
 }));
 }
 
+
+// PIG-1977
+@Test
+public void testTFileRecordReader() throws Exception {
+PrintWriter w = new PrintWriter(new FileWriter(1.txt));
+for (int i = 0; i  30; i++) {
+w.println(1\tthis is a test for compression of temp files);
+}
+w.close();
+
+Util.copyFromLocalToCluster(cluster, 1.txt, 1.txt);
+
+PrintWriter w1 = new PrintWriter(new FileWriter(tfile.pig));
+w1.println(A = load '1.txt' as (a0:int, a1:chararray););
+w1.println(B = group A by a0;);
+w1.println(store B into 'tfile' using 
org.apache.pig.impl.io.TFileStorage(););
+w1.close();
+
+PrintWriter w2 = new PrintWriter(new FileWriter(tfile2.pig));
+w2.println(A = load 'tfile' using 
org.apache.pig.impl.io.TFileStorage() as (a:int, b:bag{(b0:int, 
b1:chararray)}););
+w2.println(B = foreach A generate flatten($1););
+w2.println(store B into '2.txt';);
+w2.close();
+
+try {
+String[] args = { -Dpig.tmpfilecompression.codec=gz,
+-Dtfile.io.chunk.size=100, tfile.pig };
+PigStats stats = PigRunner.run(args, null);
+ 
+assertTrue(stats.isSuccessful());
+ 
+String[] args2 = { -Dpig.tmpfilecompression.codec=gz,
+-Dtfile.io.chunk.size=100, tfile2.pig };
+PigStats stats2 = PigRunner.run(args2, null);
+
+assertTrue(stats2.isSuccessful());
+
+OutputStats

svn commit: r1091242 - in /pig/trunk: CHANGES.txt src/org/apache/pig/parser/QueryParserUtils.java test/org/apache/pig/test/TestMacroExpansion.java

2011-04-11 Thread rding
Author: rding
Date: Mon Apr 11 22:45:50 2011
New Revision: 1091242

URL: http://svn.apache.org/viewvc?rev=1091242view=rev
Log:
PIG-1988: Importing an empty macro file causing NPE

Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/parser/QueryParserUtils.java
pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1091242r1=1091241r2=1091242view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Mon Apr 11 22:45:50 2011
@@ -142,6 +142,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-1988: Importing an empty macro file causing NPE (rding)
+
 PIG-1977: Stream closed error while reading Pig temp files (results of 
intermediate jobs) (rding)
 
 PIG-1963: in nested foreach, accumutive udf taking input from order-by does 
not get results in order (thejas)

Modified: pig/trunk/src/org/apache/pig/parser/QueryParserUtils.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/parser/QueryParserUtils.java?rev=1091242r1=1091241r2=1091242view=diff
==
--- pig/trunk/src/org/apache/pig/parser/QueryParserUtils.java (original)
+++ pig/trunk/src/org/apache/pig/parser/QueryParserUtils.java Mon Apr 11 
22:45:50 2011
@@ -191,7 +191,10 @@ public class QueryParserUtils {
 
 for (int i = 0; i  count; i++) {
 if (i == idx) {
-parent.addChildren(macroList);
+// add only there is something to add
+if (macroList != null) {
+parent.addChildren(macroList);
+}
 } else {
 parent.addChild((Tree) childList.get(i));
 }

Modified: pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java?rev=1091242r1=1091241r2=1091242view=diff
==
--- pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java Mon Apr 11 
22:45:50 2011
@@ -1663,6 +1663,31 @@ public class TestMacroExpansion {
 testMacro( query, expected );
 }
 
+// PIG-1988
+@Test
+public void test36() throws Exception {
+File f = new File(mymacro.pig);
+f.deleteOnExit();
+
+FileWriter fw = new FileWriter(f);
+fw.append( );
+fw.close();
+
+String query = import 'mymacro.pig'; +
+define macro1() returns dummy {};  + 
+A = load '1.txt' as (a0:int, a1:chararray); +
+dummy = macro1(); +
+B = group A by a0; + 
+store B into 'output';;
+
+String expected = 
+A = load '1.txt' as (a0:int, a1:chararray);\n +
+B = group A by (a0);\n +
+store B INTO 'output';\n;
+
+verify(query, expected);
+}
+
 @Test
 public void testCommentInMacro() throws Exception {
 String query = a = load 'testComplexCast' as (m);\n +
@@ -1734,7 +1759,11 @@ public class TestMacroExpansion {
 
 String[] args = { -Dpig.import.search.path=/tmp, -x, local, 
-c, myscript.pig };
 PigStats stats = PigRunner.run(args, null);
- 
+
+if (!stats.isSuccessful()) {
+System.out.println(error msg:  + stats.getErrorMessage());
+}
+
 assertTrue(stats.isSuccessful());
 
 String[] args2 = { -Dpig.import.search.path=/tmp, -x, local, 
-r, myscript.pig };




svn commit: r1089537 - in /pig/trunk: ./ src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/ src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/ src/org/a

2011-04-06 Thread rding
Author: rding
Date: Wed Apr  6 17:10:57 2011
New Revision: 1089537

URL: http://svn.apache.org/viewvc?rev=1089537view=rev
Log:
PIG-1955: PhysicalOperator has a member variable (non-static) Log object that 
is non-transient, this causes serialization errors

Modified:
pig/trunk/CHANGES.txt

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/PhysicalOperator.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/ExpressionOperator.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POCast.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POUserComparisonFunc.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POUserFunc.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POCollectedGroup.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POCombinerPackage.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/PODemux.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/PODistinct.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POFRJoin.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POFilter.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POForEach.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POLimit.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POLoad.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POLocalRearrange.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POMergeJoin.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POMultiQueryPackage.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POPreCombinerLocalRearrange.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POSkewedJoin.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POSort.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POSplit.java
pig/trunk/test/org/apache/pig/test/data/GoldenFiles/MRC18.gld

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1089537r1=1089536r2=1089537view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Wed Apr  6 17:10:57 2011
@@ -136,6 +136,9 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-1955: PhysicalOperator has a member variable (non-static) Log object that
+is non-transient, this causes serialization errors (woody via rding)
+
 PIG-1964: PigStorageSchema fails if a column value is null (thejas))
 
 PIG-1866: Dereference a bag within a tuple does not work (daijy)

Modified: 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/PhysicalOperator.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/PhysicalOperator.java?rev=1089537r1=1089536r2=1089537view=diff
==
--- 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/PhysicalOperator.java
 (original)
+++ 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/PhysicalOperator.java
 Wed Apr  6 17:10:57 2011
@@ -61,8 +61,7 @@ import org.apache.pig.pen.Illustrable;
  *
  */
 public abstract class PhysicalOperator extends OperatorPhyPlanVisitor 
implements Illustrable, Cloneable {
-
-private final Log log = LogFactory.getLog(getClass());
+private static final Log log = LogFactory.getLog(PhysicalOperator.class);
 
 protected static final long serialVersionUID = 1L;
 

Modified: 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/ExpressionOperator.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/ExpressionOperator.java?rev=1089537r1=1089536r2=1089537view=diff
==
--- 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/ExpressionOperator.java
 (original)
+++ 
pig/trunk/src/org

svn commit: r1085612 [4/4] - in /pig/trunk: ./ src/org/apache/pig/ src/org/apache/pig/parser/ src/org/apache/pig/scripting/ src/org/apache/pig/tools/parameters/ src/org/apache/pig/tools/pigscript/pars

2011-03-25 Thread rding
Modified: pig/trunk/test/org/apache/pig/test/TestParamSubPreproc.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestParamSubPreproc.java?rev=1085612r1=1085611r2=1085612view=diff
==
--- pig/trunk/test/org/apache/pig/test/TestParamSubPreproc.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestParamSubPreproc.java Sat Mar 26 
00:07:41 2011
@@ -1482,4 +1482,50 @@ public class TestParamSubPreproc extends
 log.info(Done);
 }
 
+@Test
+public void testMacroDef() throws Exception{
+log.info(Starting test testMacroDef() ...);
+try {
+ParameterSubstitutionPreprocessor ps = new 
ParameterSubstitutionPreprocessor(50);
+pigIStream = new BufferedReader(new FileReader(basedir + 
/input6.pig));
+pigOStream = new FileWriter(basedir + /output1.pig);
+
+String[] arg = {date=20080228};
+String[] argFiles = null;
+ps.genSubstitutedFile(pigIStream , pigOStream , arg , argFiles);
+
+FileInputStream pigResultStream = new FileInputStream(basedir + 
/output1.pig);
+pigExResultStream = new FileInputStream(basedir + 
/ExpectedResult6.pig);
+BufferedReader inExpected = new BufferedReader(new 
InputStreamReader(pigExResultStream));
+BufferedReader inResult = new BufferedReader(new 
InputStreamReader(pigResultStream));
+
+String exLine;
+String resLine;
+int lineNum=0;
+
+while (true) {
+lineNum++;
+exLine = inExpected.readLine();
+resLine = inResult.readLine();
+if (exLine==null || resLine==null)
+break;
+assertEquals(Command line parameter substitution failed.  + 
Expected : +exLine+ , but got : +resLine+ in line num : +lineNum 
,exLine.trim(), resLine.trim());
+}
+if (!(exLine==null  resLine==null)) {
+fail (Command line parameter substitution failed.  + 
Expected : +exLine+ , but got : +resLine+ in line num : +lineNum);
+}
+
+inExpected.close();
+inResult.close();
+} catch (ParseException e) {
+fail (Got ParseException :  + e.getMessage());
+} catch (RuntimeException e) {
+fail (Got RuntimeException :  + e.getMessage());
+} catch (Error e) {
+fail (Got error :  + e.getMessage());
+}
+
+log.info(Done);
+
+}
 }

Added: pig/trunk/test/org/apache/pig/test/data/ExpectedResult6.pig
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/data/ExpectedResult6.pig?rev=1085612view=auto
==
--- pig/trunk/test/org/apache/pig/test/data/ExpectedResult6.pig (added)
+++ pig/trunk/test/org/apache/pig/test/data/ExpectedResult6.pig Sat Mar 26 
00:07:41 2011
@@ -0,0 +1,15 @@
+define mymacro1(A, rate) returns B {
+C = group $A by $0 parallel $rate;
+B = foreach C generate group, COUNT($A);
+};
+
+aa = load 
'/data/intermediate/pow/elcarobootstrap/account/full/weekly/data/20080228' 
using PigStorage('\x01');
+bb = filter aa by (ARITY == '16') and ( $4 eq '' or $4 eq 'NULL' or $4 eq 
'ss') parallel 400;
+a = foreach bb generate $0,$12,$7;
+
+--generate inactive accts
+inactiveAccounts = filter a by ($1 neq '') and ($1 == '2') parallel 400;
+store inactiveAccounts into 
'/user/kaleidoscope/pow_stats/20080228/acct/InactiveAcct';
+grpInactiveAcct = group inactiveAccounts all;
+countInactiveAcct = foreach grpInactiveAcct { generate COUNT( inactiveAccounts 
); }
+store countInactiveAcct into 
'/user/kaleidoscope/pow_stats/20080228/acct_stats/InactiveAcctCount';

Added: pig/trunk/test/org/apache/pig/test/data/input6.pig
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/data/input6.pig?rev=1085612view=auto
==
--- pig/trunk/test/org/apache/pig/test/data/input6.pig (added)
+++ pig/trunk/test/org/apache/pig/test/data/input6.pig Sat Mar 26 00:07:41 2011
@@ -0,0 +1,15 @@
+define mymacro1(A, rate) returns B { 
+C = group $A by $0 parallel $rate;
+B = foreach C generate group, COUNT($A);
+};
+
+aa = load 
'/data/intermediate/pow/elcarobootstrap/account/full/weekly/data/$date' using 
PigStorage('\x01');
+bb = filter aa by (ARITY == '16') and ( $4 eq '' or $4 eq 'NULL' or $4 eq 
'ss') parallel 400;
+a = foreach bb generate $0,$12,$7;
+
+--generate inactive accts
+inactiveAccounts = filter a by ($1 neq '') and ($1 == '2') parallel 400;
+store inactiveAccounts into 
'/user/kaleidoscope/pow_stats/20080228/acct/InactiveAcct';
+grpInactiveAcct = group inactiveAccounts all;
+countInactiveAcct = foreach grpInactiveAcct { generate COUNT( inactiveAccounts 
); }
+store countInactiveAcct into 

svn commit: r1085612 [2/4] - in /pig/trunk: ./ src/org/apache/pig/ src/org/apache/pig/parser/ src/org/apache/pig/scripting/ src/org/apache/pig/tools/parameters/ src/org/apache/pig/tools/pigscript/pars

2011-03-25 Thread rding
Modified: pig/trunk/src/org/apache/pig/parser/QueryParserDriver.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/parser/QueryParserDriver.java?rev=1085612r1=1085611r2=1085612view=diff
==
--- pig/trunk/src/org/apache/pig/parser/QueryParserDriver.java (original)
+++ pig/trunk/src/org/apache/pig/parser/QueryParserDriver.java Sat Mar 26 
00:07:41 2011
@@ -18,31 +18,55 @@
 
 package org.apache.pig.parser;
 
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.FileWriter;
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.antlr.runtime.BaseRecognizer;
 import org.antlr.runtime.CharStream;
 import org.antlr.runtime.CommonTokenStream;
 import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.tree.CommonTree;
 import org.antlr.runtime.tree.CommonTreeNodeStream;
 import org.antlr.runtime.tree.Tree;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.pig.impl.PigContext;
 import org.apache.pig.newplan.Operator;
 import org.apache.pig.newplan.logical.relational.LogicalPlan;
+import org.apache.pig.tools.pigstats.ScriptState;
 
 public class QueryParserDriver {
 public static ClassLoader classloader = 
QueryParserDriver.class.getClassLoader();
 
+private static final Log LOG = LogFactory.getLog(QueryParserDriver.class);
+
+private static final String MACRO_DEF = MACRO_DEF;
+private static final String MACRO_INLINE = MACRO_INLINE;
+private static final String IMPORT_DEF = import;
+
 private PigContext pigContext;
 private String scope;
 private MapString, StringfileNameMap;
 private MapString, Operator operators;
+private SetString importSeen;
+private SetString macroSeen;
 
 public QueryParserDriver(PigContext pigContext, String scope, MapString, 
String fileNameMap) {
 this.pigContext = pigContext;
 this.scope = scope;
 this.fileNameMap = fileNameMap;
+importSeen = new HashSetString();
+macroSeen = new HashSetString();
 }
 
 public LogicalPlan parse(String query) throws ParserException {
@@ -55,7 +79,9 @@ public class QueryParserDriver {
 ast = parse( tokenStream );
 } catch(RuntimeException ex) {
 throw new ParserException( ex.getMessage() );
-}
+}  
+ 
+ast = expandMacro(ast);
 
 try{   
 ast = validateAst( ast );
@@ -76,6 +102,44 @@ public class QueryParserDriver {
 return plan;
 }
 
+public boolean dryrun(String scriptFile) throws ParserException, 
IOException, RecognitionException {
+BufferedReader rd = new BufferedReader(new FileReader(scriptFile));
+StringBuilder sb = new StringBuilder();
+String line = rd.readLine();
+while (line != null) {
+sb.append(line).append(\n);
+line = rd.readLine();
+}
+
+CommonTokenStream tokenStream = tokenize(sb.toString());
+Tree ast = null;
+
+try {
+ast = parse( tokenStream );
+} catch(RuntimeException ex) {
+throw new ParserException( ex.getMessage() );
+}  
+
+ListCommonTree importNodes = new ArrayListCommonTree();
+ListCommonTree macroNodes = new ArrayListCommonTree();
+ListCommonTree inlineNodes = new ArrayListCommonTree();
+
+traverseImport(ast, importNodes);
+traverse(ast, macroNodes, inlineNodes);
+
+if (importNodes.isEmpty()  macroNodes.isEmpty()
+ inlineNodes.isEmpty()) {
+return false;
+}
+
+ast = expandMacro(ast);
+
+String expandedFile = scriptFile.replace(.substituted, .expanded);
+dryrun(ast, expandedFile);
+
+return true;
+}
+
 public MapString, Operator getOperators() {
 return operators;
 }
@@ -83,39 +147,52 @@ public class QueryParserDriver {
 private static CommonTokenStream tokenize(String query) throws 
ParserException {
 CharStream input;
 try {
-input = new QueryParserStringStream( query );
-} catch(IOException ex) {
-throw new ParserException( Unexpected IOException:  + 
ex.getMessage() );
-}
-QueryLexer lexer = new QueryLexer( input );
-CommonTokenStream tokens = new CommonTokenStream( lexer );
-checkError( lexer );
+input = new QueryParserStringStream(query);
+} catch (IOException ex) {
+throw new ParserException(Unexpected IOException: 
++ ex.getMessage());
+}

svn commit: r1080747 - in /pig/trunk: ./ src/org/apache/pig/ src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/ src/org/apache/pig/impl/ src/org/apache/pig/impl/util/ src/org/apache/pig/

2011-03-11 Thread rding
Author: rding
Date: Fri Mar 11 20:08:38 2011
New Revision: 1080747

URL: http://svn.apache.org/viewvc?rev=1080747view=rev
Log:
PIG-1874: Make PigServer work in a multithreading environment

Added:
pig/trunk/test/org/apache/pig/test/utils/UDFContextTestEvalFunc3.java
Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/PigServer.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/POStatus.java
pig/trunk/src/org/apache/pig/impl/PigContext.java
pig/trunk/src/org/apache/pig/impl/util/UDFContext.java
pig/trunk/src/org/apache/pig/scripting/BoundScript.java
pig/trunk/test/org/apache/pig/test/TestScriptLanguage.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1080747r1=1080746r2=1080747view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Fri Mar 11 20:08:38 2011
@@ -26,6 +26,8 @@ PIG-1680: HBaseStorage should work with 
 
 IMPROVEMENTS
 
+PIG-1874: Make PigServer work in a multithreading environment (rding)
+
 PIG-1188: Padding nulls to the input tuple according to input schema (daijy)
 
 PIG-1876: Typed map for Pig (daijy)

Modified: pig/trunk/src/org/apache/pig/PigServer.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/PigServer.java?rev=1080747r1=1080746r2=1080747view=diff
==
--- pig/trunk/src/org/apache/pig/PigServer.java (original)
+++ pig/trunk/src/org/apache/pig/PigServer.java Fri Mar 11 20:08:38 2011
@@ -41,6 +41,7 @@ import java.util.Properties;
 import java.util.Queue;
 import java.util.Set;
 import java.util.Stack;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -172,7 +173,8 @@ public class PigServer {
 
 private String jobPriority;
 
-private static int scopeCounter = 0;
+private final static AtomicInteger scopeCounter = new AtomicInteger(0);
+
 private final String scope = constructScope();
 
 
@@ -189,7 +191,7 @@ public class PigServer {
 // username-date. For now let's simplify the scope, if a real
 // scope is needed again, we might need to update all the
 // operators to not include scope in their name().
-return +(++scopeCounter);
+return  + scopeCounter.incrementAndGet();
 }
 
 /**

Modified: 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/POStatus.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/POStatus.java?rev=1080747r1=1080746r2=1080747view=diff
==
--- 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/POStatus.java
 (original)
+++ 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/POStatus.java
 Fri Mar 11 20:08:38 2011
@@ -33,6 +33,4 @@ public class POStatus {
 // successfully processing of a batch, used by accumulative UDFs
 // this is used for accumulative UDFs
 public static final byte STATUS_BATCH_OK = 5; 
-
-public static Object result;
 }

Modified: pig/trunk/src/org/apache/pig/impl/PigContext.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/impl/PigContext.java?rev=1080747r1=1080746r2=1080747view=diff
==
--- pig/trunk/src/org/apache/pig/impl/PigContext.java (original)
+++ pig/trunk/src/org/apache/pig/impl/PigContext.java Fri Mar 11 20:08:38 2011
@@ -107,7 +107,8 @@ public class PigContext implements Seria
 private MapString, StreamingCommand definedCommands = 
 new HashMapString, StreamingCommand();
 
-private static ArrayListString packageImportList = new 
ArrayListString();
+private static ThreadLocalArrayListString packageImportList = 
+new ThreadLocalArrayListString();
 
 private Properties log4jProperties = new Properties();
 
@@ -154,23 +155,18 @@ public class PigContext implements Seria
 skippedShipPaths.add(/usr/sbin);
 skippedShipPaths.add(/usr/local/sbin);
 }
-
-static{
-packageImportList.add();
-packageImportList.add(org.apache.pig.builtin.);
-packageImportList.add(org.apache.pig.impl.builtin.);
-}
 
 public static void initializeImportList(String 
importListCommandLineProperties)
 {
 StringTokenizer tokenizer = new 
StringTokenizer(importListCommandLineProperties, :);
 int pos = 0;
+ArrayListString importList = getPackageImportList();
 while (tokenizer.hasMoreTokens())
 {
 String importItem = tokenizer.nextToken();
 if (!importItem.endsWith(.))
 importItem

svn commit: r1080384 - in /pig/trunk: ./ src/org/apache/pig/ src/org/apache/pig/backend/hadoop/executionengine/ src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/ src/org/apache/pig/pen

2011-03-10 Thread rding
Author: rding
Date: Thu Mar 10 22:50:55 2011
New Revision: 1080384

URL: http://svn.apache.org/viewvc?rev=1080384view=rev
Log:
PIG-1862: Pig returns exit code 0 for the failed Pig script due to non-existing 
input directory

Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/PigServer.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/HExecutionEngine.java

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
pig/trunk/src/org/apache/pig/pen/LocalMapReduceSimulator.java
pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java
pig/trunk/src/org/apache/pig/tools/pigstats/JobStats.java
pig/trunk/test/org/apache/pig/test/TestGroupConstParallel.java
pig/trunk/test/org/apache/pig/test/TestJobSubmission.java
pig/trunk/test/org/apache/pig/test/TestMultiQueryLocal.java
pig/trunk/test/org/apache/pig/test/TestPigRunner.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1080384r1=1080383r2=1080384view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Thu Mar 10 22:50:55 2011
@@ -108,6 +108,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-1862: Pig returns exit code 0 for the failed Pig script due to 
non-existing input directory (rding)
+
 PIG-1888: Fix TestLogicalPlanGenerator not use hardcoded path (daijy)
 
 PIG-1837: Error while using IsEmpty function (rding)

Modified: pig/trunk/src/org/apache/pig/PigServer.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/PigServer.java?rev=1080384r1=1080383r2=1080384view=diff
==
--- pig/trunk/src/org/apache/pig/PigServer.java (original)
+++ pig/trunk/src/org/apache/pig/PigServer.java Thu Mar 10 22:50:55 2011
@@ -54,8 +54,10 @@ import org.apache.pig.backend.executione
 import org.apache.pig.backend.executionengine.ExecJob;
 import org.apache.pig.backend.executionengine.ExecJob.JOB_STATUS;
 import org.apache.pig.backend.hadoop.executionengine.HJob;
+import 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher;
 import 
org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan;
 import 
org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore;
+import org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil;
 import org.apache.pig.builtin.PigStorage;
 import org.apache.pig.classification.InterfaceAudience;
 import org.apache.pig.classification.InterfaceStability;
@@ -975,7 +977,11 @@ public class PigServer {
 currDAG.lp.explain(lps, format, verbose);
 
 pp.explain(pps, format, verbose);
-pigContext.getExecutionEngine().explain(pp, eps, format, verbose);
+
+MapRedUtil.checkLeafIsStore(pp, pigContext);
+MapReduceLauncher launcher = new MapReduceLauncher();
+launcher.explain(pp, pigContext, eps, format, verbose);
+
 if (markAsExecute) {
 currDAG.markAsExecuted();
 }
@@ -1216,25 +1222,40 @@ public class PigServer {
 // discover pig features used in this script
 ScriptState.get().setScriptFeatures( currDAG.lp );
 PhysicalPlan pp = compilePp();
-// execute using appropriate engine
-ListExecJob jobs = pigContext.getExecutionEngine().execute(pp, 
job_pigexec_);
+   
+MapReduceLauncher launcher = new MapReduceLauncher();
 PigStats stats = null;
-if (jobs.size()  0) {
-stats = jobs.get(0).getStatistics();
-} else {
-stats = PigStatsUtil.getEmptyPigStats();
+try {
+stats = launcher.launchPig(pp, job_pigexec_, pigContext);
+} catch (Exception e) {
+// There are a lot of exceptions thrown by the launcher.  If this
+// is an ExecException, just let it through.  Else wrap it.
+if (e instanceof ExecException){
+throw (ExecException)e;
+} else if (e instanceof FrontendException) {
+throw (FrontendException)e;
+} else {
+int errCode = 2043;
+String msg = Unexpected error during execution.;
+throw new ExecException(msg, errCode, PigException.BUG, e);
+}
+} finally {
+launcher.reset();
 }
+
 for (OutputStats output : stats.getOutputStats()) {
 if (!output.isSuccessful()) {
 POStore store = output.getPOStore();
 try {
-
store.getStoreFunc().cleanupOnFailure(store.getSFile().getFileName(),
+store.getStoreFunc().cleanupOnFailure(
+store.getSFile().getFileName(),
 new Job

svn commit: r1078875 - in /pig/trunk: CHANGES.txt src/org/apache/pig/tools/pigstats/ScriptState.java test/org/apache/pig/test/TestPigStats.java

2011-03-07 Thread rding
Author: rding
Date: Mon Mar  7 18:09:02 2011
New Revision: 1078875

URL: http://svn.apache.org/viewvc?rev=1078875view=rev
Log:
The pig script stored in the Hadoop History logs is stored as a concatenated 
string without whitespace this causes problems when attempting to extract and 
execute the script

Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java
pig/trunk/test/org/apache/pig/test/TestPigStats.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1078875r1=1078874r2=1078875view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Mon Mar  7 18:09:02 2011
@@ -102,6 +102,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-1861: The pig script stored in the Hadoop History logs is stored as a 
concatenated string without whitespace this causes problems when attempting to 
extract and execute the script (rding)
+
 PIG-1829: 0 value seen in PigStat's map/reduce runtime, even when the job is 
successful (rding)
 
 PIG-1856: Custom jar is not packaged with the new job created by LimitAdjuster 
(rding)

Modified: pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java?rev=1078875r1=1078874r2=1078875view=diff
==
--- pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java (original)
+++ pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java Mon Mar  7 
18:09:02 2011
@@ -386,9 +386,8 @@ public class ScriptState {
 try {
 String line = reader.readLine();
 while (line != null) {
-line = line.trim();
-if (line.length()  0  !line.startsWith(--)) {
-sb.append(line);
+if (line.length()  0) {
+sb.append(line).append(\n);
 }
 line = reader.readLine();
 }

Modified: pig/trunk/test/org/apache/pig/test/TestPigStats.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestPigStats.java?rev=1078875r1=1078874r2=1078875view=diff
==
--- pig/trunk/test/org/apache/pig/test/TestPigStats.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestPigStats.java Mon Mar  7 18:09:02 
2011
@@ -18,34 +18,107 @@
 
 package org.apache.pig.test;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
 
 import java.io.File;
+import java.io.FileWriter;
 import java.io.IOException;
+import java.io.PrintWriter;
 
 import junit.framework.Assert;
 
+import org.apache.commons.codec.binary.Base64;
+import org.apache.hadoop.conf.Configuration;
 import org.apache.pig.ExecType;
-import org.apache.pig.PigException;
 import org.apache.pig.PigServer;
 import org.apache.pig.backend.executionengine.ExecJob;
 import 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher;
 import 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper;
 import 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan;
 import 
org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan;
-import org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil;
 import org.apache.pig.impl.PigContext;
-import org.apache.pig.impl.util.LogUtils;
+import org.apache.pig.impl.plan.OperatorKey;
 import org.apache.pig.newplan.logical.relational.LogicalPlan;
-import org.apache.pig.tools.pigscript.parser.ParseException;
 import org.apache.pig.tools.pigstats.PigStats;
 import org.apache.pig.tools.pigstats.ScriptState;
-import org.junit.Before;
 import org.junit.Test;
 
 public class TestPigStats  {
 
 @Test
+public void testPigScriptInConf() throws Exception {
+PrintWriter w = new PrintWriter(new FileWriter(test.pig));
+w.println(register /mydir/sath.jar);
+w.println(register /mydir/lib/hadoop-tools-0.20.201.0-SNAPSHOT.jar);
+w.println(register /mydir/lib/jackson-core-asl-1.4.2.jar);
+w.println(register /mydir/lib/jackson-mapper-asl-1.4.2.jar);
+w.close();
+
+ScriptState ss = ScriptState.get();
+ss.setScript(new File(test.pig));
+Configuration conf = new Configuration();
+MapReduceOper mro = new MapReduceOper(new OperatorKey());
+ss.addSettingsToConf(mro, conf);
+
+String s = conf.get(pig.script);
+String script = new String(Base64.decodeBase64(s.getBytes()));
+
+String expected = 
+register /mydir/sath.jar\n +
+register /mydir/lib/hadoop-tools-0.20.201.0-SNAPSHOT.jar\n +
+register /mydir/lib

svn commit: r1075998 - in /pig/trunk: CHANGES.txt src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java test/org/apache/pig/test/TestMRCompiler.java

2011-03-01 Thread rding
Author: rding
Date: Tue Mar  1 19:51:32 2011
New Revision: 1075998

URL: http://svn.apache.org/viewvc?rev=1075998view=rev
Log:
PIG-1856: Custom jar is not packaged with the new job created by LimitAdjuster

Modified:
pig/trunk/CHANGES.txt

pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java
pig/trunk/test/org/apache/pig/test/TestMRCompiler.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1075998r1=1075997r2=1075998view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Tue Mar  1 19:51:32 2011
@@ -100,6 +100,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-1856: Custom jar is not packaged with the new job created by LimitAdjuster 
(rding)
+
 PIG-1872: Fix bug in AvroStorage (guolin2001, jghoman via daijy)
 
 PIG-1536: use same logic for merging inner schemas in default union and

Modified: 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java?rev=1075998r1=1075997r2=1075998view=diff
==
--- 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java
 (original)
+++ 
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java
 Tue Mar  1 19:51:32 2011
@@ -2819,7 +2819,7 @@ public class MRCompiler extends PhyPlanV
 public void visitMROp(MapReduceOper mr) throws VisitorException {
 // Look for map reduce operators which contains limit operator.
 // If so and the requestedParallelism  1, add one additional 
map-reduce
-// operator with 1 reducer into the original plan
+// operator with 1 reducer into the original plan
 if (mr.limit!=-1  mr.requestedParallelism!=1)
 {
 opsToAdjust.add(mr);
@@ -2895,6 +2895,13 @@ public class MRCompiler extends PhyPlanV
 for (MapReduceOper op:successorList)
 successors[i++] = op;
 }
+   
+// Process UDFs
+for (String udf : mr.UDFs) {
+if (!limitAdjustMROp.UDFs.contains(udf)) {
+limitAdjustMROp.UDFs.add(udf);
+}
+}
 
 MRPlan.add(limitAdjustMROp);
 MRPlan.connect(mr, limitAdjustMROp);

Modified: pig/trunk/test/org/apache/pig/test/TestMRCompiler.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestMRCompiler.java?rev=1075998r1=1075997r2=1075998view=diff
==
--- pig/trunk/test/org/apache/pig/test/TestMRCompiler.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestMRCompiler.java Tue Mar  1 19:51:32 
2011
@@ -17,6 +17,8 @@
  */
 package org.apache.pig.test;
 
+import static org.junit.Assert.assertTrue;
+
 import java.io.ByteArrayOutputStream;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -995,6 +997,30 @@ public class TestMRCompiler extends juni
 assertTrue(op.UDFs.contains(new 
FuncSpec(PigStorageNoDefCtor.class.getName())+('\t')));
 }
 
+@Test
+public void testLimitAdjusterFuncShipped() throws Exception{
+ 
+planTesterMR.buildPlan(a = load 'input';);
+planTesterMR.buildPlan(b = order a by $0 parallel 2;);
+planTesterMR.buildPlan(c = limit b 7;);
+LogicalPlan lp = planTesterMR.buildPlan(store c into '/tmp' using 
++ PigStorageNoDefCtor.class.getName() + ('\t'););
+ 
+PhysicalPlan pp = Util.buildPhysicalPlan(lp, pc);
+MROperPlan mrPlan = Util.buildMRPlan(pp, pc);
+MapReduceOper mrOper = mrPlan.getRoots().get(0);
+int count = 1;
+
+while(mrPlan.getSuccessors(mrOper) != null) {
+mrOper = mrPlan.getSuccessors(mrOper).get(0);
+++count;
+}
+assertTrue(count == 4);
+
+MapReduceOper op = mrPlan.getLeaves().get(0);
+assertTrue(op.UDFs.contains(new 
FuncSpec(PigStorageNoDefCtor.class.getName())+('\t')));
+}
+
 /**
  * Test that POSortedDistinct gets printed as POSortedDistinct
  * @throws Exception




svn commit: r1071119 - /pig/branches/branch-0.8/test/org/apache/pig/test/TestGrunt.java

2011-02-15 Thread rding
Author: rding
Date: Wed Feb 16 01:18:45 2011
New Revision: 1071119

URL: http://svn.apache.org/viewvc?rev=1071119view=rev
Log:
disable a unit test due to PIG-1854

Modified:
pig/branches/branch-0.8/test/org/apache/pig/test/TestGrunt.java

Modified: pig/branches/branch-0.8/test/org/apache/pig/test/TestGrunt.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.8/test/org/apache/pig/test/TestGrunt.java?rev=1071119r1=1071118r2=1071119view=diff
==
--- pig/branches/branch-0.8/test/org/apache/pig/test/TestGrunt.java (original)
+++ pig/branches/branch-0.8/test/org/apache/pig/test/TestGrunt.java Wed Feb 16 
01:18:45 2011
@@ -812,7 +812,7 @@ public class TestGrunt extends TestCase 
 assertTrue(caught);
 }
 
-@Test
+//@Test
 public void testFsCommand(){
 
 try {




svn commit: r1070662 - in /pig/trunk: CHANGES.txt lib-src/bzip2/org/apache/tools/bzip2r/CBZip2InputStream.java test/org/apache/pig/test/TestBZip.java

2011-02-14 Thread rding
Author: rding
Date: Mon Feb 14 20:51:41 2011
New Revision: 1070662

URL: http://svn.apache.org/viewvc?rev=1070662view=rev
Log:
PIG-1304: Fail underlying M/R jobs when concatenated gzip and bz2 files are 
provided as input

Modified:
pig/trunk/CHANGES.txt
pig/trunk/lib-src/bzip2/org/apache/tools/bzip2r/CBZip2InputStream.java
pig/trunk/test/org/apache/pig/test/TestBZip.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1070662r1=1070661r2=1070662view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Mon Feb 14 20:51:41 2011
@@ -96,6 +96,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-1304: Fail underlying M/R jobs when concatenated gzip and bz2 files are 
provided as input (laukik via rding)
+
 PIG-1852: Packaging antlr jar with pig.jar (rding via daijy)
 
 PIG-1717 pig needs to call setPartitionFilter if schema is null but

Modified: pig/trunk/lib-src/bzip2/org/apache/tools/bzip2r/CBZip2InputStream.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/lib-src/bzip2/org/apache/tools/bzip2r/CBZip2InputStream.java?rev=1070662r1=1070661r2=1070662view=diff
==
--- pig/trunk/lib-src/bzip2/org/apache/tools/bzip2r/CBZip2InputStream.java 
(original)
+++ pig/trunk/lib-src/bzip2/org/apache/tools/bzip2r/CBZip2InputStream.java Mon 
Feb 14 20:51:41 2011
@@ -220,10 +220,6 @@ public class CBZip2InputStream extends I
 initBlock(blockSize != -1);
 setupBlock();
 }
-
-public CBZip2InputStream(FSDataInputStream zStream) throws IOException {
-   this(zStream, -1, Long.MAX_VALUE);
-}
 
 @Override
 public int read() throws IOException {
@@ -408,7 +404,10 @@ public class CBZip2InputStream extends I
 storedCombinedCRC != computedCombinedCRC) {
 crcError();
 }
-
+if (innerBsStream.getPos()  endOffsetOfSplit) {
+   throw new IOException(Encountered additional bytes in the 
filesplit past the crc block. 
+   + Loading of concatenated bz2 files is not 
supported);
+}
 bsFinishedWithStream();
 streamEnd = true;
 }

Modified: pig/trunk/test/org/apache/pig/test/TestBZip.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestBZip.java?rev=1070662r1=1070661r2=1070662view=diff
==
--- pig/trunk/test/org/apache/pig/test/TestBZip.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestBZip.java Mon Feb 14 20:51:41 2011
@@ -21,8 +21,12 @@ import static org.junit.Assert.*;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotSame;
 
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.FileWriter;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -91,7 +95,7 @@ public class TestBZip {
 pig.getPigContext().getProperties()));
 FSDataInputStream is = fs.open(new Path(out.getAbsolutePath() + 
 /part-r-0.bz2));
-CBZip2InputStream cis = new CBZip2InputStream(is);
+CBZip2InputStream cis = new CBZip2InputStream(is, -1, out.length());
 
 // Just a sanity check, to make sure it was a bzip file; we
 // will do the value verification later
@@ -150,7 +154,7 @@ public class TestBZip {
 pig.getPigContext().getProperties()));
 FSDataInputStream is = fs.open(new Path(out.getAbsolutePath() + 
 /part-r-0.bz2));
-CBZip2InputStream cis = new CBZip2InputStream(is);
+CBZip2InputStream cis = new CBZip2InputStream(is, -1, out.length());
 
 // Just a sanity check, to make sure it was a bzip file; we
 // will do the value verification later
@@ -266,7 +270,7 @@ public class TestBZip {
 pig.getPigContext().getProperties()));
 FSDataInputStream is = fs.open(new Path(out.getAbsolutePath() + 
 /part-r-0.bz2));
-CBZip2InputStream cis = new CBZip2InputStream(is);
+CBZip2InputStream cis = new CBZip2InputStream(is, -1, out.length());
 
 // Just a sanity check, to make sure it was a bzip file; we
 // will do the value verification later
@@ -294,7 +298,7 @@ public class TestBZip {
 assertNotSame(0, tmp.length());
 FileSystem fs = FileSystem.getLocal(new Configuration(false));
 CBZip2InputStream cis = new CBZip2InputStream(
-fs.open(new Path(tmp.getAbsolutePath(;
+fs.open(new Path(tmp.getAbsolutePath())), -1, tmp.length());
 assertEquals(-1, cis.read(new byte[100]));
 cis.close

svn commit: r1070705 - in /pig/trunk: CHANGES.txt build.xml ivy.xml ivy/libraries.properties ivy/pig.pom lib/antlr-3.2.jar

2011-02-14 Thread rding
Author: rding
Date: Tue Feb 15 00:26:05 2011
New Revision: 1070705

URL: http://svn.apache.org/viewvc?rev=1070705view=rev
Log:
PIG-1853: Using ANTLR jars from maven repository

Removed:
pig/trunk/lib/antlr-3.2.jar
Modified:
pig/trunk/CHANGES.txt
pig/trunk/build.xml
pig/trunk/ivy.xml
pig/trunk/ivy/libraries.properties
pig/trunk/ivy/pig.pom

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1070705r1=1070704r2=1070705view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Tue Feb 15 00:26:05 2011
@@ -24,6 +24,8 @@ INCOMPATIBLE CHANGES
 
 IMPROVEMENTS
 
+PIG-1853: Using ANTLR jars from maven repository (rding)
+
 PIG-1728: more doc updates (chandec via olgan)
 
 PIG-1793: Add macro expansion to Pig Latin (rding)

Modified: pig/trunk/build.xml
URL: 
http://svn.apache.org/viewvc/pig/trunk/build.xml?rev=1070705r1=1070704r2=1070705view=diff
==
--- pig/trunk/build.xml (original)
+++ pig/trunk/build.xml Tue Feb 15 00:26:05 2011
@@ -115,10 +115,6 @@
 property name=grammar.package.dir value=org/apache/pig/parser/
 property name=grammar.src.dir 
value=${src.dir}/${grammar.package.dir}/
 
-!-- Antlr properties --
-property name=antlr.version value=3.2/
-property name=antlr.jar value=antlr-${antlr.version}.jar/
-
 !-- rats properties --
 property name=rat.reporting.classname value=rat.Report/
 
@@ -204,7 +200,6 @@
 fileset file=${lib.dir}/${hbase.jarfile} /
 fileset file=${lib.dir}/${hbase.test.jarfile} /
fileset file=${lib.dir}/${zookeeper.jarfile}/
-   fileset file=${lib.dir}/${antlr.jar}/
 /path
 
 !-- javadoc-classpath --
@@ -213,7 +208,6 @@
fileset file=${lib.dir}/${guava.jarfile} /
fileset file=${lib.dir}/${automaton.jarfile} /
 fileset file=${lib.dir}/${hbase.test.jarfile} /
-   fileset file=${lib.dir}/${antlr.jar}/
path refid=javadoc.classpath/   
 /path 
 
@@ -553,7 +547,8 @@
 /manifest
 zipfileset 
src=${ivy.lib.dir}/hadoop-core-${hadoop-core.version}.jar /
 zipfileset src=${lib.dir}/${automaton.jarfile} /
-zipfileset src=${lib.dir}/${antlr.jar} /
+zipfileset 
src=${ivy.lib.dir}/antlr-runtime-${antlr.version}.jar /
+zipfileset 
src=${ivy.lib.dir}/stringtemplate-${antlr.version}.jar /
 zipfileset src=${ivy.lib.dir}/junit-${junit.version}.jar /
 zipfileset src=${ivy.lib.dir}/jsch-${jsch.version}.jar /
 zipfileset src=${ivy.lib.dir}/jline-${jline.version}.jar /
@@ -640,7 +635,8 @@
 zipfileset 
src=${ivy.lib.dir}/jackson-core-asl-${jackson.version}.jar /
 zipfileset 
src=${ivy.lib.dir}/joda-time-${joda-time.version}.jar /
 zipfileset src=${lib.dir}/${automaton.jarfile} /
-zipfileset src=${lib.dir}/${antlr.jar} /
+zipfileset 
src=${ivy.lib.dir}/antlr-runtime-${antlr.version}.jar /
+zipfileset 
src=${ivy.lib.dir}/stringtemplate-${antlr.version}.jar /
 fileset file=${basedir}/conf/pig-default.properties /
 /jar
 copy file=${output.jarfile.withouthadoop} 
tofile=${output.jarfile.backcompat.withouthadoop}/
@@ -1046,8 +1042,6 @@
 /target
 --
 path id=checkstyle-classpath
-   path refid=checkstyle.classpath/
-   fileset file=${lib.dir}/${antlr.jar}/
 /path
 
 target name=findbugs.check depends=check-for-findbugs 
unless=findbugs.present

Modified: pig/trunk/ivy.xml
URL: 
http://svn.apache.org/viewvc/pig/trunk/ivy.xml?rev=1070705r1=1070704r2=1070705view=diff
==
--- pig/trunk/ivy.xml (original)
+++ pig/trunk/ivy.xml Tue Feb 15 00:26:05 2011
@@ -93,6 +93,8 @@
  conf=compile-master/
 dependency org=com.google.guava name=guava rev=${guava.version} 
conf=compile-master /
dependency org=org.python name=jython rev=${jython.version} 
conf=compile-master/
+   dependency org=org.antlr name=antlr rev=${antlr.version} 
conf=compile-master/
+   dependency org=org.antlr name=antlr-runtime rev=${antlr.version} 
conf=compile-default/
 
 !--ATM hbase, hbase-test.jar, hadoop.jar are resolved from the lib dir-- 

 dependency org=hsqldb name=hsqldb rev=${hsqldb.version}

Modified: pig/trunk/ivy/libraries.properties
URL: 
http://svn.apache.org/viewvc/pig/trunk/ivy/libraries.properties?rev=1070705r1=1070704r2=1070705view=diff
==
--- pig/trunk/ivy/libraries.properties (original)
+++ pig/trunk/ivy/libraries.properties Tue Feb 15 00:26:05 2011
@@ -41,6 +41,7 @@ jsch.version=0.1.38
 json-simple.version=1.1
 junit.version=4.5
 jython.version=2.5.0
+antlr.version=3.2

svn commit: r1070714 - in /pig/trunk: build.xml src/org/apache/pig/parser/AliasMasker.g src/org/apache/pig/parser/MacroExpansion.g src/org/apache/pig/parser/PigMacro.java test/org/apache/pig/test/Test

2011-02-14 Thread rding
Author: rding
Date: Tue Feb 15 01:09:01 2011
New Revision: 1070714

URL: http://svn.apache.org/viewvc?rev=1070714view=rev
Log:
PIG-1793: Add macro expansion to Pig Latin

Modified:
pig/trunk/build.xml
pig/trunk/src/org/apache/pig/parser/AliasMasker.g
pig/trunk/src/org/apache/pig/parser/MacroExpansion.g
pig/trunk/src/org/apache/pig/parser/PigMacro.java
pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java

Modified: pig/trunk/build.xml
URL: 
http://svn.apache.org/viewvc/pig/trunk/build.xml?rev=1070714r1=1070713r2=1070714view=diff
==
--- pig/trunk/build.xml (original)
+++ pig/trunk/build.xml Tue Feb 15 01:09:01 2011
@@ -320,7 +320,7 @@
description=generates token parser class from an ANTLR grammar
java classname=org.antlr.Tool
  classpathref=classpath fork=true
- arg line=-o ${src.gen.dir}/${grammar.package.dir} 
${src.dir}/${grammar.package.dir}/MacroExpansion.g 
${src.dir}/${grammar.package.dir}/MacroImport.g 
${src.dir}/${grammar.package.dir}/${grammar.name}Parser.g/
+ arg line=-o ${src.gen.dir}/${grammar.package.dir} 
${src.dir}/${grammar.package.dir}/MacroExpansion.g 
${src.dir}/${grammar.package.dir}/MacroRecursion.g 
${src.dir}/${grammar.package.dir}/MacroImport.g 
${src.dir}/${grammar.package.dir}/${grammar.name}Parser.g/
/java
  /target


Modified: pig/trunk/src/org/apache/pig/parser/AliasMasker.g
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/parser/AliasMasker.g?rev=1070714r1=1070713r2=1070714view=diff
==
--- pig/trunk/src/org/apache/pig/parser/AliasMasker.g (original)
+++ pig/trunk/src/org/apache/pig/parser/AliasMasker.g Tue Feb 15 01:09:01 2011
@@ -75,6 +75,8 @@ private String getMask(String alias) {
 
 private SetString params = new HashSetString();
 
+private SetString aliasSeen = new HashSetString();
+
 private String macroName = ;
 
 private long index = 0;
@@ -109,7 +111,8 @@ foreach_statement 
 : ^( STATEMENT ( alias { sb.append( = ); } )? foreach_clause { 
sb.append(\n); } )
 ;
 
-alias : IDENTIFIER { sb.append(getMask($IDENTIFIER.text)); }
+alias 
+: IDENTIFIER { sb.append(getMask($IDENTIFIER.text)); 
aliasSeen.add($IDENTIFIER.text); }
 ;
 
 op_clause : define_clause 
@@ -530,7 +533,13 @@ col_ref : alias_col_ref | dollar_col_ref
 
 alias_col_ref 
 : GROUP { sb.append($GROUP.text); } 
-| IDENTIFIER { sb.append($IDENTIFIER.text); } 
+| name = IDENTIFIER {  
+if (aliasSeen.contains($name.text)) {
+sb.append(getMask($name.text));
+} else {
+sb.append($name.text);
+} 
+} 
 ;
 
 dollar_col_ref 
@@ -689,3 +698,4 @@ rel_str_op 
 | STR_OP_LTE { sb.append($STR_OP_LTE.text); }
 | STR_OP_MATCHES { sb.append($STR_OP_MATCHES.text); }
 ;
+

Modified: pig/trunk/src/org/apache/pig/parser/MacroExpansion.g
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/parser/MacroExpansion.g?rev=1070714r1=1070713r2=1070714view=diff
==
--- pig/trunk/src/org/apache/pig/parser/MacroExpansion.g (original)
+++ pig/trunk/src/org/apache/pig/parser/MacroExpansion.g Tue Feb 15 01:09:01 
2011
@@ -27,12 +27,11 @@ package org.apache.pig.parser;
 
 import java.util.HashMap;
 import java.util.List;
-import java.io.IOException;
 import org.apache.pig.parser.PigMacro;
 }
 
 @members {
-private HashMapString, PigMacro memory = new HashMapString, PigMacro();
+private MapString, PigMacro memory = new HashMapString, PigMacro();
 private StringBuilder sb = new StringBuilder();
 
 public String getResultString() { return sb.toString(); } 
@@ -42,7 +41,7 @@ MACRO 
 : 'define' WS name=ALIAS WS? '(' ( params+=ALIAS (',' WS* params+=ALIAS)* 
)? ')' WS 'returns' WS rets+=ALIAS (',' WS* rets+=ALIAS)* WS  '{' content=BLOCK 
'};' 
 {
 PigMacro macro = new PigMacro($name.text);
-macro.setBody($content.text);
+macro.setBody($content.text, memory);
 if ($params != null) {
 for (Object param : $params) {
 macro.addParam(((Token)param).getText());

Modified: pig/trunk/src/org/apache/pig/parser/PigMacro.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/parser/PigMacro.java?rev=1070714r1=1070713r2=1070714view=diff
==
--- pig/trunk/src/org/apache/pig/parser/PigMacro.java (original)
+++ pig/trunk/src/org/apache/pig/parser/PigMacro.java Tue Feb 15 01:09:01 2011
@@ -18,22 +18,24 @@
 package org.apache.pig.parser;
 
 import java.io.BufferedReader;
+import java.io.IOException;
 import java.io.StringReader;
 import java.io.StringWriter;
 import java.util.ArrayList;
-import java.util.Arrays

svn commit: r1070723 - in /pig/trunk: CHANGES.txt src/org/apache/pig/impl/util/LogUtils.java src/org/apache/pig/tools/grunt/GruntParser.java test/org/apache/pig/test/TestPigRunner.java

2011-02-14 Thread rding
Author: rding
Date: Tue Feb 15 01:27:47 2011
New Revision: 1070723

URL: http://svn.apache.org/viewvc?rev=1070723view=rev
Log:
PIG-1854: Pig returns exit code 0 for the failed Pig script

Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/impl/util/LogUtils.java
pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java
pig/trunk/test/org/apache/pig/test/TestPigRunner.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1070723r1=1070722r2=1070723view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Tue Feb 15 01:27:47 2011
@@ -299,6 +299,8 @@ PIG-1309: Map-side Cogroup (ashutoshc)
 
 BUG FIXES
 
+PIG-1854: Pig returns exit code 0 for the failed Pig script (rding)
+
 PIG-1812: Problem with DID_NOT_FIND_LOAD_ONLY_MAP_PLAN (daijy)
 
 PIG-1813: Pig 0.8 throws ERROR 1075 while trying to refer a map in the result

Modified: pig/trunk/src/org/apache/pig/impl/util/LogUtils.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/impl/util/LogUtils.java?rev=1070723r1=1070722r2=1070723view=diff
==
--- pig/trunk/src/org/apache/pig/impl/util/LogUtils.java (original)
+++ pig/trunk/src/org/apache/pig/impl/util/LogUtils.java Tue Feb 15 01:27:47 
2011
@@ -99,6 +99,8 @@ public class LogUtils {
 || t instanceof 
org.apache.pig.tools.pigscript.parser.TokenMgrError 
 || t instanceof 
org.apache.pig.impl.logicalLayer.parser.TokenMgrError)) {
 message = ERROR 1000: Error during parsing.  + 
t.getMessage();
+} else if (t instanceof IOException) {
+message = ERROR 2997: Encountered IOException.  + 
t.getMessage();
 } else if (t instanceof RuntimeException) {
 message = ERROR 2999: Unexpected internal error.  + 
t.getMessage();
 } else {

Modified: pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java?rev=1070723r1=1070722r2=1070723view=diff
==
--- pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java (original)
+++ pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java Tue Feb 15 
01:27:47 2011
@@ -31,6 +31,8 @@ import java.io.PrintStream;
 import java.io.Reader;
 import java.io.StringReader;
 import java.io.StringWriter;
+import java.util.AbstractList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
@@ -47,6 +49,7 @@ import org.apache.hadoop.mapred.JobClien
 import org.apache.hadoop.mapred.JobConf;
 import org.apache.hadoop.mapred.JobID;
 import org.apache.hadoop.mapred.RunningJob;
+import org.apache.pig.LoadFunc;
 import org.apache.pig.PigServer;
 import org.apache.pig.backend.datastorage.ContainerDescriptor;
 import org.apache.pig.backend.datastorage.DataStorage;
@@ -935,11 +938,20 @@ public class GruntParser extends PigScri
 
 executeBatch();
 
+int retCode = -1;
+
 try {
-shell.run(cmdTokens);
+retCode = shell.run(cmdTokens);
 } catch (Exception e) {
 throw new IOException(e);
 }
+
+if (retCode != 0  !mInteractive) {
+String s = LoadFunc.join(
+(AbstractListString) Arrays.asList(cmdTokens),  );
+throw new IOException(fs command ' + s
++ ' failed. Please check output logs for details);
+}
 } else {
 log.warn('fs' statement is ignored while processing 'explain 
-script' or '-check');
 }

Modified: pig/trunk/test/org/apache/pig/test/TestPigRunner.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestPigRunner.java?rev=1070723r1=1070722r2=1070723view=diff
==
--- pig/trunk/test/org/apache/pig/test/TestPigRunner.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestPigRunner.java Tue Feb 15 01:27:47 
2011
@@ -509,6 +509,23 @@ public class TestPigRunner {
 }
 }
 
+@Test
+public void fsCommandTest() throws Exception {
+PrintWriter w = new PrintWriter(new FileWriter(PIG_FILE));
+w.println(fs -mv nonexist.file dummy.file);
+w.close();
+
+try {
+String[] args = { PIG_FILE };
+PigStats stats = PigRunner.run(args, new 
TestNotificationListener());
+ 
+assertTrue(!stats.isSuccessful());
+assertTrue(stats.getReturnCode() == 
PigRunner.ReturnCode.IO_EXCEPTION);
+} finally {
+new File(PIG_FILE).delete

svn commit: r1069507 [1/2] - in /pig/trunk: ./ src/org/apache/pig/ src/org/apache/pig/parser/ src/org/apache/pig/scripting/ test/org/apache/pig/test/

2011-02-10 Thread rding
Author: rding
Date: Thu Feb 10 18:10:10 2011
New Revision: 1069507

URL: http://svn.apache.org/viewvc?rev=1069507view=rev
Log:
PIG-1793: Add macro expansion to Pig Latin

Added:
pig/trunk/src/org/apache/pig/parser/AliasMasker.g
pig/trunk/src/org/apache/pig/parser/MacroExpansion.g
pig/trunk/src/org/apache/pig/parser/MacroImport.g
pig/trunk/src/org/apache/pig/parser/ParserUtil.java
pig/trunk/src/org/apache/pig/parser/PigMacro.java
pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java
Modified:
pig/trunk/CHANGES.txt
pig/trunk/build.xml
pig/trunk/src/org/apache/pig/Main.java
pig/trunk/src/org/apache/pig/parser/QueryParser.g
pig/trunk/src/org/apache/pig/scripting/Pig.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1069507r1=1069506r2=1069507view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Thu Feb 10 18:10:10 2011
@@ -24,6 +24,8 @@ INCOMPATIBLE CHANGES
 
 IMPROVEMENTS
 
+PIG-1793: Add macro expansion to Pig Latin (rding)
+
 PIG-847: Setting twoLevelAccessRequired field in a bag schema should not be 
required to access fields in the tuples of the bag (daijy)
 
 PIG-1748: Add load/store function AvroStorage for avro data (guolin2001, 
jghoman via daijy)

Modified: pig/trunk/build.xml
URL: 
http://svn.apache.org/viewvc/pig/trunk/build.xml?rev=1069507r1=1069506r2=1069507view=diff
==
--- pig/trunk/build.xml (original)
+++ pig/trunk/build.xml Thu Feb 10 18:10:10 2011
@@ -326,7 +326,7 @@
description=generates token parser class from an ANTLR grammar
java classname=org.antlr.Tool
  classpathref=classpath fork=true
- arg line=-o ${src.gen.dir}/${grammar.package.dir} 
${src.dir}/${grammar.package.dir}/${grammar.name}Parser.g/
+ arg line=-o ${src.gen.dir}/${grammar.package.dir} 
${src.dir}/${grammar.package.dir}/MacroExpansion.g 
${src.dir}/${grammar.package.dir}/MacroImport.g 
${src.dir}/${grammar.package.dir}/${grammar.name}Parser.g/
/java
  /target

@@ -335,7 +335,7 @@
description=generates tree parser class from an ANTLR grammar
java classname=org.antlr.Tool
  classpathref=classpath fork=true
- arg line=-o ${src.gen.dir}/${grammar.package.dir} 
${src.dir}/${grammar.package.dir}/AstValidator.g 
${src.dir}/${grammar.package.dir}/LogicalPlanGenerator.g/
+ arg line=-o ${src.gen.dir}/${grammar.package.dir} 
${src.dir}/${grammar.package.dir}/AliasMasker.g 
${src.dir}/${grammar.package.dir}/AstValidator.g 
${src.dir}/${grammar.package.dir}/LogicalPlanGenerator.g/
/java
  /target
 

Modified: pig/trunk/src/org/apache/pig/Main.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/Main.java?rev=1069507r1=1069506r2=1069507view=diff
==
--- pig/trunk/src/org/apache/pig/Main.java (original)
+++ pig/trunk/src/org/apache/pig/Main.java Thu Feb 10 18:10:10 2011
@@ -67,6 +67,7 @@ import org.apache.pig.impl.util.LogUtils
 import org.apache.pig.impl.util.ObjectSerializer;
 import org.apache.pig.impl.util.PropertiesUtil;
 import org.apache.pig.impl.util.UDFContext;
+import org.apache.pig.parser.ParserUtil;
 import org.apache.pig.scripting.ScriptEngine;
 import org.apache.pig.tools.cmdline.CmdLineParser;
 import org.apache.pig.tools.grunt.Grunt;
@@ -380,9 +381,11 @@ static int run(String args[], PigProgres
 .getPath(), type.name().toLowerCase());
 }
 }
-
-in = new BufferedReader(new FileReader(localFileRet.file));
-
+ 
+// run macro expansion
+FileReader fr = new FileReader(localFileRet.file);
+in = ParserUtil.getExpandedMacroAsBufferedReader(fr);
+
 // run parameter substitution preprocessor first
 substFile = file + .substituted;
 pin = runParamPreprocessor(properties, in, params, paramFiles, 
substFile, debug || dryrun || checkScriptOnly);
@@ -438,7 +441,10 @@ static int run(String args[], PigProgres
 
 scriptState.setScript(sb.toString());
 
-in = new BufferedReader(new StringReader(sb.toString()));
+// run macro expansion
+StringReader sr = new StringReader(sb.toString());   
+in = ParserUtil.getExpandedMacroAsBufferedReader(sr);
+
 grunt = new Grunt(in, pigContext);
 gruntCalled = true;
 int results[] = grunt.exec();
@@ -495,8 +501,10 @@ static int run(String args[], PigProgres
 .getPath(), type.name().toLowerCase

svn commit: r1069507 [2/2] - in /pig/trunk: ./ src/org/apache/pig/ src/org/apache/pig/parser/ src/org/apache/pig/scripting/ test/org/apache/pig/test/

2011-02-10 Thread rding
Added: pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java?rev=1069507view=auto
==
--- pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java (added)
+++ pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java Thu Feb 10 
18:10:10 2011
@@ -0,0 +1,1075 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.pig.test;
+
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.StringReader;
+import java.util.Properties;
+
+import junit.framework.Assert;
+
+import org.apache.pig.ExecType;
+import org.apache.pig.PigRunner;
+import org.apache.pig.impl.PigContext;
+import org.apache.pig.parser.ParserUtil;
+import org.apache.pig.tools.grunt.Grunt;
+import org.apache.pig.tools.pigstats.PigStats;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class TestMacroExpansion {
+
+private static final MiniCluster cluster = MiniCluster.buildCluster();
+
+@BeforeClass
+public static void setUpBeforeClass() throws Exception {
+}
+
+@AfterClass
+public static void tearDownAfterClass() throws Exception {
+cluster.shutDown();
+}
+
+@Before
+public void setUp() throws Exception {
+}
+
+@After
+public void tearDown() throws Exception {
+}
+
+@Test 
+public void firstTest() throws Throwable {
+String macro = define group_and_count (A,group_key) returns B {\n +
+D = group $A by $group_key partition by 
org.apache.pig.test.utils.SimpleCustomPartitioner parallel 50;\n +
+$B = foreach D generate group, COUNT($A);\n +
+};\n;
+
+String script = 
+alpha = load 'users' as (user, age, zip);\n +
+gamma = group_and_count (alpha, user);\n +
+delta = group_and_count (alpha, age);\n +
+store gamma into 'byuser';\n +
+store delta into 'byage';\n;
+
+StringReader rd = new StringReader(macro + script);
+String s = ParserUtil.expandMacros(rd);
+
+validate(s);
+
+String expected =
+\nalpha = load 'users' as (user, age, zip);\n +
+macro_group_and_count_D_0 = group alpha by (user) partition BY 
org.apache.pig.test.utils.SimpleCustomPartitioner parallel 50;\n +
+gamma = foreach macro_group_and_count_D_0 generate group, 
COUNT(alpha);\n\n +
+macro_group_and_count_D_1 = group alpha by (age) partition BY 
org.apache.pig.test.utils.SimpleCustomPartitioner parallel 50;\n +
+delta = foreach macro_group_and_count_D_1 generate group, 
COUNT(alpha);\n\n +
+store gamma into 'byuser';\n +
+store delta into 'byage';\n;
+
+Assert.assertEquals(expected, s);
+}
+
+@Test
+public void distinctTest() throws Throwable {
+String macro = define group_and_count (A,group_key, reducers) returns 
B {\n +
+$B = distinct $A partition by 
org.apache.pig.test.utils.SimpleCustomPartitioner parallel $reducers;\n +
+};\n;
+
+String script = 
+alpha = load 'users' as (user, age, zip);\n +
+gamma = group_and_count (alpha, user, 23);\n +
+delta = group_and_count (alpha, age, 32);\n +
+store gamma into 'byuser';\n +
+store delta into 'byage';\n;
+
+StringReader rd = new StringReader(macro + script);
+String s = ParserUtil.expandMacros(rd);
+
+validate(s);
+
+String expected = 
+\nalpha = load 'users' as (user, age, zip);\n +
+gamma = distinct alpha partition BY 
org.apache.pig.test.utils.SimpleCustomPartitioner parallel 23;\n\n +
+delta = distinct alpha partition BY 
org.apache.pig.test.utils.SimpleCustomPartitioner parallel 32;\n\n +
+store gamma into 'byuser';\n +
+

svn commit: r1062074 - in /pig/branches/branch-0.8: CHANGES.txt build.xml

2011-01-21 Thread rding
Author: rding
Date: Sat Jan 22 00:12:06 2011
New Revision: 1062074

URL: http://svn.apache.org/viewvc?rev=1062074view=rev
Log:
PIG-1800: Missing Signature for maven staging release

Modified:
pig/branches/branch-0.8/CHANGES.txt
pig/branches/branch-0.8/build.xml

Modified: pig/branches/branch-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.8/CHANGES.txt?rev=1062074r1=1062073r2=1062074view=diff
==
--- pig/branches/branch-0.8/CHANGES.txt (original)
+++ pig/branches/branch-0.8/CHANGES.txt Sat Jan 22 00:12:06 2011
@@ -213,6 +213,8 @@ PIG-1309: Map-side Cogroup (ashutoshc)
 
 BUG FIXES
 
+PIG-1800: Missing Signature for maven staging release (rding)
+
 PIG-1815: pig task retains used instances of PhysicalPlan (thejas)
 
 PIG-1785: New logical plan: uid conflict in flattened fields (daijy)

Modified: pig/branches/branch-0.8/build.xml
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.8/build.xml?rev=1062074r1=1062073r2=1062074view=diff
==
--- pig/branches/branch-0.8/build.xml (original)
+++ pig/branches/branch-0.8/build.xml Sat Jan 22 00:12:06 2011
@@ -836,10 +836,10 @@
 pom refid=pig/
   attach file=${pig-core.jar}.asc type=jar.asc/
   attach file=${pig.pom}.asc type=pom.asc/
-   attach file=${output.jarfile.sources}.asc type=jar.asc /
-  attach file=${output.jarfile.sources} classifier=sources /
-  attach file=${output.jarfile.javadoc}.asc type=jar.asc /
-  attach file=${output.jarfile.javadoc} classifier=javadoc /
+   attach file=${output.jarfile.sources}.asc type=jar.asc 
classifier=sources/
+   attach file=${output.jarfile.sources} classifier=sources /
+   attach file=${output.jarfile.javadoc}.asc type=jar.asc  
classifier=javadoc/
+   attach file=${output.jarfile.javadoc} classifier=javadoc /
 /artifact:deploy
 /target
 




svn commit: r1060894 - in /pig/trunk: CHANGES.txt src/org/apache/pig/scripting/Pig.java src/org/apache/pig/scripting/ScriptEngine.java src/org/apache/pig/scripting/jython/JythonScriptEngine.java test/

2011-01-19 Thread rding
Author: rding
Date: Wed Jan 19 18:28:40 2011
New Revision: 1060894

URL: http://svn.apache.org/viewvc?rev=1060894view=rev
Log:
PIG-1806: Modify embedded Pig API for usability

Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/scripting/Pig.java
pig/trunk/src/org/apache/pig/scripting/ScriptEngine.java
pig/trunk/src/org/apache/pig/scripting/jython/JythonScriptEngine.java
pig/trunk/test/org/apache/pig/test/TestScriptLanguage.java

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1060894r1=1060893r2=1060894view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Wed Jan 19 18:28:40 2011
@@ -24,6 +24,8 @@ INCOMPATIBLE CHANGES
 
 IMPROVEMENTS
 
+PIG-1806: Modify embedded Pig API for usability (rding)
+
 PIG-1799: Provide deployable maven artifacts for pigunit and pig smoke tests
 (cos via gates)
 

Modified: pig/trunk/src/org/apache/pig/scripting/Pig.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/scripting/Pig.java?rev=1060894r1=1060893r2=1060894view=diff
==
--- pig/trunk/src/org/apache/pig/scripting/Pig.java (original)
+++ pig/trunk/src/org/apache/pig/scripting/Pig.java Wed Jan 19 18:28:40 2011
@@ -53,19 +53,21 @@ public class Pig {
  * string.
  * @throws IOException
  */
-public static void fs(String cmd) throws IOException {
+public static int fs(String cmd) throws IOException {
 ScriptPigContext ctx = getScriptContext();
 FsShell shell = new FsShell(ConfigurationUtil.toConfiguration(ctx
 .getPigContext().getProperties()));
+int code = -1;
 if (cmd != null) {
 String[] cmdTokens = cmd.split(\\s+); 
 if (!cmdTokens[0].startsWith(-)) cmdTokens[0] = - + 
cmdTokens[0];
 try {
-shell.run(cmdTokens);
+code = shell.run(cmdTokens);
 } catch (Exception e) {
 throw new IOException(Run filesystem command failed, e);
 }
 }
+return code;
 }
 
 /**
@@ -201,7 +203,7 @@ public class Pig {
  * @throws IOException if there is not a key for each
  * Pig Latin parameter or if they contain unsupported types.
  */
-public BoundScript bind(MapString, String vars) throws IOException {
+public BoundScript bind(MapString, Object vars) throws IOException {
 return new BoundScript(replaceParameters(script, vars), scriptContext, 
name);
 }
 
@@ -217,9 +219,9 @@ public class Pig {
  * @throws IOException  if there is not a key for each
  * Pig Latin parameter or if they contain unsupported types.
  */
-public BoundScript bind(ListMapString, String vars) throws IOException 
{
+public BoundScript bind(ListMapString, Object vars) throws IOException 
{
 ListString lst = new ArrayListString();
-for (MapString, String var : vars) {
+for (MapString, Object var : vars) {
 lst.add(replaceParameters(script, var));
 }
 return new BoundScript(lst, scriptContext, name);
@@ -242,7 +244,7 @@ public class Pig {
  */
 public BoundScript bind() throws IOException {
 ScriptEngine engine = scriptContext.getScriptEngine();
-MapString, String vars = engine.getParamsFromVariables();
+MapString, Object vars = engine.getParamsFromVariables();
 return bind(vars);
 }
 
@@ -266,11 +268,11 @@ public class Pig {
  * @param vars parameters and their values
  * @return the modified version
  */
-private String replaceParameters(String qstr, MapString, String vars)
+private String replaceParameters(String qstr, MapString, Object vars)
 throws IOException {
 ArrayListString plist = new ArrayListString();
-for (EntryString, String entry : vars.entrySet()) {
-plist.add(entry.getKey() + = + entry.getValue());
+for (EntryString, Object entry : vars.entrySet()) {
+plist.add(entry.getKey() + = + entry.getValue().toString());
 }
 
 ParameterSubstitutionPreprocessor psp = 

Modified: pig/trunk/src/org/apache/pig/scripting/ScriptEngine.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/scripting/ScriptEngine.java?rev=1060894r1=1060893r2=1060894view=diff
==
--- pig/trunk/src/org/apache/pig/scripting/ScriptEngine.java (original)
+++ pig/trunk/src/org/apache/pig/scripting/ScriptEngine.java Wed Jan 19 
18:28:40 2011
@@ -89,7 +89,7 @@ public abstract class ScriptEngine {
  * Returns a map from local variable names to their values
  * @throws IOException
  */
-protected abstract MapString, String getParamsFromVariables()
+protected abstract

svn commit: r1051285 - in /pig/trunk: build.xml ivy.xml

2010-12-20 Thread rding
Author: rding
Date: Mon Dec 20 20:53:20 2010
New Revision: 1051285

URL: http://svn.apache.org/viewvc?rev=1051285view=rev
Log:
fix checkstyle build target

Modified:
pig/trunk/build.xml
pig/trunk/ivy.xml

Modified: pig/trunk/build.xml
URL: 
http://svn.apache.org/viewvc/pig/trunk/build.xml?rev=1051285r1=1051284r2=1051285view=diff
==
--- pig/trunk/build.xml (original)
+++ pig/trunk/build.xml Mon Dec 20 20:53:20 2010
@@ -977,8 +977,8 @@
 !--target name=checkstyle depends=checkstyle.check, 
set-checkstyle-classpath if=checkstyle.home  --
 target name=checkstyle depends=ivy-checkstyle description=Run 
optional third-party tool targets
taskdef resource=checkstyletask.properties
-   classpath refid=checkstyle.classpath/
-   !--classpath refid=checkstyle-classpath/ --
+   !--classpath refid=checkstyle.classpath/ --
+   classpath refid=checkstyle-classpath/ 
 /taskdef
 mkdir dir=${test.build.dir}/
 checkstyle config=${test.src.dir}/checkstyle.xml 
failOnViolation=false
@@ -994,13 +994,19 @@
to Ant on the command-line. /
 /target
 
+!--
 target name=set-checkstyle-classpath
path id=checkstyle-classpath
fileset dir=${checkstyle.home}
include name=**/*.jar/
/fileset
/path
-/target  
+/target
+--
+path id=checkstyle-classpath
+   path refid=checkstyle.classpath/
+   fileset file=${lib.dir}/${antlr.jar}/
+/path
 
 target name=findbugs.check depends=check-for-findbugs 
unless=findbugs.present
fail message='findbugs.home' is not defined. Please pass 
-Dfindbugs.home=lt;base of Findbugs installationgt; 

Modified: pig/trunk/ivy.xml
URL: 
http://svn.apache.org/viewvc/pig/trunk/ivy.xml?rev=1051285r1=1051284r2=1051285view=diff
==
--- pig/trunk/ivy.xml (original)
+++ pig/trunk/ivy.xml Mon Dec 20 20:53:20 2010
@@ -44,8 +44,8 @@
   dependencies
 dependency org=checkstyle name=checkstyle rev=${checkstyle.version}
   conf=checkstyle-master/
-dependency org=antlr name=antlr rev=${antlr.version}
-  conf=checkstyle-master/
+!-- dependency org=antlr name=antlr rev=${antlr.version}
+  conf=checkstyle-master/ --
 dependency org=commons-beanutils name=commons-beanutils-core 
rev=${commons-beanutils.version}
   conf=checkstyle-master/
 dependency org=commons-el name=commons-el rev=${commons-el.version}




svn commit: r1034603 - in /pig/trunk: src/org/apache/pig/Main.java src/org/apache/pig/builtin/PigStorage.java test/org/apache/pig/test/TestBZip.java

2010-11-12 Thread rding
Author: rding
Date: Sat Nov 13 00:00:29 2010
New Revision: 1034603

URL: http://svn.apache.org/viewvc?rev=1034603view=rev
Log:
PIG-1714: Option mapred.output.compress doesn't work in Pig 0.8 but worked in 
0.7

Modified:
pig/trunk/src/org/apache/pig/Main.java
pig/trunk/src/org/apache/pig/builtin/PigStorage.java
pig/trunk/test/org/apache/pig/test/TestBZip.java

Modified: pig/trunk/src/org/apache/pig/Main.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/Main.java?rev=1034603r1=1034602r2=1034603view=diff
==
--- pig/trunk/src/org/apache/pig/Main.java (original)
+++ pig/trunk/src/org/apache/pig/Main.java Sat Nov 13 00:00:29 2010
@@ -179,6 +179,16 @@ static int run(String args[], PigProgres
 properties.setProperty(stop.on.failure, +false);
 }
 
+if( true.equals( properties.getProperty( mapred.output.compress ) 
) ) {
+properties.setProperty( output.compression.enabled,  true );
+String codec = properties.getProperty( 
mapred.output.compression.codec );
+if( codec == null ) {
+throw new RuntimeException( 'mapred.output.compress' is set 
but no value is specified for 'mapred.output.compression.codec'. );
+} else {
+properties.setProperty( output.compression.codec, codec );
+}
+}
+
 // set up client side system properties in UDF context
 UDFContext.getUDFContext().setClientSystemProps();
 

Modified: pig/trunk/src/org/apache/pig/builtin/PigStorage.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/PigStorage.java?rev=1034603r1=1034602r2=1034603view=diff
==
--- pig/trunk/src/org/apache/pig/builtin/PigStorage.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/PigStorage.java Sat Nov 13 00:00:29 
2010
@@ -28,6 +28,7 @@ import org.apache.commons.logging.LogFac
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.io.compress.BZip2Codec;
+import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.io.compress.GzipCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
 import org.apache.hadoop.mapreduce.Job;
@@ -232,14 +233,24 @@ LoadPushDown {
 public void setStoreLocation(String location, Job job) throws IOException {
 job.getConfiguration().set(mapred.textoutputformat.separator, );
 FileOutputFormat.setOutputPath(job, new Path(location));
-if (location.endsWith(.bz2) || location.endsWith(.bz)) {
-FileOutputFormat.setCompressOutput(job, true);
-FileOutputFormat.setOutputCompressorClass(job,  BZip2Codec.class);
-}  else if (location.endsWith(.gz)) {
-FileOutputFormat.setCompressOutput(job, true);
-FileOutputFormat.setOutputCompressorClass(job, GzipCodec.class);
+if( true.equals( job.getConfiguration().get( 
output.compression.enabled ) ) ) {
+FileOutputFormat.setCompressOutput( job, true );
+String codec = job.getConfiguration().get( 
output.compression.codec );
+try {
+FileOutputFormat.setOutputCompressorClass( job,  (Class? 
extends CompressionCodec) Class.forName( codec ) );
+} catch (ClassNotFoundException e) {
+throw new RuntimeException(Class not found:  + codec );
+}
 } else {
-FileOutputFormat.setCompressOutput(job, false);
+if (location.endsWith(.bz2) || location.endsWith(.bz)) {
+FileOutputFormat.setCompressOutput(job, true);
+FileOutputFormat.setOutputCompressorClass(job,  
BZip2Codec.class);
+}  else if (location.endsWith(.gz)) {
+FileOutputFormat.setCompressOutput(job, true);
+FileOutputFormat.setOutputCompressorClass(job, 
GzipCodec.class);
+} else {
+FileOutputFormat.setCompressOutput( job, false);
+}
 }
 }
 

Modified: pig/trunk/test/org/apache/pig/test/TestBZip.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestBZip.java?rev=1034603r1=1034602r2=1034603view=diff
==
--- pig/trunk/test/org/apache/pig/test/TestBZip.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestBZip.java Sat Nov 13 00:00:29 2010
@@ -440,4 +440,35 @@ public class TestBZip {
 stat = fs.getFileStatus(new Path(output.bz2/part-m-0.bz2));
 assertTrue(stat.getLen()  0); 
 }
+
+@Test
+public void testBzipStoreInMultiQuery2() throws Exception {
+String[] inputData = new String[] {
+1\t2\r3\t4
+};
+
+String inputFileName = input2.txt;
+Util.createInputFile(cluster

svn commit: r1034605 - /pig/trunk/CHANGES.txt

2010-11-12 Thread rding
Author: rding
Date: Sat Nov 13 00:01:42 2010
New Revision: 1034605

URL: http://svn.apache.org/viewvc?rev=1034605view=rev
Log:
PIG-1714: Option mapred.output.compress doesn't work in Pig 0.8 but worked in 
0.7

Modified:
pig/trunk/CHANGES.txt

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1034605r1=1034604r2=1034605view=diff
==
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Sat Nov 13 00:01:42 2010
@@ -220,6 +220,9 @@ PIG-1309: Map-side Cogroup (ashutoshc)
 
 BUG FIXES
 
+PIG-1714: Option mapred.output.compress doesn't work in Pig 0.8 but worked in
+0.7 (xuefuz via rding)
+
 PIG-1715: pig-withouthadoop.jar missing automaton.jar (thejas)
 
 PIG-1706: New logical plan: PushDownFlattenForEach fail if flattened field has 
user defined schema (daijy)




svn commit: r1005953 - /pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java

2010-10-08 Thread rding
Author: rding
Date: Fri Oct  8 18:44:37 2010
New Revision: 1005953

URL: http://svn.apache.org/viewvc?rev=1005953view=rev
Log:
Increase size limit of script stored to job xml to 10k

Modified:
pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java

Modified: pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java?rev=1005953r1=1005952r2=1005953view=diff
==
--- pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java (original)
+++ pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java Fri Oct  8 
18:44:37 2010
@@ -161,7 +161,7 @@ public class ScriptState {
 /**
  * Restricts the size of Pig script stored in job xml 
  */
-public static final int MAX_SCRIPT_SIZE = 1024; 
+public static final int MAX_SCRIPT_SIZE = 10240; 
 
 private static final Log LOG = LogFactory.getLog(ScriptState.class);