You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by ja...@apache.org on 2014/04/21 18:33:35 UTC
[2/4] git commit: Update VectorUtil to print out unescaped schema
paths.
Update VectorUtil to print out unescaped schema paths.
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/6d26f23c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/6d26f23c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/6d26f23c
Branch: refs/heads/master
Commit: 6d26f23ce0b9840b28b38a5ee4a343607811761b
Parents: 58d33c8
Author: Jacques Nadeau <ja...@apache.org>
Authored: Mon Apr 21 09:22:32 2014 -0700
Committer: Jacques Nadeau <ja...@apache.org>
Committed: Mon Apr 21 09:22:32 2014 -0700
----------------------------------------------------------------------
.../drill/common/expression/SchemaPath.java | 19 +++++++++++++++++++
.../org/apache/drill/exec/util/VectorUtil.java | 4 ++--
2 files changed, 21 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/6d26f23c/common/src/main/java/org/apache/drill/common/expression/SchemaPath.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/drill/common/expression/SchemaPath.java b/common/src/main/java/org/apache/drill/common/expression/SchemaPath.java
index a3f93a3..659639a 100644
--- a/common/src/main/java/org/apache/drill/common/expression/SchemaPath.java
+++ b/common/src/main/java/org/apache/drill/common/expression/SchemaPath.java
@@ -152,6 +152,25 @@ public class SchemaPath extends LogicalExpressionBase {
return ExpressionStringBuilder.toString(this);
}
+ public String getAsUnescapedPath(){
+ StringBuilder sb = new StringBuilder();
+ PathSegment seg = getRootSegment();
+ if(seg.isArray()) throw new IllegalStateException("Drill doesn't currently support top level arrays");
+ sb.append(seg.getNameSegment().getPath());
+
+ while( (seg = seg.getChild()) != null){
+ if(seg.isNamed()){
+ sb.append('.');
+ sb.append(seg.getNameSegment().getPath());
+ }else{
+ sb.append('[');
+ sb.append(seg.getArraySegment().getIndex());
+ sb.append(']');
+ }
+ }
+ return sb.toString();
+ }
+
public static class De extends StdDeserializer<SchemaPath> {
DrillConfig config;
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/6d26f23c/exec/java-exec/src/main/java/org/apache/drill/exec/util/VectorUtil.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/util/VectorUtil.java b/exec/java-exec/src/main/java/org/apache/drill/exec/util/VectorUtil.java
index c301ccb..1942f62 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/util/VectorUtil.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/util/VectorUtil.java
@@ -36,7 +36,7 @@ public class VectorUtil {
int rows = va.getRecordCount();
List<String> columns = Lists.newArrayList();
for (VectorWrapper<?> vw : va) {
- columns.add(vw.getValueVector().getField().getAsSchemaPath().toExpr());
+ columns.add(vw.getValueVector().getField().getAsSchemaPath().getAsUnescapedPath());
}
int width = columns.size();
@@ -77,7 +77,7 @@ public class VectorUtil {
int rows = va.getRecordCount();
List<String> columns = Lists.newArrayList();
for (VectorWrapper<?> vw : va) {
- columns.add(vw.getValueVector().getField().getAsSchemaPath().toExpr());
+ columns.add(vw.getValueVector().getField().getAsSchemaPath().getAsUnescapedPath());
}
int width = columns.size() * (columnWidth + 2);