You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ol...@apache.org on 2008/09/18 17:06:38 UTC
svn commit: r696668 - in /incubator/pig/branches/types: ./
src/org/apache/pig/impl/logicalLayer/
src/org/apache/pig/impl/logicalLayer/parser/ test/org/apache/pig/test/
Author: olga
Date: Thu Sep 18 08:06:38 2008
New Revision: 696668
URL: http://svn.apache.org/viewvc?rev=696668&view=rev
Log:
PIG-426: Adding result of two UDFs gives a syntax error
Modified:
incubator/pig/branches/types/CHANGES.txt
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/ExpressionOperator.java
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOUserFunc.java
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt
incubator/pig/branches/types/test/org/apache/pig/test/TestLogicalPlanBuilder.java
Modified: incubator/pig/branches/types/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/CHANGES.txt?rev=696668&r1=696667&r2=696668&view=diff
==============================================================================
--- incubator/pig/branches/types/CHANGES.txt (original)
+++ incubator/pig/branches/types/CHANGES.txt Thu Sep 18 08:06:38 2008
@@ -203,3 +203,5 @@
PIG-434: short-circuit AND and OR (pradeepk viia olgan)
PIG-333: allowing no parethesis with single column alias with flatten
+
+ PIG-426: Adding result of two UDFs gives a syntax error
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/ExpressionOperator.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/ExpressionOperator.java?rev=696668&r1=696667&r2=696668&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/ExpressionOperator.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/ExpressionOperator.java Thu Sep 18 08:06:38 2008
@@ -60,7 +60,7 @@
@Override
public boolean supportsMultipleOutputs() {
- return false;
+ return true;
}
@Override
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOUserFunc.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOUserFunc.java?rev=696668&r1=696667&r2=696668&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOUserFunc.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOUserFunc.java Thu Sep 18 08:06:38 2008
@@ -83,7 +83,7 @@
Schema inputSchema = new Schema();
for(ExpressionOperator op: mArgs) {
if (!DataType.isUsableType(op.getType())) {
- String msg = "Problem with input of User-defined function" ;
+ String msg = "Problem with input: " + op + " of User-defined function: " + this ;
mFieldSchema = null;
mIsFieldSchemaComputed = false;
throw new FrontendException(msg) ;
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt?rev=696668&r1=696667&r2=696668&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt Thu Sep 18 08:06:38 2008
@@ -277,7 +277,7 @@
Boolean isAtomic = null;
if ( spec instanceof LOConst ||
(spec instanceof LOUserFunc &&
- DataType.isAtomic(DataType.findType(((LOUserFunc)spec).getType()))))
+ DataType.isAtomic(((LOUserFunc)spec).getType())))
isAtomic = true;
else if (spec instanceof LOUserFunc)
isAtomic = false;
@@ -942,13 +942,13 @@
SchemaUtils.setSchemaDefaultType(schema, DataType.BYTEARRAY);
op.setSchema(schema);
op.setCanonicalNames();
- log.info("Stream as schema()"+ schema);
+ log.debug("Stream as schema()"+ schema);
}
| fs = AtomSchema()
{
schema = new Schema(fs);
op.setSchema(schema);
- log.info("Stream as atomschema()" + schema);
+ log.debug("Stream as atomschema()" + schema);
}
)
]
@@ -2205,7 +2205,7 @@
log.debug("Connecting generate inputs");
for(LogicalOperator op: getGenerateInputs()) {
lp.connect(op, spec);
- log.debug("Connected operator: " + op.getClass().getName() + " to " + op + " " + spec + " in logical plan " + lp);
+ log.debug("Connected operator: " + op + " to " + spec + " in logical plan " + lp);
}
log.trace("Exiting GenerateStatement");
return spec;
Modified: incubator/pig/branches/types/test/org/apache/pig/test/TestLogicalPlanBuilder.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/test/org/apache/pig/test/TestLogicalPlanBuilder.java?rev=696668&r1=696667&r2=696668&view=diff
==============================================================================
--- incubator/pig/branches/types/test/org/apache/pig/test/TestLogicalPlanBuilder.java (original)
+++ incubator/pig/branches/types/test/org/apache/pig/test/TestLogicalPlanBuilder.java Thu Sep 18 08:06:38 2008
@@ -1274,6 +1274,25 @@
}
}
+ @Test
+ public void testQuery91() {
+ buildPlan("a = load 'myfile' as (name:Chararray, age:Int, gpa:Float);");
+ buildPlan("b = group a by name;");
+ buildPlan("c = foreach b generate SUM(a.age) + SUM(a.gpa);");
+ }
+
+ @Test
+ public void testQuery92() {
+ buildPlan("a = load 'myfile' as (name, age, gpa);");
+ buildPlan("b = group a by name;");
+ String query = "c = foreach b { "
+ + " alias = name#'alias'; "
+ + " af = alias#'first'; "
+ + " al = alias#'last'; "
+ + " generate SUM(a.age) + SUM(a.gpa); "
+ + "};";
+ }
+
private Schema getSchemaFromString(String schemaString) throws ParseException {
return getSchemaFromString(schemaString, DataType.BYTEARRAY);
}