Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you 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 org.apache.pig.newplan.logical.visitor;
 
 import java.util.Set;
 
 
 
     public SchemaAliasVisitor(OperatorPlan planthrows FrontendException {
         super(plannew DependencyOrderWalker(plan));
     }

    
The logic here is to check if we have duplicate alias in each schema

 
     protected void validate(LogicalRelationalOperator opthrows FrontendException {
         LogicalSchema schema = op.getSchema();
 
         Set<StringseenAliases = new HashSet<String>();
         ifschema != null){
             forint i = 0; i < schema.size(); i++){
                 ifschema.getField(i) != null &&
                         schema.getField(i). != null
                 ){
                     String alias = schema.getField(i).;
                     if(seenAliases.contains(alias)){
                         int errCode = 1108;
                         String msg = "Duplicate schema alias: " + schema.getFieldi ).;
                         ifop.getAlias() != null )
                             msg = msg + " in \"" + op.getAlias() + "\"";
                         throw new PlanValidationExceptionopmsgerrCode. );
                     }
                     seenAliases.add(alias);
                 }
             }
         }
     }
 
     @Override
     public void visit(LOStore storethrows FrontendException {
         validatestore );
     }
 
     @Override
     public void visit(LOFilter filterthrows FrontendException {
         validatefilter );
     }
 
     @Override
     public void visit(LOJoin jointhrows FrontendException {
         validatejoin );
     }
 
     @Override
     public void visit(LOForEach foreachthrows FrontendException {
        new SchemaAliasVisitorforeach.getInnerPlan() ).visit();
    }
    @Override
    public void visit(LOGenerate genthrows FrontendException {
        validategen );
    }
    @Override
    public void visit(LOInnerLoad loadthrows FrontendException {
        validateload );
    }
    @Override
    public void visit(LOCogroup groupthrows FrontendException {
        validategroup );
    }
    @Override
    public void visit(LOSplit splitthrows FrontendException {
        validatesplit );
    }
    @Override
    public void visit(LOSplitOutput splitOutputthrows FrontendException {
        validatesplitOutput );
    }
    @Override
    public void visit(LOUnion unionthrows FrontendException {
        validateunion );
    }
    @Override
    public void visit(LOSort sortthrows FrontendException {
        validatesort );
    }
    @Override
    public void visit(LORank rankthrows FrontendException {
        validaterank );
    }
    @Override
    public void visit(LODistinct distinctthrows FrontendException {
        validatedistinct );
    }
    @Override
    public void visit(LOLimit limitthrows FrontendException {
        validatelimit );
    }
    @Override
    public void visit(LOCross crossthrows FrontendException {
        validatecross );
    }
    @Override
    public void visit(LOStream streamthrows FrontendException {
        validatestream );
    }
    @Override
    public void visit(LONative nativeMRthrows FrontendException {
        validatenativeMR );
    }
New to GrepCode? Check out our FAQ X