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

import com.chenyang.druid.sql.dialect.gauss.ast.GaussSQLIndexSpec;
import com.chenyang.druid.sql.dialect.gauss.ast.GaussSQLPartition;
import com.chenyang.druid.sql.dialect.gauss.ast.GaussSQLPartitionBy;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussBoxExpr;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussCidrExpr;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussCircleExpr;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussColumnSimpleDefinitionExpr;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussExtractExpr;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussInetExpr;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussLineSegmentsExpr;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussMacAddrExpr;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussOptionValue;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussPointExpr;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussPolygonExpr;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussSQLObjectCollection;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussSchemaTables;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.GaussTypeCastExpr;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.constraint.GaussConstraint;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.constraint.GaussStorageParameter;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.tablesource.GaussExprTableSource;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.tablesource.GaussFunctionTableSource;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.tablesource.GaussMethodInvokeTableSource;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.tablesource.GaussRowsFromTableSource;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.tablesource.GaussSubqueryTableSource;
import com.chenyang.druid.sql.dialect.gauss.ast.expr.tablesource.GaussValuesTableSource;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterDatabaseStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterGroupStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterIndexStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterRoleStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterSchemaStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterSequenceStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterSessionStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterSynonymStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterSystemKillSessionStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterTableSpaceStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterTableStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterTriggerStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussAlterViewStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCommonStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussConnectToStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateDatabaseStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateGroupStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateIndexStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateMaterializedViewStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateRoleStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateSchemaStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateSeqenceStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateSynonymStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateTableAsStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateTableSpaceStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateTableStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateTriggerStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussCreateViewStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussDeleteStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussDropSchemaStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussDropSequenceStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussDropTriggerStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussGrantStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussInsertStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussRevokeStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussSelectQueryBlock;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussSelectStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussShowStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussStartTransactionStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.GaussUpdateStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableAddColumn;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableAddConstraint;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableAlterColumn;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableAlterColumnOptions;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableCluster;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableDisableEnabelTrigger;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableDropColumn;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableDropConstraint;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableInheriteOrNotParentTable;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableModify;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableOf;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableRenameColumn;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableRenameConstraint;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableRenameTo;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableSetNewTableSpace;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableSetReset;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableSetSchema;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableSetTableSpace;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableSetWith;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterTableValidateConstraint;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussAlterUserStatement;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussColumnDefinition;
import com.chenyang.druid.sql.dialect.gauss.ast.stmt.alterTable.GaussCreateUserStatement;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public interface GaussASTVisitor extends SQLASTVisitor {
   void endVisit(GaussSelectQueryBlock var1);

   boolean visit(GaussSelectQueryBlock var1);

   void endVisit(GaussSelectQueryBlock.FetchClause var1);

   boolean visit(GaussSelectQueryBlock.FetchClause var1);

   void endVisit(GaussSelectQueryBlock.ForClause var1);

   boolean visit(GaussSelectQueryBlock.ForClause var1);

   void endVisit(GaussDeleteStatement var1);

   boolean visit(GaussDeleteStatement var1);

   void endVisit(GaussInsertStatement var1);

   boolean visit(GaussInsertStatement var1);

   void endVisit(GaussSelectStatement var1);

   boolean visit(GaussSelectStatement var1);

   void endVisit(GaussUpdateStatement var1);

   boolean visit(GaussUpdateStatement var1);

   void endVisit(GaussFunctionTableSource var1);

   boolean visit(GaussFunctionTableSource var1);

   void endVisit(GaussTypeCastExpr var1);

   boolean visit(GaussTypeCastExpr var1);

   void endVisit(GaussExtractExpr var1);

   boolean visit(GaussExtractExpr var1);

   void endVisit(GaussBoxExpr var1);

   boolean visit(GaussBoxExpr var1);

   void endVisit(GaussPointExpr var1);

   boolean visit(GaussPointExpr var1);

   void endVisit(GaussMacAddrExpr var1);

   boolean visit(GaussMacAddrExpr var1);

   void endVisit(GaussInetExpr var1);

   boolean visit(GaussInetExpr var1);

   void endVisit(GaussCidrExpr var1);

   boolean visit(GaussCidrExpr var1);

   void endVisit(GaussPolygonExpr var1);

   boolean visit(GaussPolygonExpr var1);

   void endVisit(GaussCircleExpr var1);

   boolean visit(GaussCircleExpr var1);

   void endVisit(GaussLineSegmentsExpr var1);

   boolean visit(GaussLineSegmentsExpr var1);

   void endVisit(GaussShowStatement var1);

   boolean visit(GaussShowStatement var1);

   void endVisit(GaussStartTransactionStatement var1);

   boolean visit(GaussStartTransactionStatement var1);

   void endVisit(GaussConnectToStatement var1);

   boolean visit(GaussConnectToStatement var1);

   void endVisit(GaussCreateSchemaStatement var1);

   boolean visit(GaussCreateSchemaStatement var1);

   void endVisit(GaussDropSchemaStatement var1);

   boolean visit(GaussDropSchemaStatement var1);

   void endVisit(GaussAlterSchemaStatement var1);

   boolean visit(GaussAlterSchemaStatement var1);

   void endVisit(GaussMethodInvokeTableSource var1);

   boolean visit(GaussMethodInvokeTableSource var1);

   void endVisit(GaussExprTableSource var1);

   boolean visit(GaussExprTableSource var1);

   void endVisit(GaussSubqueryTableSource var1);

   boolean visit(GaussSubqueryTableSource var1);

   void endVisit(GaussValuesTableSource var1);

   boolean visit(GaussValuesTableSource var1);

   void endVisit(GaussValuesTableSource.ValueRow var1);

   boolean visit(GaussValuesTableSource.ValueRow var1);

   void endVisit(GaussSelectQueryBlock.ForClauses var1);

   boolean visit(GaussSelectQueryBlock.ForClauses var1);

   void endVisit(GaussColumnSimpleDefinitionExpr var1);

   boolean visit(GaussColumnSimpleDefinitionExpr var1);

   void endVisit(GaussRowsFromTableSource var1);

   boolean visit(GaussRowsFromTableSource var1);

   void endVisit(GaussAlterDatabaseStatement var1);

   boolean visit(GaussAlterDatabaseStatement var1);

   void endVisit(GaussAlterIndexStatement var1);

   boolean visit(GaussAlterIndexStatement var1);

   void endVisit(GaussAlterSequenceStatement var1);

   boolean visit(GaussAlterSequenceStatement var1);

   void endVisit(GaussAlterTableStatement var1);

   boolean visit(GaussAlterTableStatement var1);

   void endVisit(GaussAlterTableRenameColumn var1);

   boolean visit(GaussAlterTableRenameColumn var1);

   void endVisit(GaussAlterTableRenameConstraint var1);

   boolean visit(GaussAlterTableRenameConstraint var1);

   void endVisit(GaussAlterTableRenameTo var1);

   boolean visit(GaussAlterTableRenameTo var1);

   void endVisit(GaussAlterTableSetSchema var1);

   boolean visit(GaussAlterTableSetSchema var1);

   void endVisit(GaussAlterTableSetNewTableSpace var1);

   boolean visit(GaussAlterTableSetNewTableSpace var1);

   void endVisit(GaussAlterTableSetWith var1);

   boolean visit(GaussAlterTableSetWith var1);

   void endVisit(GaussAlterTableAddColumn var1);

   boolean visit(GaussAlterTableAddColumn var1);

   void endVisit(GaussAlterTableSetWith.GaussAlterTableDistributeByOption var1);

   boolean visit(GaussAlterTableSetWith.GaussAlterTableDistributeByOption var1);

   void endVisit(GaussAlterTableDropColumn var1);

   boolean visit(GaussAlterTableDropColumn var1);

   void endVisit(GaussAlterTableAlterColumn var1);

   boolean visit(GaussAlterTableAlterColumn var1);

   void endVisit(GaussAlterTableAlterColumnOptions var1);

   boolean visit(GaussAlterTableAlterColumnOptions var1);

   void endVisit(GaussAlterTableAlterColumnOptions.GaussAlterTableAlterColumnOptionValue var1);

   boolean visit(GaussAlterTableAlterColumnOptions.GaussAlterTableAlterColumnOptionValue var1);

   void endVisit(GaussAlterTableAddConstraint var1);

   boolean visit(GaussAlterTableAddConstraint var1);

   void endVisit(GaussAlterTableAddConstraint.GaussAlterTableAddConstraintUsingIndex var1);

   boolean visit(GaussAlterTableAddConstraint.GaussAlterTableAddConstraintUsingIndex var1);

   void endVisit(GaussAlterTableValidateConstraint var1);

   boolean visit(GaussAlterTableValidateConstraint var1);

   void endVisit(GaussAlterTableDropConstraint var1);

   boolean visit(GaussAlterTableDropConstraint var1);

   void endVisit(GaussAlterTableDisableEnabelTrigger var1);

   boolean visit(GaussAlterTableDisableEnabelTrigger var1);

   void endVisit(GaussAlterTableCluster var1);

   boolean visit(GaussAlterTableCluster var1);

   void endVisit(GaussAlterTableSetReset var1);

   boolean visit(GaussAlterTableSetReset var1);

   void endVisit(GaussAlterTableSetReset.StorageParameter var1);

   boolean visit(GaussAlterTableSetReset.StorageParameter var1);

   void endVisit(GaussAlterTableInheriteOrNotParentTable var1);

   boolean visit(GaussAlterTableInheriteOrNotParentTable var1);

   void endVisit(GaussAlterTableOf var1);

   boolean visit(GaussAlterTableOf var1);

   void endVisit(GaussAlterTableSetTableSpace var1);

   boolean visit(GaussAlterTableSetTableSpace var1);

   void endVisit(GaussCreateDatabaseStatement var1);

   boolean visit(GaussCreateDatabaseStatement var1);

   void endVisit(GaussConstraint var1);

   boolean visit(GaussConstraint var1);

   void endVisit(GaussConstraint.GaussConstraintCheck var1);

   boolean visit(GaussConstraint.GaussConstraintCheck var1);

   void endVisit(GaussConstraint.GaussUnique var1);

   boolean visit(GaussConstraint.GaussUnique var1);

   void endVisit(GaussConstraint.GaussPrimaryKey var1);

   boolean visit(GaussConstraint.GaussPrimaryKey var1);

   void endVisit(GaussConstraint.GaussForeignKey var1);

   boolean visit(GaussConstraint.GaussForeignKey var1);

   void endVisit(GaussOptionValue var1);

   boolean visit(GaussOptionValue var1);

   void endVisit(GaussStorageParameter var1);

   boolean visit(GaussStorageParameter var1);

   void endVisit(GaussConstraint.GaussIndexParamaters var1);

   boolean visit(GaussConstraint.GaussIndexParamaters var1);

   void endVisit(GaussConstraint.GaussReference var1);

   boolean visit(GaussConstraint.GaussReference var1);

   void endVisit(GaussColumnDefinition var1);

   boolean visit(GaussColumnDefinition var1);

   void endVisit(GaussCreateTableStatement var1);

   boolean visit(GaussCreateTableStatement var1);

   void endVisit(GaussCreateTableStatement.GaussTableDistributedBy var1);

   boolean visit(GaussCreateTableStatement.GaussTableDistributedBy var1);

   void endVisit(GaussSQLObjectCollection var1);

   boolean visit(GaussSQLObjectCollection var1);

   void endVisit(GaussSchemaTables var1);

   boolean visit(GaussSchemaTables var1);

   void endVisit(GaussGrantStatement var1);

   boolean visit(GaussGrantStatement var1);

   boolean visit(GaussAlterViewStatement var1);

   boolean visit(GaussCreateSeqenceStatement var1);

   boolean visit(GaussCreateTableSpaceStatement var1);

   boolean visit(GaussCreateViewStatement var1);

   boolean visit(GaussDropSequenceStatement var1);

   boolean visit(GaussSQLPartitionBy var1);

   boolean visit(GaussSQLPartition var1);

   boolean visit(GaussSQLIndexSpec var1);

   boolean visit(GaussCreateIndexStatement var1);

   void endVisit(GaussAlterSessionStatement var1);

   boolean visit(GaussAlterSessionStatement var1);

   void endVisit(GaussAlterSystemKillSessionStatement var1);

   boolean visit(GaussAlterSystemKillSessionStatement var1);

   void endVisit(GaussAlterTableSpaceStatement var1);

   boolean visit(GaussAlterTableSpaceStatement var1);

   void endVisit(GaussAlterTableModify var1);

   boolean visit(GaussAlterTableModify var1);

   void endVisit(GaussCreateUserStatement var1);

   boolean visit(GaussCreateUserStatement var1);

   void endVisit(GaussAlterUserStatement var1);

   boolean visit(GaussAlterUserStatement var1);

   void endVisit(GaussCommonStatement var1);

   boolean visit(GaussCommonStatement var1);

   void endVisit(GaussCreateGroupStatement var1);

   boolean visit(GaussCreateGroupStatement var1);

   void endVisit(GaussAlterGroupStatement var1);

   boolean visit(GaussAlterGroupStatement var1);

   void endVisit(GaussCreateMaterializedViewStatement var1);

   boolean visit(GaussCreateMaterializedViewStatement var1);

   void endVisit(GaussDropSequenceStatement var1);

   void endVisit(GaussCreateSynonymStatement var1);

   boolean visit(GaussCreateSynonymStatement var1);

   void endVisit(GaussAlterSynonymStatement var1);

   boolean visit(GaussAlterSynonymStatement var1);

   void endVisit(GaussCreateRoleStatement var1);

   boolean visit(GaussCreateRoleStatement var1);

   void endVisit(GaussAlterRoleStatement var1);

   boolean visit(GaussAlterRoleStatement var1);

   void endVisit(GaussCreateTableAsStatement var1);

   boolean visit(GaussCreateTableAsStatement var1);

   void endVisit(GaussRevokeStatement var1);

   boolean visit(GaussRevokeStatement var1);

   void endVisit(GaussCreateTriggerStatement var1);

   boolean visit(GaussCreateTriggerStatement var1);

   void endVisit(GaussAlterTriggerStatement var1);

   boolean visit(GaussAlterTriggerStatement var1);

   void endVisit(GaussDropTriggerStatement var1);

   boolean visit(GaussDropTriggerStatement var1);
}
