package com.alibaba.druid.bvt.sql.oracle.visitor;

import com.alibaba.druid.sql.ast.statement.SQLExceptionStatement;
import com.alibaba.druid.sql.ast.SQLParameter;
import com.alibaba.druid.sql.ast.expr.*;
import com.alibaba.druid.sql.ast.statement.*;
import com.alibaba.druid.sql.ast.statement.SQLMergeStatement.WhenInsert;
import com.alibaba.druid.sql.ast.statement.SQLMergeStatement.WhenUpdate;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleDataTypeIntervalDay;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleDataTypeIntervalYear;
import com.alibaba.druid.sql.dialect.oracle.ast.clause.*;
import com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.*;
import com.alibaba.druid.sql.dialect.oracle.ast.expr.*;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.*;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClause;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClauseItem;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.InsertIntoClause;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectRestriction.CheckOption;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectRestriction.ReadOnly;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitorAdapter;
import junit.framework.TestCase;

public class OracleASTVisitorAdapterTest extends TestCase {
    public void test_adapter() throws Exception {
        OracleASTVisitorAdapter adapter = new OracleASTVisitorAdapter();

        new SQLScriptCommitStatement().accept(adapter);
        new OracleAnalytic().accept(adapter);
        new OracleAnalyticWindowing().accept(adapter);
        new SQLDateExpr().accept(adapter);
        new SQLDbLinkExpr().accept(adapter);
        new CheckOption().accept(adapter);
        new ReadOnly().accept(adapter);
        new SQLTimestampExpr().accept(adapter);
        new PartitionExtensionClause().accept(adapter);
        new SQLGroupingSetExpr().accept(adapter);
        new OracleWithSubqueryEntry().accept(adapter);
        new OracleFileSpecification().accept(adapter);
        new OracleAlterTablespaceAddDataFile().accept(adapter);
        new OracleAlterTablespaceStatement().accept(adapter);
        new SQLCreateSequenceStatement().accept(adapter);
        new SQLLoopStatement().accept(adapter);
        new OracleIntervalExpr().accept(adapter);
        new OracleDeleteStatement().accept(adapter);
        new OracleUpdateStatement().accept(adapter);
        new SampleClause().accept(adapter);
        new OracleSelectTableReference().accept(adapter);
        new SearchClause().accept(adapter);
        new CycleClause().accept(adapter);
        new OracleBinaryFloatExpr().accept(adapter);
        new OracleBinaryDoubleExpr().accept(adapter);
        new OracleCursorExpr().accept(adapter);
        new OracleIsSetExpr().accept(adapter);
        new ReturnRowsClause().accept(adapter);
        new ModelClause().accept(adapter);
        new MainModelClause().accept(adapter);
        new ModelColumnClause().accept(adapter);
        new QueryPartitionClause().accept(adapter);
        new ModelColumn().accept(adapter);
        new ModelRulesClause().accept(adapter);
        new CellAssignmentItem().accept(adapter);
        new CellAssignment().accept(adapter);
        new SQLMergeStatement().accept(adapter);
        new WhenUpdate().accept(adapter);
        new WhenInsert().accept(adapter);
        new SQLErrorLoggingClause().accept(adapter);
        new OracleReturningClause().accept(adapter);
        new OracleInsertStatement().accept(adapter);
        new InsertIntoClause().accept(adapter);
        new OracleMultiInsertStatement().accept(adapter);
        new ConditionalInsertClause().accept(adapter);
        new ConditionalInsertClauseItem().accept(adapter);
        new OracleSelectQueryBlock().accept(adapter);
        new SQLBlockStatement().accept(adapter);
        new OracleLockTableStatement().accept(adapter);
        new OracleAlterSessionStatement().accept(adapter);
        new SQLExprStatement().accept(adapter);
        new OracleDatetimeExpr().accept(adapter);
        new SQLExceptionStatement().accept(adapter);
        new SQLExceptionStatement.Item().accept(adapter);
        new OracleArgumentExpr().accept(adapter);
        new OracleSetTransactionStatement().accept(adapter);
        new SQLDropSequenceStatement().accept(adapter);
        new OracleDataTypeIntervalDay().accept(adapter);
        new OracleDataTypeIntervalYear().accept(adapter);
        new OracleDropDbLinkStatement().accept(adapter);
        new OracleCreateDatabaseDbLinkStatement().accept(adapter);
        new SQLCreateProcedureStatement().accept(adapter);
        new SQLFetchStatement().accept(adapter);
        new OracleExitStatement().accept(adapter);
        new OracleExplainStatement().accept(adapter);
        new SQLAlterProcedureStatement().accept(adapter);
        new OracleAlterTableDropPartition().accept(adapter);
        new OracleAlterTableTruncatePartition().accept(adapter);
        new OracleAlterTableSplitPartition.TableSpaceItem().accept(adapter);
        new OracleAlterTableSplitPartition.UpdateIndexesClause().accept(adapter);
        new OracleAlterTableSplitPartition.NestedTablePartitionSpec().accept(adapter);
        new OracleAlterTableSplitPartition().accept(adapter);
        new OracleAlterTableModify().accept(adapter);
        new OracleCreateIndexStatement().accept(adapter);
        new SQLAlterIndexStatement().accept(adapter);
        new OracleForStatement().accept(adapter);
        new SQLAlterIndexStatement().accept(adapter);
        new OracleRangeExpr().accept(adapter);
        new OraclePrimaryKey().accept(adapter);
        new OracleCreateTableStatement().accept(adapter);
        new SQLAlterTableRename().accept(adapter);
        new OracleStorageClause().accept(adapter);
        new OracleGotoStatement().accept(adapter);
        new OracleLabelStatement().accept(adapter);
        new SQLParameter().accept(adapter);
        new SQLCommitStatement().accept(adapter);
        new OracleAlterTriggerStatement().accept(adapter);
        new OracleAlterSynonymStatement().accept(adapter);
        new OracleAlterViewStatement().accept(adapter);
        new OracleAlterTableMoveTablespace().accept(adapter);
        new SQLSizeExpr().accept(adapter);
    }
}
