package com.alibaba.druid.sql.dialect.hive.visitor;

import com.alibaba.druid.sql.dialect.hive.ast.HiveGrantPrinciple;
import com.alibaba.druid.sql.dialect.hive.ast.HiveInsert;
import com.alibaba.druid.sql.dialect.hive.ast.HiveMultiInsertStatement;
import com.alibaba.druid.sql.dialect.hive.ast.stmt.HiveAlterDatabaseStatement;
import com.alibaba.druid.sql.dialect.hive.ast.stmt.HiveCreateFunctionStatement;
import com.alibaba.druid.sql.dialect.hive.ast.stmt.HiveInsertStatement;
import com.alibaba.druid.sql.dialect.hive.ast.stmt.HiveLoadDataStatement;
import com.alibaba.druid.sql.dialect.hive.ast.stmt.HiveMsckRepairStatement;
import com.alibaba.druid.sql.dialect.hive.ast.stmt.HiveSelectQueryBlock;
import com.alibaba.druid.sql.dialect.hive.ast.stmt.HiveShowStatement;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;

public interface HiveASTVisitor extends SQLASTVisitor {
   boolean visit(HiveInsert var1);

   void endVisit(HiveInsert var1);

   boolean visit(HiveMultiInsertStatement var1);

   void endVisit(HiveMultiInsertStatement var1);

   boolean visit(HiveInsertStatement var1);

   void endVisit(HiveInsertStatement var1);

   boolean visit(HiveCreateFunctionStatement var1);

   void endVisit(HiveCreateFunctionStatement var1);

   boolean visit(HiveLoadDataStatement var1);

   void endVisit(HiveLoadDataStatement var1);

   boolean visit(HiveMsckRepairStatement var1);

   void endVisit(HiveMsckRepairStatement var1);

   boolean visit(HiveGrantPrinciple var1);

   void endVisit(HiveGrantPrinciple var1);

   boolean visit(HiveShowStatement var1);

   void endVisit(HiveShowStatement var1);

   boolean visit(HiveAlterDatabaseStatement var1);

   void endVisit(HiveAlterDatabaseStatement var1);

   boolean visit(HiveSelectQueryBlock var1);

   void endVisit(HiveSelectQueryBlock var1);
}
