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

import com.chenyang.druid.sql.dialect.dm.ast.clause.DmPartitionExtensionClause;
import com.chenyang.druid.sql.dialect.dm.ast.clause.DmReturningClause;
import com.chenyang.druid.sql.dialect.dm.ast.clause.DmSampleClause;
import com.chenyang.druid.sql.dialect.dm.ast.clause.DmStorageClause;
import com.chenyang.druid.sql.dialect.dm.ast.expr.DMIntervalExpr;
import com.chenyang.druid.sql.dialect.dm.ast.expr.DmAnalytic;
import com.chenyang.druid.sql.dialect.dm.ast.expr.DmAnalyticWindowing;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DMIndexTablespacleConstraint;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DMSQLAlterTableRebuildColumns;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterDatabaseAddLogfile;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterDatabaseArchivelog;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterDatabaseMoveDatafile;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterDatabaseRenameLogfile;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterDatabaseResizeLogfile;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterDatabaseStatus;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterIndexStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterPackageCompile;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableAddConstraint;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableAddIdentity;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableAddPartition;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableAlterColumn;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableCounter;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableDefaultDirectory;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableDropIdentity;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableDropPartition;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableEnableUsingLongRow;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableExchangePartition;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableLocation;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableMergePartition;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableModify;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableModifyConstraint;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableModifyDiskspace;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableModifyPartition;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableMovePartition;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableRenamePartition;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableRowMovement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableSetPartitionTemplate;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableSplitPartition;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTableTruncateSubpartition;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterTriggerStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmAlterViewStatment;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmConstraint;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmContinueStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmCreateIndexStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmCreatePackageStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmCreateSchemaStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmCreateSynonymStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmCreateTableStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmCreateTriggerStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmDataTypeIntervalYear;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmDropUserStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmExceptionStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmExecuteImmediateStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmExitStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmForeignKeyImpl;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmGotoStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmInsertStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmLabelStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmLockTableStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmLogfile;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmMultiInsertStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmPrintStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmRaiseStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmSQLColumnPrimaryKey;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmSQLColumnReference;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmSQLPrimaryKey;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmSQLTruncateStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmSQLUniqueKey;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmSelectPivot;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmSelectQueryBlock;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmSelectSubqueryTableSource;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmSelectTableReference;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmSelectUnPivot;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmSetTransactionStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.DmUpdateStatement;
import com.chenyang.druid.sql.dialect.dm.ast.stmt.SQLNotVisibleConstraint;
import com.chenyang.druid.sql.dialect.oracle.ast.clause.PartitionExtensionClause;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public interface DmASTVisitor extends SQLASTVisitor {
   boolean visit(DmSelectQueryBlock var1);

   void endVisit(DmSelectQueryBlock var1);

   boolean visit(DmSelectPivot var1);

   void endVisit(DmSelectPivot var1);

   boolean visit(DmSelectUnPivot var1);

   void endVisit(DmSelectUnPivot var1);

   boolean visit(DmSelectPivot.Item var1);

   boolean visit(DMIntervalExpr var1);

   boolean visit(DmReturningClause var1);

   boolean visit(DmMultiInsertStatement var1);

   boolean visit(DmInsertStatement var1);

   boolean visit(DmMultiInsertStatement.ConditionalInsertClause var1);

   boolean visit(DmMultiInsertStatement.ConditionalInsertClauseItem var1);

   boolean visit(DmMultiInsertStatement.InsertIntoClause var1);

   boolean visit(DmSelectSubqueryTableSource var1);

   boolean visit(DmSelectTableReference var1);

   boolean visit(PartitionExtensionClause var1);

   boolean visit(DmUpdateStatement var1);

   boolean visit(DmAnalytic var1);

   boolean visit(DmAnalyticWindowing var1);

   boolean visit(DmPartitionExtensionClause var1);

   boolean visit(DmSampleClause var1);

   void endVisit(DmSelectPivot.Item var1);

   boolean visit(DmContinueStatement var1);

   void endVisit(DmContinueStatement var1);

   void endVisit(DMIntervalExpr var1);

   void endVisit(DmReturningClause var1);

   void endVisit(DmMultiInsertStatement var1);

   void endVisit(DmInsertStatement var1);

   void endVisit(DmMultiInsertStatement.ConditionalInsertClause var1);

   void endVisit(DmMultiInsertStatement.ConditionalInsertClauseItem var1);

   void endVisit(DmMultiInsertStatement.InsertIntoClause var1);

   void endVisit(DmSelectSubqueryTableSource var1);

   void endVisit(DmSelectTableReference var1);

   void endVisit(DmPartitionExtensionClause var1);

   void endVisit(DmUpdateStatement var1);

   void endVisit(DmAnalytic var1);

   void endVisit(DmAnalyticWindowing var1);

   void endVisit(DmSampleClause var1);

   boolean visit(DmCreateTableStatement.OIDIndex var1);

   void endVisit(DmCreateTableStatement.OIDIndex var1);

   boolean visit(DmCreateTableStatement.Organization var1);

   void endVisit(DmCreateTableStatement.Organization var1);

   boolean visit(DmCreateTableStatement var1);

   void endVisit(DmCreateTableStatement var1);

   boolean visit(DmSQLColumnPrimaryKey var1);

   void endVisit(DmSQLColumnPrimaryKey var1);

   boolean visit(DmStorageClause var1);

   void endVisit(DmStorageClause var1);

   boolean visit(DMIndexTablespacleConstraint var1);

   void endVisit(DMIndexTablespacleConstraint var1);

   boolean visit(SQLNotVisibleConstraint var1);

   void endVisit(SQLNotVisibleConstraint var1);

   boolean visit(DmSQLColumnReference var1);

   void endVisit(DmSQLColumnReference var1);

   boolean visit(DmSQLPrimaryKey var1);

   void endVisit(DmSQLPrimaryKey var1);

   boolean visit(DmSQLUniqueKey var1);

   void endVisit(DmSQLUniqueKey var1);

   boolean visit(DmForeignKeyImpl var1);

   void endVisit(DmForeignKeyImpl var1);

   boolean visit(DMSQLAlterTableRebuildColumns var1);

   void endVisit(DMSQLAlterTableRebuildColumns var1);

   boolean visit(DmAlterTableAlterColumn var1);

   void endVisit(DmAlterTableAlterColumn var1);

   boolean visit(DmAlterTableModifyDiskspace var1);

   void endVisit(DmAlterTableModifyDiskspace var1);

   boolean visit(DmAlterTableModifyConstraint var1);

   void endVisit(DmAlterTableModifyConstraint var1);

   boolean visit(DmConstraint var1);

   void endVisit(DmConstraint var1);

   boolean visit(DmAlterTableCounter var1);

   void endVisit(DmAlterTableCounter var1);

   boolean visit(DmAlterTableAddIdentity var1);

   void endVisit(DmAlterTableAddIdentity var1);

   boolean visit(DmAlterTableDropIdentity var1);

   void endVisit(DmAlterTableDropIdentity var1);

   boolean visit(DmAlterTableTruncateSubpartition var1);

   void endVisit(DmAlterTableTruncateSubpartition var1);

   boolean visit(DmAlterTableRowMovement var1);

   void endVisit(DmAlterTableRowMovement var1);

   boolean visit(DmAlterTableEnableUsingLongRow var1);

   void endVisit(DmAlterTableEnableUsingLongRow var1);

   boolean visit(DmAlterTableModifyPartition var1);

   void endVisit(DmAlterTableModifyPartition var1);

   boolean visit(DmAlterTableDropPartition var1);

   void endVisit(DmAlterTableDropPartition var1);

   boolean visit(DmAlterTableAddPartition var1);

   void endVisit(DmAlterTableAddPartition var1);

   boolean visit(DmAlterTableExchangePartition var1);

   void endVisit(DmAlterTableExchangePartition var1);

   boolean visit(DmAlterTableSplitPartition var1);

   void endVisit(DmAlterTableSplitPartition var1);

   boolean visit(DmAlterTableMergePartition var1);

   void endVisit(DmAlterTableMergePartition var1);

   boolean visit(DmAlterTableSetPartitionTemplate var1);

   void endVisit(DmAlterTableSetPartitionTemplate var1);

   boolean visit(DmAlterTableRenamePartition var1);

   void endVisit(DmAlterTableRenamePartition var1);

   boolean visit(DmAlterTableMovePartition var1);

   void endVisit(DmAlterTableMovePartition var1);

   boolean visit(DmAlterTableModify var1);

   void endVisit(DmAlterTableModify var1);

   boolean visit(DmAlterTableAddConstraint var1);

   void endVisit(DmAlterTableAddConstraint var1);

   boolean visit(DmAlterDatabaseStatus var1);

   void endVisit(DmAlterDatabaseStatus var1);

   boolean visit(DmAlterDatabaseResizeLogfile var1);

   void endVisit(DmAlterDatabaseResizeLogfile var1);

   boolean visit(DmAlterDatabaseAddLogfile var1);

   void endVisit(DmAlterDatabaseAddLogfile var1);

   boolean visit(DmLogfile var1);

   void endVisit(DmLogfile var1);

   boolean visit(DmAlterDatabaseRenameLogfile var1);

   void endVisit(DmAlterDatabaseRenameLogfile var1);

   boolean visit(DmAlterDatabaseMoveDatafile var1);

   void endVisit(DmAlterDatabaseMoveDatafile var1);

   boolean visit(DmAlterDatabaseArchivelog var1);

   void endVisit(DmAlterDatabaseArchivelog var1);

   boolean visit(DmDropUserStatement var1);

   void endVisit(DmDropUserStatement var1);

   boolean visit(DmCreateSchemaStatement var1);

   void endVisit(DmCreateSchemaStatement var1);

   boolean visit(DmSQLTruncateStatement var1);

   void endVisit(DmSQLTruncateStatement var1);

   boolean visit(DmCreateIndexStatement var1);

   void endVisit(DmCreateIndexStatement var1);

   boolean visit(DmAlterIndexStatement var1);

   void endVisit(DmAlterIndexStatement var1);

   boolean visit(DmAlterViewStatment var1);

   void endVisit(DmAlterViewStatment var1);

   boolean visit(DmSetTransactionStatement var1);

   void endVisit(DmSetTransactionStatement var1);

   boolean visit(DmLockTableStatement var1);

   void endVisit(DmLockTableStatement var1);

   boolean visit(DmCreateSynonymStatement var1);

   void endVisit(DmCreateSynonymStatement var1);

   boolean visit(DmCreateTriggerStatement var1);

   void endVisit(DmCreateTriggerStatement var1);

   boolean visit(DmAlterTriggerStatement var1);

   void endVisit(DmAlterTriggerStatement var1);

   boolean visit(DmPrintStatement var1);

   void endVisit(DmPrintStatement var1);

   boolean visit(DmExecuteImmediateStatement var1);

   void endVisit(DmExecuteImmediateStatement var1);

   boolean visit(DmRaiseStatement var1);

   void endVisit(DmRaiseStatement var1);

   boolean visit(DmExitStatement var1);

   void endVisit(DmExitStatement var1);

   boolean visit(DmExceptionStatement var1);

   void endVisit(DmExceptionStatement var1);

   boolean visit(DmExceptionStatement.Item var1);

   void endVisit(DmExceptionStatement.Item var1);

   boolean visit(DmGotoStatement var1);

   void endVisit(DmGotoStatement var1);

   boolean visit(DmLabelStatement var1);

   void endVisit(DmLabelStatement var1);

   boolean visit(DmDataTypeIntervalYear var1);

   void endVisit(DmDataTypeIntervalYear var1);

   boolean visit(DmCreateTableStatement.PARMS var1);

   void endVisit(DmCreateTableStatement.PARMS var1);

   boolean visit(DmAlterTableDefaultDirectory var1);

   void endVisit(DmAlterTableDefaultDirectory var1);

   boolean visit(DmAlterTableLocation var1);

   void endVisit(DmAlterTableLocation var1);

   boolean visit(DmCreatePackageStatement var1);

   void endVisit(DmCreatePackageStatement var1);

   boolean visit(DmAlterPackageCompile var1);

   void endVisit(DmAlterPackageCompile var1);

   boolean visit(DmCreateTriggerStatement.Timer var1);

   void endVisit(DmCreateTriggerStatement.Timer var1);

   boolean visit(DmCreateTriggerStatement.Timer.DayInMonthWeek var1);

   void endVisit(DmCreateTriggerStatement.Timer.DayInMonthWeek var1);

   boolean visit(DmCreateTriggerStatement.Timer.DuaringTime var1);

   void endVisit(DmCreateTriggerStatement.Timer.DuaringTime var1);

   boolean visit(DmCreateTriggerStatement.Timer.DuaringDate var1);

   void endVisit(DmCreateTriggerStatement.Timer.DuaringDate var1);
}
