public void visit()

in bigquery-antipattern-recognition/src/main/java/com/google/zetasql/toolkit/antipattern/parser/visitors/whereorder/CheckAndInWhereVisitor.java [42:60]


  public void visit(ASTNodes.ASTAndExpr andExprNode) {
    Iterator<ASTExpression> andNodeExprIterator = andExprNode.getConjuncts().iterator();

    List<Op> whereOpTypeList = new ArrayList<>();

    while(andNodeExprIterator.hasNext()) {
      ASTExpression astExpression = andNodeExprIterator.next();
      if(astExpression instanceof ASTNodes.ASTBinaryExpression) {
        Op op = ((ASTNodes.ASTBinaryExpression) astExpression).getOp();
        if(OPCODE_COSTS.get(op)!=null){
          whereOpTypeList.add(op);
        }
      }
    }
    if(!Ordering.from(COMPARATOR).isOrdered(whereOpTypeList)) {
      hasSuboptimalOrder = true;
    }

  }