private boolean isNullable(String colName, NotNullConstraint notNullConstraints, PrimaryKeyInfo primaryKeyInfo) {
      if (notNullConstraints != null && notNullConstraints.getNotNullConstraints().containsValue(colName)) {
        return false;
      }

      if (primaryKeyInfo != null && primaryKeyInfo.getColNames().containsValue(colName)) {
        return false;
      }

      return true;
    }
Generate Join Logical Plan Relnode by walking through the join AST.

@param aliasToRel
         Alias(Table/Relation alias) to RelNode; only read and not
         written in to by this method
@return
@throws SemanticException
ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java