private List<OperatorDescriptorDual> createFullOuterJoinDescriptors(JoinHint hint) { List<OperatorDescriptorDual> list = new ArrayList<>(); switch (hint) { case OPTIMIZER_CHOOSES: list.add(new SortMergeFullOuterJoinDescriptor(this.keys1, this.keys2)); break; case REPARTITION_SORT_MERGE: list.add(new SortMergeFullOuterJoinDescriptor(this.keys1, this.keys2)); break; case REPARTITION_HASH_FIRST: list.add(new HashFullOuterJoinBuildFirstDescriptor(this.keys1, this.keys2)); break; case REPARTITION_HASH_SECOND: list.add(new HashFullOuterJoinBuildSecondDescriptor(this.keys1, this.keys2)); break; case BROADCAST_HASH_FIRST: case BROADCAST_HASH_SECOND: default: throw new CompilerException("Invalid join hint: " + hint + " for full outer join"); } return list; }
private List<OperatorDescriptorDual> createFullOuterJoinDescriptors(JoinHint hint) { List<OperatorDescriptorDual> list = new ArrayList<>(); switch (hint) { case OPTIMIZER_CHOOSES: list.add(new SortMergeFullOuterJoinDescriptor(this.keys1, this.keys2)); break; case REPARTITION_SORT_MERGE: list.add(new SortMergeFullOuterJoinDescriptor(this.keys1, this.keys2)); break; case REPARTITION_HASH_FIRST: list.add(new HashFullOuterJoinBuildFirstDescriptor(this.keys1, this.keys2)); break; case REPARTITION_HASH_SECOND: list.add(new HashFullOuterJoinBuildSecondDescriptor(this.keys1, this.keys2)); break; case BROADCAST_HASH_FIRST: case BROADCAST_HASH_SECOND: default: throw new CompilerException("Invalid join hint: " + hint + " for full outer join"); } return list; }
private List<OperatorDescriptorDual> createFullOuterJoinDescriptors(JoinHint hint) { List<OperatorDescriptorDual> list = new ArrayList<>(); switch (hint) { case OPTIMIZER_CHOOSES: list.add(new SortMergeFullOuterJoinDescriptor(this.keys1, this.keys2)); break; case REPARTITION_SORT_MERGE: list.add(new SortMergeFullOuterJoinDescriptor(this.keys1, this.keys2)); break; case REPARTITION_HASH_FIRST: list.add(new HashFullOuterJoinBuildFirstDescriptor(this.keys1, this.keys2)); break; case REPARTITION_HASH_SECOND: list.add(new HashFullOuterJoinBuildSecondDescriptor(this.keys1, this.keys2)); break; case BROADCAST_HASH_FIRST: case BROADCAST_HASH_SECOND: default: throw new CompilerException("Invalid join hint: " + hint + " for full outer join"); } return list; }
private List<OperatorDescriptorDual> createFullOuterJoinDescriptors(JoinHint hint) { List<OperatorDescriptorDual> list = new ArrayList<>(); switch (hint) { case OPTIMIZER_CHOOSES: list.add(new SortMergeFullOuterJoinDescriptor(this.keys1, this.keys2)); break; case REPARTITION_SORT_MERGE: list.add(new SortMergeFullOuterJoinDescriptor(this.keys1, this.keys2)); break; case REPARTITION_HASH_FIRST: list.add(new HashFullOuterJoinBuildFirstDescriptor(this.keys1, this.keys2)); break; case REPARTITION_HASH_SECOND: list.add(new HashFullOuterJoinBuildSecondDescriptor(this.keys1, this.keys2)); break; case BROADCAST_HASH_FIRST: case BROADCAST_HASH_SECOND: default: throw new CompilerException("Invalid join hint: " + hint + " for full outer join"); } return list; }
private List<OperatorDescriptorDual> createFullOuterJoinDescriptors(JoinHint hint) { List<OperatorDescriptorDual> list = new ArrayList<>(); switch (hint) { case OPTIMIZER_CHOOSES: list.add(new SortMergeFullOuterJoinDescriptor(this.keys1, this.keys2)); break; case REPARTITION_SORT_MERGE: list.add(new SortMergeFullOuterJoinDescriptor(this.keys1, this.keys2)); break; case REPARTITION_HASH_FIRST: list.add(new HashFullOuterJoinBuildFirstDescriptor(this.keys1, this.keys2)); break; case REPARTITION_HASH_SECOND: list.add(new HashFullOuterJoinBuildSecondDescriptor(this.keys1, this.keys2)); break; case BROADCAST_HASH_FIRST: case BROADCAST_HASH_SECOND: default: throw new CompilerException("Invalid join hint: " + hint + " for full outer join"); } return list; }