[ 
https://issues.apache.org/jira/browse/PIG-4664?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

li xiang updated PIG-4664:
--------------------------
    Summary: Compile error on Builder with HIVE-10799  (was: Compile error with 
HIVE-10799)

> Compile error on Builder with HIVE-10799
> ----------------------------------------
>
>                 Key: PIG-4664
>                 URL: https://issues.apache.org/jira/browse/PIG-4664
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.15.0
>            Reporter: li xiang
>            Priority: Critical
>
> Pig has compile error if working with Hive with HIVE-10799. (HIVE-10799 is 
> only in trunk now)
>     [javac] /pig/src/org/apache/pig/builtin/OrcStorage.java:633: error: no 
> suitable method found for equals(String,Object)
>     [javac]                 builder.equals(getColumnName(lhs), 
> getExpressionValue(rhs));
>     [javac]                        ^
>     [javac]     method Builder.equals(String,Type,Object) is not applicable
>     [javac]       (actual and formal argument lists differ in length)
>     [javac]     method Object.equals(Object) is not applicable
>     [javac]       (actual and formal argument lists differ in length)
>     [javac] /pig/src/org/apache/pig/builtin/OrcStorage.java:637: error: no 
> suitable method found for equals(String,Object)
>     [javac]                 builder.equals(getColumnName(lhs), 
> getExpressionValue(rhs));
>     [javac]                        ^
>     [javac]     method Builder.equals(String,Type,Object) is not applicable
>     [javac]       (actual and formal argument lists differ in length)
>     [javac]     method Object.equals(Object) is not applicable
>     [javac]       (actual and formal argument lists differ in length)
>     [javac] /pig/src/org/apache/pig/builtin/OrcStorage.java:641: error: 
> method lessThan in interface Builder cannot be applied to given types;
>     [javac]                 builder.lessThan(getColumnName(lhs), 
> getExpressionValue(rhs));
>     [javac]                        ^
>     [javac]   required: String,Type,Object
>     [javac]   found: String,Object
>     [javac]   reason: actual and formal argument lists differ in length
>     [javac] /pig/src/org/apache/pig/builtin/OrcStorage.java:644: error: 
> method lessThanEquals in interface Builder cannot be applied to given types;
>     [javac]                 builder.lessThanEquals(getColumnName(lhs), 
> getExpressionValue(rhs));
>     [javac]                        ^
>     [javac]   required: String,Type,Object
>     [javac]   found: String,Object
>     [javac]   reason: actual and formal argument lists differ in length
>     [javac] /pig/src/org/apache/pig/builtin/OrcStorage.java:648: error: 
> method lessThanEquals in interface Builder cannot be applied to given types;
>     [javac]                 builder.lessThanEquals(getColumnName(lhs), 
> getExpressionValue(rhs));
>     [javac]                        ^
>     [javac]   required: String,Type,Object
>     [javac]   found: String,Object
>     [javac]   reason: actual and formal argument lists differ in length
>     [javac] /pig/src/org/apache/pig/builtin/OrcStorage.java:653: error: 
> method lessThan in interface Builder cannot be applied to given types;
>     [javac]                 builder.lessThan(getColumnName(lhs), 
> getExpressionValue(rhs));
>     [javac]                        ^
>     [javac]   required: String,Type,Object
>     [javac]   found: String,Object
>     [javac]   reason: actual and formal argument lists differ in length
>     [javac] /pig/src/org/apache/pig/builtin/OrcStorage.java:658: error: 
> method between in interface Builder cannot be applied to given types;
>     [javac]                 builder.between(getColumnName(lhs), 
> getSearchArgObjValue(between.getLower()),  
> getSearchArgObjValue(between.getUpper()));
>     [javac]                        ^
>     [javac]   required: String,Type,Object,Object
>     [javac]   found: String,Object,Object
>     [javac]   reason: actual and formal argument lists differ in length
>     [javac] /pig/src/org/apache/pig/builtin/OrcStorage.java:661: error: 
> method in in interface Builder cannot be applied to given types;
>     [javac]                 builder.in(getColumnName(lhs), 
> getSearchArgObjValues(in.getValues()).toArray());
>     [javac]                        ^
>     [javac]   required: String,Type,Object[]
>     [javac]   found: String,Object[]
>     [javac]   reason: actual argument Object[] cannot be converted to Type by 
> method invocation conversion
>     [javac] /pig/src/org/apache/pig/builtin/OrcStorage.java:669: error: 
> method isNull in interface Builder cannot be applied to given types;
>     [javac]                 builder.isNull(getColumnName(unaryExpr));
>     [javac]                        ^
>     [javac]   required: String,Type
>     [javac]   found: String
>     [javac]   reason: actual and formal argument lists differ in length
> The Builder interface has changed and requires the PredicateLeaf.Type to be 
> passed in as well. See 
> ql/src/java/org/apache/hadoop/hive/ql/io/sarg/SearchArgumentImpl.java, such 
> as 
> {code}
> -    public Builder lessThan(String column, Object literal) {
> +    public Builder lessThan(String column, PredicateLeaf.Type type,
> +                            Object literal) {
> {code}
> Need to update the OrcStorage class in Pig to pass in data type based on 
> expression.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to