package com.alibaba.druid.bvt.sql.mysql;

import com.alibaba.druid.sql.ast.SQLLimit;
import com.alibaba.druid.sql.ast.expr.SQLBinaryExpr;
import com.alibaba.druid.sql.ast.expr.SQLBooleanExpr;
import com.alibaba.druid.sql.ast.expr.SQLIntervalExpr;
import com.alibaba.druid.sql.ast.statement.*;
import com.alibaba.druid.sql.dialect.mysql.ast.*;
import com.alibaba.druid.sql.dialect.mysql.ast.expr.MySqlCharExpr;
import com.alibaba.druid.sql.dialect.mysql.ast.expr.MySqlOutFileExpr;
import com.alibaba.druid.sql.dialect.mysql.ast.expr.MySqlUserName;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.*;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlCreateTableStatement.TableSpaceOption;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlCreateUserStatement.UserSpecification;
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitorAdapter;
import junit.framework.TestCase;

public class MySqlASTVisitorAdapterTest extends TestCase {
    public void test_adapter() throws Exception {
        MySqlASTVisitorAdapter adapter = new MySqlASTVisitorAdapter();
        new SQLBooleanExpr().accept(adapter);
        new SQLLimit().accept(adapter);
        new MySqlTableIndex().accept(adapter);
        new MySqlKey().accept(adapter);
        new MySqlPrimaryKey().accept(adapter);
        new SQLIntervalExpr().accept(adapter);
        new SQLBinaryExpr().accept(adapter);
        new MySqlPrepareStatement().accept(adapter);
        new MySqlExecuteStatement().accept(adapter);
        new MysqlDeallocatePrepareStatement().accept(adapter);
        new MySqlDeleteStatement().accept(adapter);
        new MySqlInsertStatement().accept(adapter);
        new MySqlLoadXmlStatement().accept(adapter);
        new SQLReplaceStatement().accept(adapter);
        new SQLStartTransactionStatement().accept(adapter);
        new SQLShowColumnsStatement().accept(adapter);
        new SQLShowDatabasesStatement().accept(adapter);
        new MySqlShowWarningsStatement().accept(adapter);
        new MySqlShowStatusStatement().accept(adapter);
        new CobarShowStatus().accept(adapter);
        new MySqlKillStatement().accept(adapter);
        new MySqlBinlogStatement().accept(adapter);
        new MySqlResetStatement().accept(adapter);
        new UserSpecification().accept(adapter);
        new MySqlPartitionByKey().accept(adapter);
        new MySqlOutFileExpr().accept(adapter);
        new MySqlUpdateStatement().accept(adapter);
        new MySqlSetTransactionStatement().accept(adapter);
        new MySqlShowMasterLogsStatement().accept(adapter);
        new MySqlShowAuthorsStatement().accept(adapter);
        new MySqlShowCollationStatement().accept(adapter);
        new MySqlShowBinLogEventsStatement().accept(adapter);
        new MySqlShowCharacterSetStatement().accept(adapter);
        new MySqlShowContributorsStatement().accept(adapter);
        new MySqlShowCreateDatabaseStatement().accept(adapter);
        new MySqlShowCreateEventStatement().accept(adapter);
        new MySqlShowCreateFunctionStatement().accept(adapter);
        new MySqlShowCreateProcedureStatement().accept(adapter);
        new SQLShowCreateTableStatement().accept(adapter);
        new MySqlShowCreateTriggerStatement().accept(adapter);
        new SQLShowCreateViewStatement().accept(adapter);
        new MySqlShowEngineStatement().accept(adapter);
        new MySqlShowEnginesStatement().accept(adapter);
        new MySqlShowErrorsStatement().accept(adapter);
        new MySqlShowEventsStatement().accept(adapter);
        new MySqlShowFunctionCodeStatement().accept(adapter);
        new MySqlShowFunctionStatusStatement().accept(adapter);
        new MySqlShowGrantsStatement().accept(adapter);
        new MySqlUserName().accept(adapter);
        new SQLShowIndexesStatement().accept(adapter);
        new MySqlShowMasterStatusStatement().accept(adapter);
        new MySqlShowOpenTablesStatement().accept(adapter);
        new MySqlShowBinaryLogsStatement().accept(adapter);
        new MySqlShowPluginsStatement().accept(adapter);
        new MySqlShowPrivilegesStatement().accept(adapter);
        new MySqlShowProcedureCodeStatement().accept(adapter);
        new MySqlShowProcedureStatusStatement().accept(adapter);
        new MySqlShowProcessListStatement().accept(adapter);
        new MySqlShowProfileStatement().accept(adapter);
        new MySqlShowSlaveHostsStatement().accept(adapter);
        new MySqlShowRelayLogEventsStatement().accept(adapter);
        new MySqlShowSlaveStatusStatement().accept(adapter);
        new MySqlShowTableStatusStatement().accept(adapter);
        new MySqlShowTriggersStatement().accept(adapter);
        new MySqlRenameTableStatement().accept(adapter);
        new MySqlUseIndexHint().accept(adapter);
        new MySqlIgnoreIndexHint().accept(adapter);
        new MySqlLockTableStatement().accept(adapter);
        new MySqlUnlockTablesStatement().accept(adapter);
        new MySqlForceIndexHint().accept(adapter);
        new MySqlAlterTableChangeColumn().accept(adapter);
        new SQLAlterCharacter().accept(adapter);
        new MySqlAlterTableOption().accept(adapter);
        new MySqlCreateTableStatement().accept(adapter);
        new MySqlCharExpr().accept(adapter);
        new MySqlUnique().accept(adapter);
        new MySqlAlterTableModifyColumn().accept(adapter);
        new MySqlAlterTableDiscardTablespace().accept(adapter);
        new MySqlAlterTableImportTablespace().accept(adapter);
        new TableSpaceOption().accept(adapter);
    }
}
