aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorAditya Kishore <aditya@maprtech.com>2014-05-16 17:48:55 -0700
committerJacques Nadeau <jacques@apache.org>2014-05-19 18:06:32 -0700
commite9e63c4a7f3ac354dc346799f19bdccc56d8bd0e (patch)
treee49bf6ecc4bea856bbcfcb5156d11f9018f4e99d /common
parent6d4dc8fe00d4aea7f7e6a8e67ea404933d326bcf (diff)
DRILL-783: Convert function support in HBase filter push down.
+ Enable HBase test suit (failures fixed by DRILL-761).
Diffstat (limited to 'common')
-rw-r--r--common/src/main/java/org/apache/drill/common/expression/ConvertExpression.java23
-rw-r--r--common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java2
2 files changed, 14 insertions, 11 deletions
diff --git a/common/src/main/java/org/apache/drill/common/expression/ConvertExpression.java b/common/src/main/java/org/apache/drill/common/expression/ConvertExpression.java
index c02808320..9debd1511 100644
--- a/common/src/main/java/org/apache/drill/common/expression/ConvertExpression.java
+++ b/common/src/main/java/org/apache/drill/common/expression/ConvertExpression.java
@@ -28,23 +28,26 @@ public class ConvertExpression extends LogicalExpressionBase implements Iterable
static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ConvertExpression.class);
+ public static final String CONVERT_FROM = "convert_from";
+ public static final String CONVERT_TO = "convert_to";
+
private final LogicalExpression input;
private final MajorType type;
private final String convertFunction;
- private final String conversionType;
+ private final String encodingType;
/**
- * @param conversionType
+ * @param encodingType
* @param convertFunction
* @param input
* @param pos
*/
- public ConvertExpression(String convertFunction, String conversionType, LogicalExpression input, ExpressionPosition pos) {
+ public ConvertExpression(String convertFunction, String encodingType, LogicalExpression input, ExpressionPosition pos) {
super(pos);
this.input = input;
- this.convertFunction = convertFunction.toLowerCase();
- this.conversionType = conversionType.toUpperCase();
- this.type = Types.getMajorTypeFromName(conversionType.split("_", 2)[0].toLowerCase());
+ this.convertFunction = CONVERT_FROM.equals(convertFunction.toLowerCase()) ? CONVERT_FROM : CONVERT_TO;
+ this.encodingType = encodingType.toUpperCase();
+ this.type = Types.getMajorTypeFromName(encodingType.split("_", 2)[0].toLowerCase());
}
@Override
@@ -70,13 +73,13 @@ public class ConvertExpression extends LogicalExpressionBase implements Iterable
return type;
}
- public String getConversionType() {
- return conversionType;
+ public String getEncodingType() {
+ return encodingType;
}
@Override
public String toString() {
- return "ConvertExpression [input=" + input + ", type=" + type + ", convertFunction="
- + convertFunction + ", conversionType=" + conversionType + "]";
+ return "ConvertExpression [input=" + input + ", type=" + Types.toString(type) + ", convertFunction="
+ + convertFunction + ", conversionType=" + encodingType + "]";
}
}
diff --git a/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java b/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java
index 95888639f..9301528b0 100644
--- a/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java
+++ b/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java
@@ -226,7 +226,7 @@ public class ExpressionStringBuilder extends AbstractExprVisitor<Void, StringBui
public Void visitConvertExpression(ConvertExpression e, StringBuilder sb) throws RuntimeException {
sb.append(e.getConvertFunction()).append("(");
e.getInput().accept(this, sb);
- sb.append(", \"").append(e.getConversionType()).append("\")");
+ sb.append(", \"").append(e.getEncodingType()).append("\")");
return null;
}