http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/fragment/SimpleParallelizer.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/fragment/SimpleParallelizer.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/fragment/SimpleParallelizer.java index cea5460..bf4dae7 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/fragment/SimpleParallelizer.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/fragment/SimpleParallelizer.java @@ -59,7 +59,7 @@ public class SimpleParallelizer { private final int maxGlobalWidth; private double affinityFactor; - public SimpleParallelizer(QueryContext context){ + public SimpleParallelizer(QueryContext context) { long sliceTarget = context.getOptions().getOption(ExecConstants.SLICE_TARGET).num_val; this.parallelizationThreshold = sliceTarget > 0 ? sliceTarget : 1; this.maxWidthPerNode = context.getOptions().getOption(ExecConstants.MAX_WIDTH_PER_NODE_KEY).num_val.intValue(); @@ -67,7 +67,7 @@ public class SimpleParallelizer { this.affinityFactor = context.getOptions().getOption(ExecConstants.AFFINITY_FACTOR_KEY).float_val.intValue(); } - public SimpleParallelizer(long parallelizationThreshold, int maxWidthPerNode, int maxGlobalWidth, double affinityFactor){ + public SimpleParallelizer(long parallelizationThreshold, int maxWidthPerNode, int maxGlobalWidth, double affinityFactor) { this.parallelizationThreshold = parallelizationThreshold; this.maxWidthPerNode = maxWidthPerNode; this.maxGlobalWidth = maxGlobalWidth; @@ -113,11 +113,12 @@ public class SimpleParallelizer { final PhysicalOperator physicalOperatorRoot = node.getRoot(); boolean isRootNode = rootNode == node; - if (isRootNode && wrapper.getWidth() != 1) + if (isRootNode && wrapper.getWidth() != 1) { throw new FragmentSetupException( String.format( "Failure while trying to setup fragment. The root fragment must always have parallelization one. In the current case, the width was set to %d.", wrapper.getWidth())); + } // a fragment is self driven if it doesn't rely on any other exchanges. boolean isLeafFragment = node.getReceivingExchangePairs().size() == 0; @@ -187,7 +188,9 @@ public class SimpleParallelizer { width = Math.min(width, maxWidthPerNode*allNodes.size()); - if (width < 1) width = 1; + if (width < 1) { + width = 1; + } // logger.debug("Setting width {} on fragment {}", width, wrapper); wrapper.setWidth(width); // figure out endpoint assignments. also informs the exchanges about their respective endpoints.
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillAggregateRel.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillAggregateRel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillAggregateRel.java index e31aaa7..6b0c3b4 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillAggregateRel.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillAggregateRel.java @@ -82,17 +82,16 @@ public class DrillAggregateRel extends DrillAggregateRelBase implements DrillRel return builder.build(); } - - - private LogicalExpression toDrill(AggregateCall call, List<String> fn, DrillImplementor implementor) { List<LogicalExpression> args = Lists.newArrayList(); - for(Integer i : call.getArgList()){ + for(Integer i : call.getArgList()) { args.add(new FieldReference(fn.get(i))); } // for count(1). - if(args.isEmpty()) args.add(new ValueExpressions.LongExpression(1l)); + if (args.isEmpty()) { + args.add(new ValueExpressions.LongExpression(1l)); + } LogicalExpression expr = FunctionCallFactory.createExpression(call.getAggregation().getName().toLowerCase(), ExpressionPosition.UNKNOWN, args); return expr; } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillPushProjIntoScan.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillPushProjIntoScan.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillPushProjIntoScan.java index 829eb14..082dacc 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillPushProjIntoScan.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillPushProjIntoScan.java @@ -50,9 +50,11 @@ public class DrillPushProjIntoScan extends RelOptRule { try { ProjectPushInfo columnInfo = PrelUtil.getColumns(scan.getRowType(), proj.getProjects()); - if(columnInfo == null || columnInfo.isStarQuery() // + if (columnInfo == null || columnInfo.isStarQuery() // || !scan.getTable().unwrap(DrillTable.class) // - .getGroupScan().canPushdownProjects(columnInfo.columns)) return; + .getGroupScan().canPushdownProjects(columnInfo.columns)) { + return; + } final DrillScanRel newScan = new DrillScanRel(scan.getCluster(), @@ -63,7 +65,7 @@ public class DrillPushProjIntoScan extends RelOptRule { List<RexNode> newProjects = Lists.newArrayList(); - for(RexNode n : proj.getChildExps()){ + for (RexNode n : proj.getChildExps()) { newProjects.add(n.accept(columnInfo.getInputRewriter())); } @@ -84,4 +86,4 @@ public class DrillPushProjIntoScan extends RelOptRule { } } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillTable.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillTable.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillTable.java index 2e7f9f2..c8f872e 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillTable.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillTable.java @@ -31,8 +31,7 @@ import org.apache.drill.exec.store.StoragePlugin; import org.eigenbase.rel.RelNode; import org.eigenbase.relopt.RelOptTable; - -public abstract class DrillTable implements Table{ +public abstract class DrillTable implements Table { private final String storageEngineName; public final StoragePluginConfig storageEngineConfig; @@ -50,17 +49,17 @@ public abstract class DrillTable implements Table{ } public GroupScan getGroupScan() throws IOException{ - if(scan == null){ + if (scan == null) { this.scan = plugin.getPhysicalScan(new JSONOptions(selection)); } return scan; } - public StoragePluginConfig getStorageEngineConfig(){ + public StoragePluginConfig getStorageEngineConfig() { return storageEngineConfig; } - public StoragePlugin getPlugin(){ + public StoragePlugin getPlugin() { return plugin; } @@ -100,31 +99,38 @@ public abstract class DrillTable implements Table{ @Override public boolean equals(Object obj) { - if (this == obj) + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; + } DrillTable other = (DrillTable) obj; if (selection == null) { - if (other.selection != null) + if (other.selection != null) { return false; - } else if (!selection.equals(other.selection)) + } + } else if (!selection.equals(other.selection)) { return false; + } if (storageEngineConfig == null) { - if (other.storageEngineConfig != null) + if (other.storageEngineConfig != null) { return false; - } else if (!storageEngineConfig.equals(other.storageEngineConfig)) + } + } else if (!storageEngineConfig.equals(other.storageEngineConfig)) { return false; + } if (storageEngineName == null) { - if (other.storageEngineName != null) + if (other.storageEngineName != null) { return false; - } else if (!storageEngineName.equals(other.storageEngineName)) + } + } else if (!storageEngineName.equals(other.storageEngineName)) { return false; + } return true; } - - -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/ExprHelper.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/ExprHelper.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/ExprHelper.java index d4321bc..5796839 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/ExprHelper.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/ExprHelper.java @@ -27,14 +27,17 @@ public class ExprHelper { private final static String COMPOUND_FAIL_MESSAGE = "The current Optiq based logical plan interpreter does not complicated expressions. For Order By and Filter"; - public static String getAggregateFieldName(FunctionCall c){ + public static String getAggregateFieldName(FunctionCall c) { List<LogicalExpression> exprs = c.args; - if(exprs.size() != 1) throw new UnsupportedOperationException(COMPOUND_FAIL_MESSAGE); + if (exprs.size() != 1) { + throw new UnsupportedOperationException(COMPOUND_FAIL_MESSAGE); + } return getFieldName(exprs.iterator().next()); } - public static String getFieldName(LogicalExpression e){ + public static String getFieldName(LogicalExpression e) { //if(e instanceof SchemaPath) return ((SchemaPath) e).getPath().toString(); throw new UnsupportedOperationException(COMPOUND_FAIL_MESSAGE); } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/StoragePlugins.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/StoragePlugins.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/StoragePlugins.java index 5e25659..337bb09 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/StoragePlugins.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/StoragePlugins.java @@ -37,7 +37,7 @@ public class StoragePlugins implements Iterable<Map.Entry<String, StoragePluginC private Map<String, StoragePluginConfig> storage; @JsonCreator - public StoragePlugins(@JsonProperty("storage") Map<String, StoragePluginConfig> storage){ + public StoragePlugins(@JsonProperty("storage") Map<String, StoragePluginConfig> storage) { this.storage = storage; } @@ -73,8 +73,9 @@ public class StoragePlugins implements Iterable<Map.Entry<String, StoragePluginC builder.append("["); int i = 0; for (Iterator<?> iterator = collection.iterator(); iterator.hasNext() && i < maxLen; i++) { - if (i > 0) + if (i > 0) { builder.append(", "); + } builder.append(iterator.next()); } builder.append("]"); @@ -89,5 +90,4 @@ public class StoragePlugins implements Iterable<Map.Entry<String, StoragePluginC return storage.equals(((StoragePlugins) obj).getStorage()); } - } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/AggPrelBase.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/AggPrelBase.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/AggPrelBase.java index 3dedb55..05fb64a 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/AggPrelBase.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/AggPrelBase.java @@ -51,8 +51,7 @@ import org.eigenbase.sql.type.ReturnTypes; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; - -public abstract class AggPrelBase extends AggregateRelBase implements Prel{ +public abstract class AggPrelBase extends AggregateRelBase implements Prel { protected static enum OperatorPhase {PHASE_1of1, PHASE_1of2, PHASE_2of2}; @@ -61,7 +60,6 @@ public abstract class AggPrelBase extends AggregateRelBase implements Prel{ protected List<NamedExpression> aggExprs = Lists.newArrayList(); protected List<AggregateCall> phase2AggCallList = Lists.newArrayList(); - /** * Specialized aggregate function for SUMing the COUNTs. Since return type of * COUNT is non-nullable and return type of SUM is nullable, this class enables @@ -166,12 +164,14 @@ public abstract class AggPrelBase extends AggregateRelBase implements Prel{ protected LogicalExpression toDrill(AggregateCall call, List<String> fn, DrillParseContext pContext) { List<LogicalExpression> args = Lists.newArrayList(); - for(Integer i : call.getArgList()){ + for (Integer i : call.getArgList()) { args.add(new FieldReference(fn.get(i))); } // for count(1). - if(args.isEmpty()) args.add(new ValueExpressions.LongExpression(1l)); + if (args.isEmpty()) { + args.add(new ValueExpressions.LongExpression(1l)); + } LogicalExpression expr = new FunctionCall(call.getAggregation().getName().toLowerCase(), args, ExpressionPosition.UNKNOWN ); return expr; } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashAggPrule.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashAggPrule.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashAggPrule.java index 0439bbb..1a43df5 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashAggPrule.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashAggPrule.java @@ -48,7 +48,9 @@ public class HashAggPrule extends AggPruleBase { @Override public void onMatch(RelOptRuleCall call) { - if (!PrelUtil.getPlannerSettings(call.getPlanner()).isHashAggEnabled()) return; + if (!PrelUtil.getPlannerSettings(call.getPlanner()).isHashAggEnabled()) { + return; + } final DrillAggregateRel aggregate = (DrillAggregateRel) call.rel(0); final RelNode input = call.rel(1); @@ -96,7 +98,6 @@ public class HashAggPrule extends AggPruleBase { } } - private class TwoPhaseSubset extends SubsetTransformer<DrillAggregateRel, InvalidRelException> { final RelTrait distOnAllKeys; @@ -124,7 +125,6 @@ public class HashAggPrule extends AggPruleBase { aggregate.getGroupSet(), phase1Agg.getPhase2AggCalls(), OperatorPhase.PHASE_2of2); - return phase2Agg; } @@ -140,4 +140,5 @@ public class HashAggPrule extends AggPruleBase { call.transformTo(newAgg); } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashJoinPrule.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashJoinPrule.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashJoinPrule.java index 61321c1..433405a 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashJoinPrule.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashJoinPrule.java @@ -44,7 +44,9 @@ public class HashJoinPrule extends JoinPruleBase { @Override public void onMatch(RelOptRuleCall call) { - if (!PrelUtil.getPlannerSettings(call.getPlanner()).isHashJoinEnabled()) return; + if (!PrelUtil.getPlannerSettings(call.getPlanner()).isHashJoinEnabled()) { + return; + } final DrillJoinRel join = (DrillJoinRel) call.rel(0); final RelNode left = join.getLeft(); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashToMergeExchangePrel.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashToMergeExchangePrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashToMergeExchangePrel.java index 95ef876..7920187 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashToMergeExchangePrel.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashToMergeExchangePrel.java @@ -34,7 +34,6 @@ import org.eigenbase.relopt.RelOptCost; import org.eigenbase.relopt.RelOptPlanner; import org.eigenbase.relopt.RelTraitSet; - public class HashToMergeExchangePrel extends ExchangePrel { private final List<DistributionField> distFields; @@ -52,10 +51,9 @@ public class HashToMergeExchangePrel extends ExchangePrel { assert input.getConvention() == Prel.DRILL_PHYSICAL; } - @Override public RelOptCost computeSelfCost(RelOptPlanner planner) { - if(PrelUtil.getSettings(getCluster()).useDefaultCosting()) { + if (PrelUtil.getSettings(getCluster()).useDefaultCosting()) { return super.computeSelfCost(planner).multiplyBy(.1); } RelNode child = this.getChild(); @@ -81,7 +79,9 @@ public class HashToMergeExchangePrel extends ExchangePrel { PhysicalOperator childPOP = child.getPhysicalOperator(creator); - if(PrelUtil.getSettings(getCluster()).isSingleMode()) return childPOP; + if (PrelUtil.getSettings(getCluster()).isSingleMode()) { + return childPOP; + } HashToMergeExchange g = new HashToMergeExchange(childPOP, PrelUtil.getHashExpression(this.distFields, getChild().getRowType()), @@ -102,4 +102,5 @@ public class HashToMergeExchangePrel extends ExchangePrel { public SelectionVectorMode getEncoding() { return SelectionVectorMode.NONE; } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashToRandomExchangePrel.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashToRandomExchangePrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashToRandomExchangePrel.java index 30107bb..372c75d 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashToRandomExchangePrel.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashToRandomExchangePrel.java @@ -89,7 +89,9 @@ public class HashToRandomExchangePrel extends ExchangePrel { PhysicalOperator childPOP = child.getPhysicalOperator(creator); - if(PrelUtil.getSettings(getCluster()).isSingleMode()) return childPOP; + if (PrelUtil.getSettings(getCluster()).isSingleMode()) { + return childPOP; + } HashToRandomExchange g = new HashToRandomExchange(childPOP, PrelUtil.getHashExpression(this.fields, getChild().getRowType())); return creator.addMetadata(this, g); @@ -118,5 +120,4 @@ public class HashToRandomExchangePrel extends ExchangePrel { return SelectionVectorMode.ALL; } - } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/JoinPruleBase.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/JoinPruleBase.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/JoinPruleBase.java index babf005..afcbf71 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/JoinPruleBase.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/JoinPruleBase.java @@ -108,8 +108,9 @@ public abstract class JoinPruleBase extends Prule { assert (join.getLeftKeys().size() == join.getRightKeys().size()); - if (!hashSingleKey) + if (!hashSingleKey) { return; + } int numJoinKeys = join.getLeftKeys().size(); if (numJoinKeys > 1) { @@ -185,7 +186,7 @@ public abstract class JoinPruleBase extends Prule { final RelNode convertedLeft = convert(left, traitsLeft); final RelNode convertedRight = convert(right, traitsRight); - new SubsetTransformer<DrillJoinRel, InvalidRelException>(call){ + new SubsetTransformer<DrillJoinRel, InvalidRelException>(call) { @Override public RelNode convertChild(final DrillJoinRel join, final RelNode rel) throws InvalidRelException { http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java index 3d44760..1adc54f 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java @@ -92,7 +92,7 @@ public class PrelUtil { return func; } - public static Iterator<Prel> iter(RelNode... nodes){ + public static Iterator<Prel> iter(RelNode... nodes) { return (Iterator<Prel>) (Object) Arrays.asList(nodes).iterator(); } @@ -100,7 +100,7 @@ public class PrelUtil { return (Iterator<Prel>) (Object) nodes.iterator(); } - public static PlannerSettings getSettings(RelOptCluster cluster){ + public static PlannerSettings getSettings(RelOptCluster cluster) { return cluster.getPlanner().getContext().unwrap(PlannerSettings.class); } @@ -108,17 +108,21 @@ public class PrelUtil { return planner.getContext().unwrap(PlannerSettings.class); } - public static Prel removeSvIfRequired(Prel prel, SelectionVectorMode... allowed){ + public static Prel removeSvIfRequired(Prel prel, SelectionVectorMode... allowed) { SelectionVectorMode current = prel.getEncoding(); - for(SelectionVectorMode m : allowed){ - if(current == m) return prel; + for (SelectionVectorMode m : allowed) { + if (current == m) { + return prel; + } } return new SelectionVectorRemoverPrel(prel); } public static ProjectPushInfo getColumns(RelDataType rowType, List<RexNode> projects) { final List<String> fieldNames = rowType.getFieldNames(); - if (fieldNames.isEmpty()) return null; + if (fieldNames.isEmpty()) { + return null; + } RefFieldsVisitor v = new RefFieldsVisitor(rowType); for (RexNode exp : projects) { @@ -154,31 +158,38 @@ public class PrelUtil { @Override public boolean equals(Object obj) { - if (this == obj) + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; + } DesiredField other = (DesiredField) obj; if (field == null) { - if (other.field != null) + if (other.field != null) { return false; - } else if (!field.equals(other.field)) + } + } else if (!field.equals(other.field)) { return false; + } if (name == null) { - if (other.name != null) + if (other.name != null) { return false; - } else if (!name.equals(other.name)) + } + } else if (!name.equals(other.name)) { return false; - if (origIndex != other.origIndex) + } + if (origIndex != other.origIndex) { return false; + } return true; } } - public static class ProjectPushInfo { public final List<SchemaPath> columns; public final List<DesiredField> desiredFields; @@ -196,7 +207,7 @@ public class PrelUtil { IntIntOpenHashMap oldToNewIds = new IntIntOpenHashMap(); int i =0; - for(DesiredField f : desiredFields){ + for (DesiredField f : desiredFields) { fieldNames.add(f.name); types.add(f.field.getType()); oldToNewIds.put(f.origIndex, i); @@ -205,7 +216,7 @@ public class PrelUtil { this.rewriter = new InputRewriter(oldToNewIds); } - public InputRewriter getInputRewriter(){ + public InputRewriter getInputRewriter() { return rewriter; } @@ -242,11 +253,10 @@ public class PrelUtil { } } - public ProjectPushInfo getInfo(){ + public ProjectPushInfo getInfo() { return new ProjectPushInfo(ImmutableList.copyOf(columns), ImmutableList.copyOf(desiredFields)); } - @Override public PathSegment visitInputRef(RexInputRef inputRef) { int index = inputRef.getIndex(); @@ -288,14 +298,14 @@ public class PrelUtil { } - public static RelTraitSet fixTraits(RelOptRuleCall call, RelTraitSet set){ + public static RelTraitSet fixTraits(RelOptRuleCall call, RelTraitSet set) { return fixTraits(call.getPlanner(), set); } - public static RelTraitSet fixTraits(RelOptPlanner cluster, RelTraitSet set){ - if(getPlannerSettings(cluster).isSingleMode()){ + public static RelTraitSet fixTraits(RelOptPlanner cluster, RelTraitSet set) { + if (getPlannerSettings(cluster).isSingleMode()) { return set.replace(DrillDistributionTrait.ANY); - }else{ + } else { return set; } } @@ -316,10 +326,8 @@ public class PrelUtil { return newIndex; } - } - public static class InputRewriter extends RexShuttle { final IntIntOpenHashMap map; @@ -340,4 +348,5 @@ public class PrelUtil { } } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SingleMergeExchangePrel.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SingleMergeExchangePrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SingleMergeExchangePrel.java index 16bfd88..8264509 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SingleMergeExchangePrel.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SingleMergeExchangePrel.java @@ -61,7 +61,7 @@ public class SingleMergeExchangePrel extends ExchangePrel { */ @Override public RelOptCost computeSelfCost(RelOptPlanner planner) { - if(PrelUtil.getSettings(getCluster()).useDefaultCosting()) { + if (PrelUtil.getSettings(getCluster()).useDefaultCosting()) { return super.computeSelfCost(planner).multiplyBy(.1); } RelNode child = this.getChild(); @@ -85,7 +85,9 @@ public class SingleMergeExchangePrel extends ExchangePrel { PhysicalOperator childPOP = child.getPhysicalOperator(creator); - if(PrelUtil.getSettings(getCluster()).isSingleMode()) return childPOP; + if (PrelUtil.getSettings(getCluster()).isSingleMode()) { + return childPOP; + } SingleMergeExchange g = new SingleMergeExchange(childPOP, PrelUtil.getOrdering(this.collation, getChild().getRowType())); return creator.addMetadata(this, g); @@ -109,7 +111,4 @@ public class SingleMergeExchangePrel extends ExchangePrel { return SelectionVectorMode.NONE; } - - - } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SubsetTransformer.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SubsetTransformer.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SubsetTransformer.java index 450b197..d4cd21f 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SubsetTransformer.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SubsetTransformer.java @@ -30,13 +30,13 @@ public abstract class SubsetTransformer<T extends RelNode, E extends Exception> private final RelOptRuleCall call; - public SubsetTransformer(RelOptRuleCall call){ + public SubsetTransformer(RelOptRuleCall call) { this.call = call; } - public RelTraitSet newTraitSet(RelTrait... traits){ + public RelTraitSet newTraitSet(RelTrait... traits) { RelTraitSet set = call.getPlanner().emptyTraitSet(); - for(RelTrait t : traits){ + for (RelTrait t : traits) { set = set.plus(t); } return set; @@ -44,14 +44,16 @@ public abstract class SubsetTransformer<T extends RelNode, E extends Exception> } boolean go(T n, RelNode candidateSet) throws E { - if( !(candidateSet instanceof RelSubset) ) return false; + if ( !(candidateSet instanceof RelSubset) ) { + return false; + } boolean transform = false; for (RelNode rel : ((RelSubset)candidateSet).getRelList()) { if (!isDefaultDist(rel)) { RelNode out = convertChild(n, rel); - if(out != null){ + if (out != null) { call.transformTo(out); transform = true; @@ -62,7 +64,7 @@ public abstract class SubsetTransformer<T extends RelNode, E extends Exception> return transform; } - private boolean isDefaultDist(RelNode n){ + private boolean isDefaultDist(RelNode n) { return n.getTraitSet().getTrait(DrillDistributionTraitDef.INSTANCE).equals(DrillDistributionTrait.DEFAULT); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/UnionExchangePrel.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/UnionExchangePrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/UnionExchangePrel.java index 8b0c251..c35328b 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/UnionExchangePrel.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/UnionExchangePrel.java @@ -52,7 +52,7 @@ public class UnionExchangePrel extends ExchangePrel { */ @Override public RelOptCost computeSelfCost(RelOptPlanner planner) { - if(PrelUtil.getSettings(getCluster()).useDefaultCosting()) { + if (PrelUtil.getSettings(getCluster()).useDefaultCosting()) { return super.computeSelfCost(planner).multiplyBy(.1); } @@ -75,7 +75,9 @@ public class UnionExchangePrel extends ExchangePrel { PhysicalOperator childPOP = child.getPhysicalOperator(creator); - if(PrelUtil.getSettings(getCluster()).isSingleMode()) return childPOP; + if (PrelUtil.getSettings(getCluster()).isSingleMode()) { + return childPOP; + } UnionExchange g = new UnionExchange(childPOP); return creator.addMetadata(this, g); @@ -86,5 +88,4 @@ public class UnionExchangePrel extends ExchangePrel { return SelectionVectorMode.NONE; } - } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/explain/PrelSequencer.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/explain/PrelSequencer.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/explain/PrelSequencer.java index c3020cf..cb6d656 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/explain/PrelSequencer.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/explain/PrelSequencer.java @@ -33,12 +33,11 @@ import org.eigenbase.sql.SqlExplainLevel; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -public class PrelSequencer extends BasePrelVisitor<Void, PrelSequencer.Frag, RuntimeException>{ +public class PrelSequencer extends BasePrelVisitor<Void, PrelSequencer.Frag, RuntimeException> { private List<Frag> frags = Lists.newLinkedList(); - - public static String printWithIds(final Prel rel, SqlExplainLevel explainlevel){ + public static String printWithIds(final Prel rel, SqlExplainLevel explainlevel) { if (rel == null) { return null; } @@ -49,13 +48,12 @@ public class PrelSequencer extends BasePrelVisitor<Void, PrelSequencer.Frag, Run } - public static Map<Prel, OpId> getIdMap(Prel rel){ + public static Map<Prel, OpId> getIdMap(Prel rel) { PrelSequencer s = new PrelSequencer(); return s.go(rel); } - - static class Frag implements Iterable<Frag>{ + static class Frag implements Iterable<Frag> { Prel root; int majorFragmentId; final List<Frag> children = Lists.newArrayList(); @@ -81,25 +79,33 @@ public class PrelSequencer extends BasePrelVisitor<Void, PrelSequencer.Frag, Run @Override public boolean equals(Object obj) { - if (this == obj) + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; + } Frag other = (Frag) obj; if (children == null) { - if (other.children != null) + if (other.children != null) { return false; - } else if (!children.equals(other.children)) + } + } else if (!children.equals(other.children)) { return false; - if (majorFragmentId != other.majorFragmentId) + } + if (majorFragmentId != other.majorFragmentId) { return false; + } if (root == null) { - if (other.root != null) + if (other.root != null) { return false; - } else if (!root.equals(other.root)) + } + } else if (!root.equals(other.root)) { return false; + } return true; } @@ -110,7 +116,6 @@ public class PrelSequencer extends BasePrelVisitor<Void, PrelSequencer.Frag, Run + (children != null ? children.subList(0, Math.min(children.size(), maxLen)) : null) + "]"; } - } public static class OpId{ @@ -122,7 +127,6 @@ public class PrelSequencer extends BasePrelVisitor<Void, PrelSequencer.Frag, Run this.opId = opId; } - public int getFragmentId() { return fragmentId; } @@ -132,7 +136,7 @@ public class PrelSequencer extends BasePrelVisitor<Void, PrelSequencer.Frag, Run return opId; } - public int getAsSingleInt(){ + public int getAsSingleInt() { return (fragmentId << 16) + opId; } @@ -144,30 +148,36 @@ public class PrelSequencer extends BasePrelVisitor<Void, PrelSequencer.Frag, Run result = prime * result + opId; return result; } + @Override public boolean equals(Object obj) { - if (this == obj) + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; + } OpId other = (OpId) obj; - if (fragmentId != other.fragmentId) + if (fragmentId != other.fragmentId) { return false; - if (opId != other.opId) + } + if (opId != other.opId) { return false; + } return true; } + @Override public String toString() { return fragmentId + ":*:" + opId; } - } - public Map<Prel, OpId> go(Prel root){ + public Map<Prel, OpId> go(Prel root) { // get fragments. Frag rootFrag = new Frag(root); @@ -179,12 +189,12 @@ public class PrelSequencer extends BasePrelVisitor<Void, PrelSequencer.Frag, Run q.add(rootFrag); int majorFragmentId = 0; - while(!q.isEmpty()){ + while (!q.isEmpty()) { Frag frag = q.remove(); frag.majorFragmentId = majorFragmentId++; - for(Frag child : frag){ + for (Frag child : frag) { q.add(child); } } @@ -193,22 +203,21 @@ public class PrelSequencer extends BasePrelVisitor<Void, PrelSequencer.Frag, Run Map<Prel, OpId> ids = Maps.newIdentityHashMap(); ids.put(rootFrag.root, new OpId(0, 0)); - for(Frag f : frags){ + for (Frag f : frags) { int id = 1; Queue<Prel> ops = Lists.newLinkedList(); ops.add(f.root); - while(!ops.isEmpty()){ + while (!ops.isEmpty()) { Prel p = ops.remove(); boolean isExchange = p instanceof ExchangePrel; - if(p != f.root){ // we account for exchanges as receviers to guarantee unique identifiers. + if (p != f.root) { // we account for exchanges as receviers to guarantee unique identifiers. ids.put(p, new OpId(f.majorFragmentId, id++) ); } - - if(!isExchange || p == f.root){ + if (!isExchange || p == f.root) { List<Prel> children = Lists.reverse(Lists.newArrayList(p.iterator())); - for(Prel child : children){ + for (Prel child : children) { ops.add(child); } } @@ -217,16 +226,14 @@ public class PrelSequencer extends BasePrelVisitor<Void, PrelSequencer.Frag, Run return ids; - } - @Override public Void visitExchange(ExchangePrel prel, Frag value) throws RuntimeException { Frag newFrag = new Frag(prel); frags.add(newFrag); value.children.add(newFrag); - for(Prel child : prel){ + for (Prel child : prel) { child.accept(this, newFrag); } @@ -235,14 +242,10 @@ public class PrelSequencer extends BasePrelVisitor<Void, PrelSequencer.Frag, Run @Override public Void visitPrel(Prel prel, Frag value) throws RuntimeException { - for(Prel children : prel){ + for (Prel children : prel) { children.accept(this, value); } return null; } - - - - } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/ExcessiveExchangeIdentifier.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/ExcessiveExchangeIdentifier.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/ExcessiveExchangeIdentifier.java index eb8eab3..82409d8 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/ExcessiveExchangeIdentifier.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/ExcessiveExchangeIdentifier.java @@ -33,11 +33,11 @@ public class ExcessiveExchangeIdentifier extends BasePrelVisitor<Prel, Excessive private final long targetSliceSize; - public ExcessiveExchangeIdentifier(long targetSliceSize){ + public ExcessiveExchangeIdentifier(long targetSliceSize) { this.targetSliceSize = targetSliceSize; } - public static Prel removeExcessiveEchanges(Prel prel, long targetSliceSize){ + public static Prel removeExcessiveEchanges(Prel prel, long targetSliceSize) { ExcessiveExchangeIdentifier exchange = new ExcessiveExchangeIdentifier(targetSliceSize); return prel.accept(exchange, exchange.getNewStat()); } @@ -48,9 +48,9 @@ public class ExcessiveExchangeIdentifier extends BasePrelVisitor<Prel, Excessive MajorFragmentStat newFrag = new MajorFragmentStat(); Prel newChild = ((Prel) prel.getChild()).accept(this, newFrag); - if(newFrag.isSingular() && parent.isSingular()){ + if (newFrag.isSingular() && parent.isSingular()) { return newChild; - }else{ + } else { return (Prel) prel.copy(prel.getTraitSet(), Collections.singletonList((RelNode) newChild)); } } @@ -68,44 +68,46 @@ public class ExcessiveExchangeIdentifier extends BasePrelVisitor<Prel, Excessive return prel; } - @Override public Prel visitPrel(Prel prel, MajorFragmentStat s) throws RuntimeException { List<RelNode> children = Lists.newArrayList(); s.add(prel); - for(Prel p : prel){ + for(Prel p : prel) { children.add(p.accept(this, s)); } return (Prel) prel.copy(prel.getTraitSet(), children); } - public MajorFragmentStat getNewStat(){ + public MajorFragmentStat getNewStat() { return new MajorFragmentStat(); } - class MajorFragmentStat{ + class MajorFragmentStat { private double maxRows = 0d; private int maxWidth = Integer.MAX_VALUE; - public void add(Prel prel){ + public void add(Prel prel) { maxRows = Math.max(prel.getRows(), maxRows); } - public void setSingular(){ + public void setSingular() { maxWidth = 1; } - public void addScan(ScanPrel prel){ + public void addScan(ScanPrel prel) { maxWidth = Math.min(maxWidth, prel.getGroupScan().getMaxParallelizationWidth()); add(prel); } - public boolean isSingular(){ + public boolean isSingular() { int suggestedWidth = (int) Math.ceil((maxRows+1)/targetSliceSize); int w = Math.min(maxWidth, suggestedWidth); - if(w < 1) w = 1; + if (w < 1) { + w = 1; + } return w == 1; } } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/FinalColumnReorderer.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/FinalColumnReorderer.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/FinalColumnReorderer.java index c0556e3..60a9e4b 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/FinalColumnReorderer.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/FinalColumnReorderer.java @@ -36,7 +36,7 @@ public class FinalColumnReorderer extends BasePrelVisitor<Prel, Void, RuntimeExc private static FinalColumnReorderer INSTANCE = new FinalColumnReorderer(); - public static Prel addFinalColumnOrdering(Prel prel){ + public static Prel addFinalColumnOrdering(Prel prel) { return prel.accept(INSTANCE, null); } @@ -46,7 +46,7 @@ public class FinalColumnReorderer extends BasePrelVisitor<Prel, Void, RuntimeExc return prel.copy(prel.getTraitSet(), Collections.singletonList( (RelNode) addTrivialOrderedProjectPrel( newChild ))); } - private Prel addTrivialOrderedProjectPrel(Prel prel){ + private Prel addTrivialOrderedProjectPrel(Prel prel) { if ( !prel.needsFinalColumnReordering()) { return prel; @@ -59,9 +59,11 @@ public class FinalColumnReorderer extends BasePrelVisitor<Prel, Void, RuntimeExc int projectCount = t.getFieldList().size(); // no point in reordering if we only have one column - if(projectCount < 2) return prel; + if (projectCount < 2) { + return prel; + } - for(int i =0; i < projectCount; i++){ + for (int i =0; i < projectCount; i++) { projections.add(b.makeInputRef(prel, i)); } return new ProjectPrel(prel.getCluster(), prel.getTraitSet(), prel, projections, prel.getRowType()); @@ -77,17 +79,18 @@ public class FinalColumnReorderer extends BasePrelVisitor<Prel, Void, RuntimeExc public Prel visitPrel(Prel prel, Void value) throws RuntimeException { List<RelNode> children = Lists.newArrayList(); boolean changed = false; - for(Prel p : prel){ + for (Prel p : prel) { Prel newP = p.accept(this, null); - if(newP != p) changed = true; + if (newP != p) { + changed = true; + } children.add(newP); } - if(changed){ + if (changed) { return (Prel) prel.copy(prel.getTraitSet(), children); - }else{ + } else { return prel; } } - } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/RelUniqifier.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/RelUniqifier.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/RelUniqifier.java index 4f7f348..6ef9776 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/RelUniqifier.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/RelUniqifier.java @@ -31,24 +31,28 @@ public class RelUniqifier extends BasePrelVisitor<Prel, Set<Prel>, RuntimeExcept private static final RelUniqifier INSTANCE = new RelUniqifier(); - public static Prel uniqifyGraph(Prel p){ + public static Prel uniqifyGraph(Prel p) { Set<Prel> data = Sets.newIdentityHashSet(); return p.accept(INSTANCE, data); } + @Override public Prel visitPrel(Prel prel, Set<Prel> data) throws RuntimeException { List<RelNode> children = Lists.newArrayList(); boolean childrenChanged = false; - for(Prel child : prel){ + for (Prel child : prel) { Prel newChild = visitPrel(child, data); - if(newChild != child) childrenChanged = true; + if (newChild != child) { + childrenChanged = true; + } children.add(newChild); } - if(data.contains(prel) || childrenChanged){ + if (data.contains(prel) || childrenChanged) { return (Prel) prel.copy(prel.getTraitSet(), children); - }else{ + } else { return prel; } } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/SelectionVectorPrelVisitor.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/SelectionVectorPrelVisitor.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/SelectionVectorPrelVisitor.java index 8d0b155..4e4d6c1 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/SelectionVectorPrelVisitor.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/SelectionVectorPrelVisitor.java @@ -31,7 +31,7 @@ public class SelectionVectorPrelVisitor extends BasePrelVisitor<Prel, Void, Runt private static SelectionVectorPrelVisitor INSTANCE = new SelectionVectorPrelVisitor(); - public static Prel addSelectionRemoversWhereNecessary(Prel prel){ + public static Prel addSelectionRemoversWhereNecessary(Prel prel) { return prel.accept(INSTANCE, null); } @@ -39,7 +39,7 @@ public class SelectionVectorPrelVisitor extends BasePrelVisitor<Prel, Void, Runt public Prel visitPrel(Prel prel, Void value) throws RuntimeException { SelectionVectorMode[] encodings = prel.getSupportedEncodings(); List<RelNode> children = Lists.newArrayList(); - for(Prel child : prel){ + for (Prel child : prel) { child = child.accept(this, null); children.add(convert(encodings, child)); } @@ -47,12 +47,13 @@ public class SelectionVectorPrelVisitor extends BasePrelVisitor<Prel, Void, Runt return (Prel) prel.copy(prel.getTraitSet(), children); } - private Prel convert(SelectionVectorMode[] encodings, Prel prel){ - for(SelectionVectorMode m : encodings){ - if(prel.getEncoding() == m) return prel; + private Prel convert(SelectionVectorMode[] encodings, Prel prel) { + for (SelectionVectorMode m : encodings) { + if (prel.getEncoding() == m) { + return prel; + } } return new SelectionVectorRemoverPrel(prel); } - } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/StarColumnConverter.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/StarColumnConverter.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/StarColumnConverter.java index ddc8cf6..159099d 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/StarColumnConverter.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/StarColumnConverter.java @@ -44,7 +44,7 @@ public class StarColumnConverter extends BasePrelVisitor<Prel, boolean[], Runtim private static final AtomicLong tableNumber = new AtomicLong(0); - public static Prel insertRenameProject(Prel root, RelDataType origRowType){ + public static Prel insertRenameProject(Prel root, RelDataType origRowType) { // Insert top project to do rename only when : 1) there is a join // 2) there is a SCAN with * column. We pass two boolean to keep track of // these two conditions. @@ -82,7 +82,7 @@ public class StarColumnConverter extends BasePrelVisitor<Prel, boolean[], Runtim @Override public Prel visitPrel(Prel prel, boolean [] renamedForStar) throws RuntimeException { List<RelNode> children = Lists.newArrayList(); - for(Prel child : prel){ + for (Prel child : prel) { child = child.accept(this, renamedForStar); children.add(child); } @@ -171,8 +171,9 @@ public class StarColumnConverter extends BasePrelVisitor<Prel, boolean[], Runtim if (uniqueNames.contains(s)) { for (int i = 0; ; i++ ) { s = s + i; - if (! origNames.contains(s) && ! uniqueNames.contains(s)) + if (! origNames.contains(s) && ! uniqueNames.contains(s)) { break; + } } } uniqueNames.add(s); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/ExpandingConcurrentMap.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/ExpandingConcurrentMap.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/ExpandingConcurrentMap.java index 9caa29b..44649b9 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/ExpandingConcurrentMap.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/ExpandingConcurrentMap.java @@ -56,10 +56,12 @@ public class ExpandingConcurrentMap<KEY, VALUE> implements ConcurrentMap<KEY, VA return internalMap.isEmpty(); } - public boolean alreadyContainsKey(Object k){ + public boolean alreadyContainsKey(Object k) { @SuppressWarnings("unchecked") KEY key = (KEY) k; - if(internalMap.containsKey(key)) return true; + if (internalMap.containsKey(key)) { + return true; + } return false; } @@ -67,7 +69,9 @@ public class ExpandingConcurrentMap<KEY, VALUE> implements ConcurrentMap<KEY, VA public boolean containsKey(Object k) { @SuppressWarnings("unchecked") KEY key = (KEY) k; - if(internalMap.containsKey(key)) return true; + if (internalMap.containsKey(key)) { + return true; + } VALUE v = getNewEntry(k); return v != null; } @@ -80,17 +84,23 @@ public class ExpandingConcurrentMap<KEY, VALUE> implements ConcurrentMap<KEY, VA @Override public VALUE get(Object key) { VALUE out = internalMap.get(key); - if(out != null) return out; + if (out != null) { + return out; + } return getNewEntry(key); } - private VALUE getNewEntry(Object k){ + private VALUE getNewEntry(Object k) { @SuppressWarnings("unchecked") KEY key = (KEY) k; VALUE v = this.fac.create(key); - if(v == null) return null; + if (v == null) { + return null; + } VALUE old = internalMap.putIfAbsent(key, v); - if(old == null) return v; + if (old == null) { + return v; + } fac.destroy(v); return old; } @@ -194,8 +204,10 @@ public class ExpandingConcurrentMap<KEY, VALUE> implements ConcurrentMap<KEY, VA @Override public boolean containsAll(Collection<?> c) { - for(Object o : c){ - if(this.contains(o)) return false; + for (Object o : c) { + if (this.contains(o)) { + return false; + } } return true; } @@ -227,4 +239,5 @@ public class ExpandingConcurrentMap<KEY, VALUE> implements ConcurrentMap<KEY, VA public VALUE create(KEY key); public void destroy(VALUE value); } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/AbstractSqlHandler.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/AbstractSqlHandler.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/AbstractSqlHandler.java index 8a52796..99f597c 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/AbstractSqlHandler.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/AbstractSqlHandler.java @@ -35,10 +35,10 @@ public abstract class AbstractSqlHandler { public abstract PhysicalPlan getPlan(SqlNode sqlNode) throws ValidationException, RelConversionException, IOException; - public static <T> T unwrap(Object o, Class<T> clazz) throws RelConversionException{ - if(clazz.isAssignableFrom(o.getClass())){ + public static <T> T unwrap(Object o, Class<T> clazz) throws RelConversionException { + if (clazz.isAssignableFrom(o.getClass())) { return (T) o; - }else{ + } else { throw new RelConversionException(String.format("Failure trying to treat %s as type %s.", o.getClass().getSimpleName(), clazz.getSimpleName())); } } @@ -47,12 +47,12 @@ public abstract class AbstractSqlHandler { * From a given SchemaPlus return a Drill schema object of type AbstractSchema if exists. * Otherwise throw errors. */ - public static AbstractSchema getDrillSchema(SchemaPlus schemaPlus) throws Exception{ + public static AbstractSchema getDrillSchema(SchemaPlus schemaPlus) throws Exception { AbstractSchema drillSchema; try { drillSchema = schemaPlus.unwrap(AbstractSchema.class); drillSchema = drillSchema.getDefaultSchema(); - } catch(ClassCastException e) { + } catch (ClassCastException e) { throw new Exception("Current schema is not a Drill schema. " + "Can't create new relations (tables or views) in non-Drill schemas.", e); } @@ -66,16 +66,19 @@ public abstract class AbstractSqlHandler { */ public static SchemaPlus findSchema(SchemaPlus rootSchema, SchemaPlus defaultSchema, List<String> schemaPath) throws Exception { - if (schemaPath.size() == 0) + if (schemaPath.size() == 0) { return defaultSchema; + } SchemaPlus schema; - if ((schema = searchSchemaTree(defaultSchema, schemaPath)) != null) + if ((schema = searchSchemaTree(defaultSchema, schemaPath)) != null) { return schema; + } - if ((schema = searchSchemaTree(rootSchema, schemaPath)) != null) + if ((schema = searchSchemaTree(rootSchema, schemaPath)) != null) { return schema; + } throw new Exception(String.format("Invalid schema path '%s'.", Joiner.on(".").join(schemaPath))); } @@ -93,4 +96,5 @@ public abstract class AbstractSqlHandler { } return schema; } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/CreateTableHandler.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/CreateTableHandler.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/CreateTableHandler.java index 66d4963..708951a 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/CreateTableHandler.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/CreateTableHandler.java @@ -63,15 +63,17 @@ public class CreateTableHandler extends DefaultSqlHandler { if (tblFiledNames.size() > 0) { // Field count should match. - if (tblFiledNames.size() != queryRowType.getFieldCount()) + if (tblFiledNames.size() != queryRowType.getFieldCount()) { return DirectPlan.createDirectPlan(context, false, "Table's field list and the table's query field list have different counts."); + } // CTAS's query field list shouldn't have "*" when table's field list is specified. - for(String field : queryRowType.getFieldNames()) { - if (field.equals("*")) + for (String field : queryRowType.getFieldNames()) { + if (field.equals("*")) { return DirectPlan.createDirectPlan(context, false, "Table's query field list has a '*', which is invalid when table's field list is specified."); + } } } @@ -90,9 +92,10 @@ public class CreateTableHandler extends DefaultSqlHandler { AbstractSchema drillSchema = getDrillSchema(schema); - if (!drillSchema.isMutable()) + if (!drillSchema.isMutable()) { return DirectPlan.createDirectPlan(context, false, String.format("Current schema '%s' is not a mutable schema. " + "Can't create tables in this schema.", drillSchema.getFullSchemaName())); + } String newTblName = sqlCreateTable.getName(); if (schema.getTable(newTblName) != null) { @@ -121,11 +124,13 @@ public class CreateTableHandler extends DefaultSqlHandler { RelNode convertedRelNode = planner.transform(DrillSqlWorker.LOGICAL_RULES, relNode.getTraitSet().plus(DrillRel.DRILL_LOGICAL), relNode); - if (convertedRelNode instanceof DrillStoreRel) + if (convertedRelNode instanceof DrillStoreRel) { throw new UnsupportedOperationException(); + } DrillWriterRel writerRel = new DrillWriterRel(convertedRelNode.getCluster(), convertedRelNode.getTraitSet(), convertedRelNode, schema.createNewTable(tableName)); return new DrillScreenRel(writerRel.getCluster(), writerRel.getTraitSet(), writerRel); } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/ExplainHandler.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/ExplainHandler.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/ExplainHandler.java index 25fa0cb..f324321 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/ExplainHandler.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/ExplainHandler.java @@ -41,7 +41,7 @@ import org.eigenbase.sql.SqlExplainLevel; import org.eigenbase.sql.SqlLiteral; import org.eigenbase.sql.SqlNode; -public class ExplainHandler extends DefaultSqlHandler{ +public class ExplainHandler extends DefaultSqlHandler { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ExplainHandler.class); private ResultMode mode; @@ -59,7 +59,7 @@ public class ExplainHandler extends DefaultSqlHandler{ DrillRel drel = convertToDrel(rel); log("Drill Logical", drel); - if(mode == ResultMode.LOGICAL){ + if (mode == ResultMode.LOGICAL) { LogicalExplain logicalResult = new LogicalExplain(drel, level, context); return DirectPlan.createDirectPlan(context, logicalResult); } @@ -78,8 +78,10 @@ public class ExplainHandler extends DefaultSqlHandler{ SqlExplain node = unwrap(sqlNode, SqlExplain.class); SqlLiteral op = node.operand(2); SqlExplain.Depth depth = (SqlExplain.Depth) op.getValue(); - if(node.getDetailLevel() != null) level = node.getDetailLevel(); - switch(depth){ + if (node.getDetailLevel() != null) { + level = node.getDetailLevel(); + } + switch (depth) { case LOGICAL: mode = ResultMode.LOGICAL; break; @@ -98,7 +100,7 @@ public class ExplainHandler extends DefaultSqlHandler{ public String text; public String json; - public LogicalExplain(RelNode node, SqlExplainLevel level, QueryContext context){ + public LogicalExplain(RelNode node, SqlExplainLevel level, QueryContext context) { this.text = RelOptUtil.toString(node, level); DrillImplementor implementor = new DrillImplementor(new DrillParseContext(), ResultMode.LOGICAL); implementor.go( (DrillRel) node); @@ -111,12 +113,10 @@ public class ExplainHandler extends DefaultSqlHandler{ public String text; public String json; - public PhysicalExplain(RelNode node, PhysicalPlan plan, SqlExplainLevel level, QueryContext context){ + public PhysicalExplain(RelNode node, PhysicalPlan plan, SqlExplainLevel level, QueryContext context) { this.text = PrelSequencer.printWithIds((Prel) node, level); this.json = plan.unparse(context.getConfig().getMapper().writer()); } } - - } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/UseSchemaHandler.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/UseSchemaHandler.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/UseSchemaHandler.java index 9b23e23..06ed28b 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/UseSchemaHandler.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/UseSchemaHandler.java @@ -28,7 +28,7 @@ import org.apache.drill.exec.planner.sql.DirectPlan; import org.apache.drill.exec.planner.sql.parser.SqlUseSchema; import org.eigenbase.sql.SqlNode; -public class UseSchemaHandler extends AbstractSqlHandler{ +public class UseSchemaHandler extends AbstractSqlHandler { QueryContext context; public UseSchemaHandler(QueryContext context) { @@ -43,8 +43,11 @@ public class UseSchemaHandler extends AbstractSqlHandler{ boolean status = context.getSession().setDefaultSchemaPath(defaultSchema, context.getRootSchema()); String msg; - if (status) msg = String.format("Default schema changed to '%s'", defaultSchema); - else msg = String.format("Failed to change default schema to '%s'", defaultSchema); + if (status) { + msg = String.format("Default schema changed to '%s'", defaultSchema); + } else { + msg = String.format("Failed to change default schema to '%s'", defaultSchema); + } return DirectPlan.createDirectPlan(context, status, msg); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/ViewHandler.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/ViewHandler.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/ViewHandler.java index ec5e2c9..8eca21e 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/ViewHandler.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/ViewHandler.java @@ -40,7 +40,7 @@ import org.eigenbase.sql.SqlNode; import com.google.common.collect.ImmutableList; -public abstract class ViewHandler extends AbstractSqlHandler{ +public abstract class ViewHandler extends AbstractSqlHandler { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ViewHandler.class); protected Planner planner; @@ -68,9 +68,10 @@ public abstract class ViewHandler extends AbstractSqlHandler{ AbstractSchema drillSchema = getDrillSchema(schema); String schemaPath = drillSchema.getFullSchemaName(); - if (!drillSchema.isMutable()) + if (!drillSchema.isMutable()) { return DirectPlan.createDirectPlan(context, false, String.format("Unable to create view. " + "Schema [%s] is immutable. ", schemaPath)); + } // find current workspace schema path List<String> workspaceSchemaPath = ImmutableList.of(); @@ -89,15 +90,17 @@ public abstract class ViewHandler extends AbstractSqlHandler{ List<String> viewFieldNames = createView.getFieldNames(); if (viewFieldNames.size() > 0) { // number of fields match. - if (viewFieldNames.size() != queryRowType.getFieldCount()) + if (viewFieldNames.size() != queryRowType.getFieldCount()) { return DirectPlan.createDirectPlan(context, false, "View's field list and View's query field list have different counts."); + } // make sure View's query field list has no "*" - for(String field : queryRowType.getFieldNames()) { - if (field.equals("*")) + for (String field : queryRowType.getFieldNames()) { + if (field.equals("*")) { return DirectPlan.createDirectPlan(context, false, "View's query field list has a '*', which is invalid when View's field list is specified."); + } } queryRowType = new DrillFixedRelDataTypeImpl(planner.getTypeFactory(), viewFieldNames); @@ -112,7 +115,7 @@ public abstract class ViewHandler extends AbstractSqlHandler{ return DirectPlan.createDirectPlan(context, false, "View with given name already exists in current schema"); } replaced = ((WorkspaceSchema) drillSchema).createView(view); - }else{ + } else { return DirectPlan.createDirectPlan(context, false, "Schema provided was not a workspace schema."); } @@ -142,13 +145,14 @@ public abstract class ViewHandler extends AbstractSqlHandler{ AbstractSchema drillSchema = getDrillSchema(schema); String schemaPath = drillSchema.getFullSchemaName(); - if (!drillSchema.isMutable()) + if (!drillSchema.isMutable()) { return DirectPlan.createDirectPlan(context, false, String.format("Schema '%s' is not a mutable schema. " + "Views don't exist in this schema", schemaPath)); + } if (drillSchema instanceof WorkspaceSchema) { ((WorkspaceSchema) drillSchema).dropView(dropView.getName());; - }else{ + } else { return DirectPlan.createDirectPlan(context, false, "Schema provided was not a workspace schema."); } @@ -160,4 +164,5 @@ public abstract class ViewHandler extends AbstractSqlHandler{ } } } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/DrillParserUtil.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/DrillParserUtil.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/DrillParserUtil.java index b3fec9d..cba5a18 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/DrillParserUtil.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/DrillParserUtil.java @@ -37,8 +37,9 @@ public class DrillParserUtil { public static SqlNode createCondition(SqlNode left, SqlOperator op, SqlNode right) { // if one of the operands is null, return the other - if (left == null || right == null) + if (left == null || right == null) { return left != null ? left : right; + } List<Object> listCondition = Lists.newArrayList(); listCondition.add(left); @@ -47,4 +48,5 @@ public class DrillParserUtil { return SqlParserUtil.toTree(listCondition); } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlCreateTable.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlCreateTable.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlCreateTable.java index c4180a9..10db4c4 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlCreateTable.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlCreateTable.java @@ -39,7 +39,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; public class SqlCreateTable extends DrillSqlCall { - public static final SqlSpecialOperator OPERATOR = new SqlSpecialOperator("CREATE_TABLE", SqlKind.OTHER){ + public static final SqlSpecialOperator OPERATOR = new SqlSpecialOperator("CREATE_TABLE", SqlKind.OTHER) { @Override public SqlCall createCall(SqlLiteral functionQualifier, SqlParserPos pos, SqlNode... operands) { return new SqlCreateTable(pos, (SqlIdentifier) operands[0], (SqlNodeList) operands[1], operands[2]); @@ -79,7 +79,7 @@ public class SqlCreateTable extends DrillSqlCall { if (fieldList != null && fieldList.size() > 0) { writer.keyword("("); fieldList.get(0).unparse(writer, leftPrec, rightPrec); - for(int i=1; i<fieldList.size(); i++) { + for (int i=1; i<fieldList.size(); i++) { writer.keyword(","); fieldList.get(i).unparse(writer, leftPrec, rightPrec); } @@ -103,14 +103,17 @@ public class SqlCreateTable extends DrillSqlCall { } public String getName() { - if (tblName.isSimple()) + if (tblName.isSimple()) { return tblName.getSimple(); + } return tblName.names.get(tblName.names.size() - 1); } public List<String> getFieldNames() { - if (fieldList == null) return ImmutableList.of(); + if (fieldList == null) { + return ImmutableList.of(); + } List<String> columnNames = Lists.newArrayList(); for(SqlNode node : fieldList.getList()) { http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlCreateView.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlCreateView.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlCreateView.java index ee96801..ccd08e1 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlCreateView.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlCreateView.java @@ -39,7 +39,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; public class SqlCreateView extends DrillSqlCall { - public static final SqlSpecialOperator OPERATOR = new SqlSpecialOperator("CREATE_VIEW", SqlKind.OTHER){ + public static final SqlSpecialOperator OPERATOR = new SqlSpecialOperator("CREATE_VIEW", SqlKind.OTHER) { @Override public SqlCall createCall(SqlLiteral functionQualifier, SqlParserPos pos, SqlNode... operands) { return new SqlCreateView(pos, (SqlIdentifier) operands[0], (SqlNodeList) operands[1], operands[2], (SqlLiteral) operands[3]); @@ -92,7 +92,7 @@ public class SqlCreateView extends DrillSqlCall { if (fieldList != null && fieldList.size() > 0) { writer.keyword("("); fieldList.get(0).unparse(writer, leftPrec, rightPrec); - for(int i=1; i<fieldList.size(); i++) { + for (int i=1; i<fieldList.size(); i++) { writer.keyword(","); fieldList.get(i).unparse(writer, leftPrec, rightPrec); } @@ -116,17 +116,20 @@ public class SqlCreateView extends DrillSqlCall { } public String getName() { - if (viewName.isSimple()) + if (viewName.isSimple()) { return viewName.getSimple(); + } return viewName.names.get(viewName.names.size() - 1); } public List<String> getFieldNames() { - if (fieldList == null) return ImmutableList.of(); + if (fieldList == null) { + return ImmutableList.of(); + } List<String> fieldNames = Lists.newArrayList(); - for(SqlNode node : fieldList.getList()) { + for (SqlNode node : fieldList.getList()) { fieldNames.add(node.toString()); } return fieldNames; @@ -134,4 +137,5 @@ public class SqlCreateView extends DrillSqlCall { public SqlNode getQuery() { return query; } public boolean getReplace() { return replaceView; } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlDescribeTable.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlDescribeTable.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlDescribeTable.java index e1cda4f..29275d7 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlDescribeTable.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlDescribeTable.java @@ -47,7 +47,7 @@ public class SqlDescribeTable extends DrillSqlCall { private final SqlNode columnQualifier; public static final SqlSpecialOperator OPERATOR = - new SqlSpecialOperator("DESCRIBE_TABLE", SqlKind.OTHER){ + new SqlSpecialOperator("DESCRIBE_TABLE", SqlKind.OTHER) { @Override public SqlCall createCall(SqlLiteral functionQualifier, SqlParserPos pos, SqlNode... operands) { return new SqlDescribeTable(pos, (SqlIdentifier) operands[0], (SqlIdentifier) operands[1], operands[2]); @@ -80,8 +80,12 @@ public class SqlDescribeTable extends DrillSqlCall { writer.keyword("DESCRIBE"); writer.keyword("TABLE"); table.unparse(writer, leftPrec, rightPrec); - if (column != null) column.unparse(writer, leftPrec, rightPrec); - if (columnQualifier != null) columnQualifier.unparse(writer, leftPrec, rightPrec); + if (column != null) { + column.unparse(writer, leftPrec, rightPrec); + } + if (columnQualifier != null) { + columnQualifier.unparse(writer, leftPrec, rightPrec); + } } @Override @@ -92,4 +96,5 @@ public class SqlDescribeTable extends DrillSqlCall { public SqlIdentifier getTable() { return table; } public SqlIdentifier getColumn() { return column; } public SqlNode getColumnQualifier() { return columnQualifier; } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlDropView.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlDropView.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlDropView.java index 9b9e785..33b71b7 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlDropView.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlDropView.java @@ -38,7 +38,7 @@ import org.eigenbase.sql.parser.SqlParserPos; import com.google.common.collect.ImmutableList; public class SqlDropView extends DrillSqlCall { - public static final SqlSpecialOperator OPERATOR = new SqlSpecialOperator("DROP_VIEW", SqlKind.OTHER){ + public static final SqlSpecialOperator OPERATOR = new SqlSpecialOperator("DROP_VIEW", SqlKind.OTHER) { @Override public SqlCall createCall(SqlLiteral functionQualifier, SqlParserPos pos, SqlNode... operands) { return new SqlDropView(pos, (SqlIdentifier) operands[0]); @@ -83,9 +83,11 @@ public class SqlDropView extends DrillSqlCall { } public String getName() { - if (viewName.isSimple()) + if (viewName.isSimple()) { return viewName.getSimple(); + } return viewName.names.get(viewName.names.size() - 1); } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowFiles.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowFiles.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowFiles.java index 50bbca3..8779969 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowFiles.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowFiles.java @@ -44,7 +44,7 @@ public class SqlShowFiles extends DrillSqlCall { private final SqlIdentifier db; public static final SqlSpecialOperator OPERATOR = - new SqlSpecialOperator("SHOW_FILES", SqlKind.OTHER){ + new SqlSpecialOperator("SHOW_FILES", SqlKind.OTHER) { @Override public SqlCall createCall(SqlLiteral functionQualifier, SqlParserPos pos, SqlNode... operands) { return new SqlShowFiles(pos, (SqlIdentifier) operands[0]); @@ -70,12 +70,16 @@ public class SqlShowFiles extends DrillSqlCall { public void unparse(SqlWriter writer, int leftPrec, int rightPrec) { writer.keyword("SHOW"); writer.keyword("FILES"); - if (db != null) db.unparse(writer, leftPrec, rightPrec); + if (db != null) { + db.unparse(writer, leftPrec, rightPrec); + } } @Override public AbstractSqlHandler getSqlHandler(Planner planner, QueryContext context) { return new ShowFileHandler(planner, context); } + public SqlIdentifier getDb() { return db; } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowSchemas.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowSchemas.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowSchemas.java index 7ccc917..9b42295 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowSchemas.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowSchemas.java @@ -45,7 +45,7 @@ public class SqlShowSchemas extends DrillSqlCall { private final SqlNode whereClause; public static final SqlSpecialOperator OPERATOR = - new SqlSpecialOperator("SHOW_SCHEMAS", SqlKind.OTHER){ + new SqlSpecialOperator("SHOW_SCHEMAS", SqlKind.OTHER) { @Override public SqlCall createCall(SqlLiteral functionQualifier, SqlParserPos pos, SqlNode... operands) { return new SqlShowSchemas(pos, operands[0], operands[1]); @@ -79,7 +79,9 @@ public class SqlShowSchemas extends DrillSqlCall { writer.keyword("LIKE"); likePattern.unparse(writer, leftPrec, rightPrec); } - if (whereClause != null) whereClause.unparse(writer, leftPrec, rightPrec); + if (whereClause != null) { + whereClause.unparse(writer, leftPrec, rightPrec); + } } @Override @@ -89,4 +91,5 @@ public class SqlShowSchemas extends DrillSqlCall { public SqlNode getLikePattern() { return likePattern; } public SqlNode getWhereClause() { return whereClause; } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowTables.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowTables.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowTables.java index 15adb60..33d20aa 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowTables.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/SqlShowTables.java @@ -47,7 +47,7 @@ public class SqlShowTables extends DrillSqlCall { private final SqlNode whereClause; public static final SqlSpecialOperator OPERATOR = - new SqlSpecialOperator("SHOW_TABLES", SqlKind.OTHER){ + new SqlSpecialOperator("SHOW_TABLES", SqlKind.OTHER) { @Override public SqlCall createCall(SqlLiteral functionQualifier, SqlParserPos pos, SqlNode... operands) { return new SqlShowTables(pos, (SqlIdentifier) operands[0], operands[1], operands[2]); @@ -79,12 +79,16 @@ public class SqlShowTables extends DrillSqlCall { public void unparse(SqlWriter writer, int leftPrec, int rightPrec) { writer.keyword("SHOW"); writer.keyword("TABLES"); - if (db != null) db.unparse(writer, leftPrec, rightPrec); + if (db != null) { + db.unparse(writer, leftPrec, rightPrec); + } if (likePattern != null) { writer.keyword("LIKE"); likePattern.unparse(writer, leftPrec, rightPrec); } - if (whereClause != null) whereClause.unparse(writer, leftPrec, rightPrec); + if (whereClause != null) { + whereClause.unparse(writer, leftPrec, rightPrec); + } } @Override @@ -95,4 +99,5 @@ public class SqlShowTables extends DrillSqlCall { public SqlIdentifier getDb() { return db; } public SqlNode getLikePattern() { return likePattern; } public SqlNode getWhereClause() { return whereClause; } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/DrillFixedRelDataTypeImpl.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/DrillFixedRelDataTypeImpl.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/DrillFixedRelDataTypeImpl.java index 8df342e..d88f883 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/DrillFixedRelDataTypeImpl.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/DrillFixedRelDataTypeImpl.java @@ -41,8 +41,9 @@ public class DrillFixedRelDataTypeImpl extends RelDataTypeImpl { this.typeFactory = typeFactory; // Add the initial list of columns. - for (String column : columnNames) + for (String column : columnNames) { addField(column); + } computeDigest(); } @@ -76,7 +77,7 @@ public class DrillFixedRelDataTypeImpl extends RelDataTypeImpl { @Override public List<String> getFieldNames() { List<String> fieldNames = Lists.newArrayList(); - for(RelDataTypeField f : fields){ + for (RelDataTypeField f : fields) { fieldNames.add(f.getName()); } @@ -102,4 +103,5 @@ public class DrillFixedRelDataTypeImpl extends RelDataTypeImpl { public boolean isStruct() { return true; } -} \ No newline at end of file + +} http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeDrillImpl.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeDrillImpl.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeDrillImpl.java index ce67cb2..eae3510 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeDrillImpl.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeDrillImpl.java @@ -92,19 +92,24 @@ public class RelDataTypeDrillImpl extends RelDataTypeImpl { @Override public boolean equals(Object obj) { - if (this == obj) + if (this == obj) { return true; - if (!super.equals(obj)) + } + if (!super.equals(obj)) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; + } RelDataTypeDrillImpl other = (RelDataTypeDrillImpl) obj; if (holder == null) { - if (other.holder != null) + if (other.holder != null) { return false; - } else if (!holder.equals(other.holder)) + } + } else if (!holder.equals(other.holder)) { return false; + } return true; } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/676f5df6/exec/java-exec/src/main/java/org/apache/drill/exec/record/AbstractSingleRecordBatch.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/record/AbstractSingleRecordBatch.java b/exec/java-exec/src/main/java/org/apache/drill/exec/record/AbstractSingleRecordBatch.java index 9054e3f..0adc09e 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/record/AbstractSingleRecordBatch.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/record/AbstractSingleRecordBatch.java @@ -49,8 +49,10 @@ public abstract class AbstractSingleRecordBatch<T extends PhysicalOperator> exte } } while ((upstream = next(incoming)) == IterOutcome.OK && incoming.getRecordCount() == 0); } - if(first && upstream == IterOutcome.OK) upstream = IterOutcome.OK_NEW_SCHEMA; - switch(upstream){ + if (first && upstream == IterOutcome.OK) { + upstream = IterOutcome.OK_NEW_SCHEMA; + } + switch (upstream) { case NONE: assert !first; case NOT_YET: @@ -60,15 +62,15 @@ public abstract class AbstractSingleRecordBatch<T extends PhysicalOperator> exte return upstream; case OK_NEW_SCHEMA: first = false; - try{ + try { stats.startSetup(); setupNewSchema(); - }catch(SchemaChangeException ex){ + } catch (SchemaChangeException ex) { kill(false); logger.error("Failure during query", ex); context.fail(ex); return IterOutcome.STOP; - }finally{ + } finally { stats.stopSetup(); } // fall through. @@ -99,4 +101,5 @@ public abstract class AbstractSingleRecordBatch<T extends PhysicalOperator> exte protected abstract void setupNewSchema() throws SchemaChangeException; protected abstract void doWork(); + }
