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.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
 
 public class SampleNode
         extends PlanNode
 {
     private final PlanNode source;
     private final double sampleRatio;
     private final Type sampleType;
     private final boolean rescaled;
     private final Optional<SymbolsampleWeightSymbol;
 
     public enum Type
     {
         BERNOULLI,
         POISSONIZED,
         SYSTEM;
 
         public static Type fromType(SampledRelation.Type sampleType)
         {
             switch (sampleType) {
                 case :
                     return .;
                 case :
                     return .;
                 case :
                     return .;
                 default:
                     throw new UnsupportedOperationException("Unsupported sample type: " + sampleType);
             }
         }
     }
 
     @JsonCreator
     public SampleNode(
             @JsonProperty("id"PlanNodeId id,
             @JsonProperty("source"PlanNode source,
             @JsonProperty("sampleRatio"double sampleRatio,
             @JsonProperty("sampleType"Type sampleType,
             @JsonProperty("rescaled"boolean rescaled,
             @JsonProperty("sampleWeightSymbol"Optional<SymbolsampleWeightSymbol)
     {
         super(id);
 
         checkArgument(sampleRatio >= 0.0, "sample ratio must be greater than or equal to 0");
         checkArgument((sampleRatio <= 1.0) || (sampleType == .), "sample ratio must be less than or equal to 1");
 
         this. = checkNotNull(sampleType"sample type is null");
         this. = checkNotNull(source"source is null");
         this. = checkNotNull(sampleRatio"sample ratio is null");
         this. = rescaled;
         checkArgument(!rescaled || sampleType == .);
         this. = checkNotNull(sampleWeightSymbol"sample weight symbol is null");
         checkArgument(sampleWeightSymbol.isPresent() == (sampleType == .), "sample weight symbol must be used with POISSONIZED sampling");
     }
 
     @Override
     public List<PlanNodegetSources()
     {
         return ImmutableList.of();
     }
 
     @JsonProperty
     public boolean isRescaled()
     {
         return ;
     }
 
     @JsonProperty
     {
         return ;
    }
    public PlanNode getSource()
    {
        return ;
    }
    public double getSampleRatio()
    {
        return ;
    }
    public Type getSampleType()
    {
        return ;
    }
    @Override
    public List<SymbolgetOutputSymbols()
    {
        if (.isPresent()) {
            return ImmutableList.<Symbol>builder().addAll(.getOutputSymbols()).add(.get()).build();
        }
        else {
            return .getOutputSymbols();
        }
    }
    @Override
    public <C, R> R accept(PlanVisitor<C, R> visitor, C context)
    {
        return visitor.visitSample(thiscontext);
    }
New to GrepCode? Check out our FAQ X