You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ch...@apache.org on 2013/08/22 21:27:22 UTC
svn commit: r1516545 - in /pig/trunk:
src/org/apache/pig/tools/grunt/GruntParser.java
test/org/apache/pig/test/TestMultiQueryBasic.java
test/org/apache/pig/test/TestShortcuts.java
Author: cheolsoo
Date: Thu Aug 22 19:27:21 2013
New Revision: 1516545
URL: http://svn.apache.org/r1516545
Log:
PIG-3168: Revert the behavior of explain with no alias
Modified:
pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java
pig/trunk/test/org/apache/pig/test/TestMultiQueryBasic.java
pig/trunk/test/org/apache/pig/test/TestShortcuts.java
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=1516545&r1=1516544&r2=1516545&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java (original)
+++ pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java Thu Aug 22 19:27:21 2013
@@ -316,11 +316,13 @@ public class GruntParser extends PigScri
mPigServer.parseAndBuild();
}
if (alias == null && script == null) {
- alias = mPigServer.getPigContext().getLastAlias();
- // if explain is used immediately after launching grunt shell then
- // last defined alias will be null
- if (alias == null) {
- throw new ParseException("'explain' statement must be on an alias or on a script.");
+ if (mInteractive) {
+ alias = mPigServer.getPigContext().getLastAlias();
+ // if explain is used immediately after launching grunt shell then
+ // last defined alias will be null
+ if (alias == null) {
+ throw new ParseException("'explain' statement must be on an alias or on a script.");
+ }
}
}
if ("@".equals(alias)) {
Modified: pig/trunk/test/org/apache/pig/test/TestMultiQueryBasic.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestMultiQueryBasic.java?rev=1516545&r1=1516544&r2=1516545&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestMultiQueryBasic.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestMultiQueryBasic.java Thu Aug 22 19:27:21 2013
@@ -466,7 +466,7 @@ public class TestMultiQueryBasic {
"F2 = FOREACH F GENERATE f0, f7, f8;" +
"I = GROUP F2 BY (f7, f8);" +
"STORE I into 'foo4' using BinStorage();" +
- "explain I;";
+ "explain;";
myPig.setBatchOn();
Util.registerMultiLineQuery(myPig, query);
myPig.executeBatch();
Modified: pig/trunk/test/org/apache/pig/test/TestShortcuts.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestShortcuts.java?rev=1516545&r1=1516544&r2=1516545&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestShortcuts.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestShortcuts.java Thu Aug 22 19:27:21 2013
@@ -57,7 +57,7 @@ public class TestShortcuts {
}
/**
- * When no alias is passed, last alias should be explained
+ * When no alias is passed, entire script should be explained
*
* @throws Throwable
*/
@@ -74,11 +74,12 @@ public class TestShortcuts {
}
/**
- * When no alias is defined earlier, exception is expected
+ * When no alias is defined earlier, empty output is expected. Note that
+ * ParseException is thrown in interactive mode.
*
* @throws Throwable
*/
- @Test(expected = ParseException.class)
+ @Test
public void testExplainShortcutNoAliasDefined() throws Throwable {
String cmd = "\\e";
@@ -86,7 +87,7 @@ public class TestShortcuts {
InputStreamReader reader = new InputStreamReader(cmdstream);
Grunt grunt = new Grunt(new BufferedReader(reader), context);
- grunt.exec();
+ grunt.exec(); // Interactive is set to false.
}
@Test