hashutosh
Wed, 03 Feb 2010 18:37:24 -0800
Author: hashutosh Date: Thu Feb 4 02:36:57 2010 New Revision: 906326 URL: http://svn.apache.org/viewvc?rev=906326&view=rev Log: PIG-1190: Handling of quoted strings in pig-latin/grunt commands Modified: hadoop/pig/trunk/CHANGES.txt hadoop/pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java hadoop/pig/trunk/src/org/apache/pig/tools/pigscript/parser/PigScriptParser.jj hadoop/pig/trunk/test/org/apache/pig/test/TestGrunt.java Modified: hadoop/pig/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/CHANGES.txt?rev=906326&r1=906325&r2=906326&view=diff ============================================================================== --- hadoop/pig/trunk/CHANGES.txt (original) +++ hadoop/pig/trunk/CHANGES.txt Thu Feb 4 02:36:57 2010 @@ -24,6 +24,8 @@ IMPROVEMENTS +PIG-1190: Handling of quoted strings in pig-latin/grunt commands (ashutoshc) + PIG-1214: Pig 0.6 Docs fixes (chandec via olgan) PIG-977: exit status does not account for JOB_STATUS.TERMINATED (ashutoshc) Modified: hadoop/pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java?rev=906326&r1=906325&r2=906326&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/tools/grunt/GruntParser.java Thu Feb 4 02:36:57 2010 @@ -419,9 +419,9 @@ protected void processSet(String key, String value) throws IOException, ParseException { if (key.equals("debug")) { - if (value.equals("on") || value.equals("'on'")) + if (value.equals("on")) mPigServer.debugOn(); - else if (value.equals("off") || value.equals("'off'")) + else if (value.equals("off")) mPigServer.debugOff(); else throw new ParseException("Invalid value " + value + " provided for " + key); Modified: hadoop/pig/trunk/src/org/apache/pig/tools/pigscript/parser/PigScriptParser.jj URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/tools/pigscript/parser/PigScriptParser.jj?rev=906326&r1=906325&r2=906326&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/tools/pigscript/parser/PigScriptParser.jj (original) +++ hadoop/pig/trunk/src/org/apache/pig/tools/pigscript/parser/PigScriptParser.jj Thu Feb 4 02:36:57 2010 @@ -473,7 +473,7 @@ | <REGISTER> t1 = GetPath() - {processRegister(t1.image);} + {processRegister(unquote(t1.image));} | Script() | @@ -496,7 +496,7 @@ ( t1 = GetKey() t2 = GetValue() - {processSet(t1.image, t2.image);} + {processSet(t1.image, unquote(t2.image));} ) | <EOF> Modified: hadoop/pig/trunk/test/org/apache/pig/test/TestGrunt.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/test/org/apache/pig/test/TestGrunt.java?rev=906326&r1=906325&r2=906326&view=diff ============================================================================== --- hadoop/pig/trunk/test/org/apache/pig/test/TestGrunt.java (original) +++ hadoop/pig/trunk/test/org/apache/pig/test/TestGrunt.java Thu Feb 4 02:36:57 2010 @@ -758,5 +758,51 @@ Grunt grunt = new Grunt(new BufferedReader(reader), context); grunt.exec(); + assertEquals("high", context.getProperties().getProperty(PigContext.JOB_PRIORITY)); + } + + public void testSetWithQuotes() throws Throwable { + PigServer server = new PigServer(ExecType.MAPREDUCE, cluster.getProperties()); + PigContext context = server.getPigContext(); + + String strCmd = "set job.priority 'high'\n"; + + ByteArrayInputStream cmd = new ByteArrayInputStream(strCmd.getBytes()); + InputStreamReader reader = new InputStreamReader(cmd); + + Grunt grunt = new Grunt(new BufferedReader(reader), context); + + grunt.exec(); + assertEquals("high", context.getProperties().getProperty(PigContext.JOB_PRIORITY)); + } + + public void testRegisterWithQuotes() throws Throwable { + PigServer server = new PigServer(ExecType.MAPREDUCE, cluster.getProperties()); + PigContext context = server.getPigContext(); + + String strCmd = "register 'pig.jar'\n"; + + ByteArrayInputStream cmd = new ByteArrayInputStream(strCmd.getBytes()); + InputStreamReader reader = new InputStreamReader(cmd); + + Grunt grunt = new Grunt(new BufferedReader(reader), context); + + grunt.exec(); + assertTrue(context.extraJars.contains(ClassLoader.getSystemResource("pig.jar"))); + } + + public void testRegisterWithoutQuotes() throws Throwable { + PigServer server = new PigServer(ExecType.MAPREDUCE, cluster.getProperties()); + PigContext context = server.getPigContext(); + + String strCmd = "register pig.jar\n"; + + ByteArrayInputStream cmd = new ByteArrayInputStream(strCmd.getBytes()); + InputStreamReader reader = new InputStreamReader(cmd); + + Grunt grunt = new Grunt(new BufferedReader(reader), context); + + grunt.exec(); + assertTrue(context.extraJars.contains(ClassLoader.getSystemResource("pig.jar"))); } }