package com.chenyang.druid.sql.dialect.sqlserver.visitor;

import com.chenyang.druid.sql.dialect.sqlserver.ast.SQLServerOutput;
import com.chenyang.druid.sql.dialect.sqlserver.ast.SQLServerSelectQueryBlock;
import com.chenyang.druid.sql.dialect.sqlserver.ast.SQLServerTop;
import com.chenyang.druid.sql.dialect.sqlserver.ast.clause.SQLServerOver;
import com.chenyang.druid.sql.dialect.sqlserver.ast.expr.SQLServerCurrentOfCursorExpr;
import com.chenyang.druid.sql.dialect.sqlserver.ast.expr.SQLServerDateTimeExpr;
import com.chenyang.druid.sql.dialect.sqlserver.ast.expr.SQLServerObjectReferenceExpr;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerDeleteStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerExecStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerInsertStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerMergeStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerRollbackStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerSelectPivot;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerSelectSubqueryTableSource;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerSelectTableReference;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerSelectUnPivot;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerSetTransactionIsolationLevelStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerUnionQueryTableSource;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerUpdateSetItem;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerUpdateStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerValuesTableSource;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerWaitForStatement;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public interface SQLServerASTVisitor extends SQLASTVisitor {
   boolean visit(SQLServerSelectQueryBlock var1);

   void endVisit(SQLServerSelectQueryBlock var1);

   boolean visit(SQLServerTop var1);

   void endVisit(SQLServerTop var1);

   boolean visit(SQLServerObjectReferenceExpr var1);

   void endVisit(SQLServerObjectReferenceExpr var1);

   boolean visit(SQLServerInsertStatement var1);

   void endVisit(SQLServerInsertStatement var1);

   boolean visit(SQLServerUpdateStatement var1);

   void endVisit(SQLServerUpdateStatement var1);

   boolean visit(SQLServerExecStatement var1);

   void endVisit(SQLServerExecStatement var1);

   boolean visit(SQLServerSetTransactionIsolationLevelStatement var1);

   void endVisit(SQLServerSetTransactionIsolationLevelStatement var1);

   boolean visit(SQLServerOutput var1);

   void endVisit(SQLServerOutput var1);

   boolean visit(SQLServerRollbackStatement var1);

   void endVisit(SQLServerRollbackStatement var1);

   boolean visit(SQLServerWaitForStatement var1);

   void endVisit(SQLServerWaitForStatement var1);

   boolean visit(SQLServerExecStatement.SQLServerParameter var1);

   void endVisit(SQLServerExecStatement.SQLServerParameter var1);

   boolean visit(SQLServerUpdateSetItem var1);

   void endVisit(SQLServerUpdateSetItem var1);

   boolean visit(SQLServerDeleteStatement var1);

   void endVisit(SQLServerDeleteStatement var1);

   boolean visit(SQLServerDateTimeExpr var1);

   void endVisit(SQLServerDateTimeExpr var1);

   boolean visit(SQLServerOver var1);

   void endVisit(SQLServerOver var1);

   boolean visit(SQLServerSelectPivot var1);

   void endVisit(SQLServerSelectPivot var1);

   boolean visit(SQLServerSelectUnPivot var1);

   void endVisit(SQLServerSelectUnPivot var1);

   boolean visit(SQLServerSelectPivot.Item var1);

   void endVisit(SQLServerSelectPivot.Item var1);

   boolean visit(SQLServerSelectSubqueryTableSource var1);

   void endVisit(SQLServerSelectSubqueryTableSource var1);

   boolean visit(SQLServerValuesTableSource var1);

   void endVisit(SQLServerValuesTableSource var1);

   boolean visit(SQLServerUnionQueryTableSource var1);

   void endVisit(SQLServerUnionQueryTableSource var1);

   boolean visit(SQLServerSelectTableReference var1);

   void endVisit(SQLServerSelectTableReference var1);

   boolean visit(SQLServerCurrentOfCursorExpr var1);

   void endVisit(SQLServerCurrentOfCursorExpr var1);

   boolean visit(SQLServerMergeStatement.MergeDeleteClause var1);

   void endVisit(SQLServerMergeStatement.MergeDeleteClause var1);

   boolean visit(SQLServerMergeStatement var1);

   void endVisit(SQLServerMergeStatement var1);

   boolean visit(SQLServerMergeStatement.SQLServerMergeInsertClause var1);

   void endVisit(SQLServerMergeStatement.SQLServerMergeInsertClause var1);

   boolean visit(SQLServerMergeStatement.SQLServerMergeUpdateClause var1);

   void endVisit(SQLServerMergeStatement.SQLServerMergeUpdateClause var1);
}
