Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.facebook.presto.sql.planner.plan;
 
 
 
 import java.util.List;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
 public class IndexJoinNode
         extends PlanNode
 {
     private final Type type;
     private final PlanNode probeSource;
     private final PlanNode indexSource;
     private final List<EquiJoinClausecriteria;
     private final Optional<SymbolprobeHashSymbol;
     private final Optional<SymbolindexHashSymbol;
 
     @JsonCreator
     public IndexJoinNode(
             @JsonProperty("id"PlanNodeId id,
             @JsonProperty("type"Type type,
             @JsonProperty("probeSource"PlanNode probeSource,
             @JsonProperty("indexSource"PlanNode indexSource,
             @JsonProperty("criteria"List<EquiJoinClausecriteria,
             @JsonProperty("probeHashSymbol"Optional<SymbolprobeHashSymbol,
             @JsonProperty("indexHashSymbol"Optional<SymbolindexHashSymbol)
     {
         super(id);
         this. = checkNotNull(type"type is null");
         this. = checkNotNull(probeSource"probeSource is null");
         this. = checkNotNull(indexSource"indexSource is null");
         this. = ImmutableList.copyOf(checkNotNull(criteria"criteria is null"));
         this. = checkNotNull(probeHashSymbol"probeHashSymbol is null");
         this. = checkNotNull(indexHashSymbol"indexHashSymbol is null");
     }
 
     public enum Type
     {
         INNER("Inner"),
         SOURCE_OUTER("SourceOuter");
 
         private final String joinLabel;
 
         private Type(String joinLabel)
         {
             this. = joinLabel;
         }
 
         public String getJoinLabel()
         {
             return ;
         }
     }
 
     @JsonProperty("type")
     public Type getType()
     {
         return ;
     }
 
     @JsonProperty("probeSource")
     public PlanNode getProbeSource()
     {
         return ;
     }
 
     @JsonProperty("indexSource")
     public PlanNode getIndexSource()
     {
         return ;
     }
 
     @JsonProperty("criteria")
     public List<EquiJoinClausegetCriteria()
     {
         return ;
     }
 
    @JsonProperty("probeHashSymbol")
    {
        return ;
    }
    @JsonProperty("indexHashSymbol")
    {
        return ;
    }
    @Override
    public List<PlanNodegetSources()
    {
        return ImmutableList.of();
    }
    @Override
    public List<SymbolgetOutputSymbols()
    {
        return ImmutableList.<Symbol>builder()
                .addAll(.getOutputSymbols())
                .addAll(.getOutputSymbols())
                .build();
    }
    @Override
    public <C, R> R accept(PlanVisitor<C, R> visitor, C context)
    {
        return visitor.visitIndexJoin(thiscontext);
    }
    public static class EquiJoinClause
    {
        private final Symbol probe;
        private final Symbol index;
        @JsonCreator
        public EquiJoinClause(@JsonProperty("probe"Symbol probe, @JsonProperty("index"Symbol index)
        {
            this. = checkNotNull(probe"probe is null");
            this. = checkNotNull(index"index is null");
        }
        @JsonProperty("probe")
        public Symbol getProbe()
        {
            return ;
        }
        @JsonProperty("index")
        public Symbol getIndex()
        {
            return ;
        }
    }
New to GrepCode? Check out our FAQ X