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

import com.chenyang.druid.sql.dialect.greenplum.ast.GPSQLIndexSpec;
import com.chenyang.druid.sql.dialect.greenplum.ast.GPSQLPartition;
import com.chenyang.druid.sql.dialect.greenplum.ast.GPSQLPartitionBy;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPBoxExpr;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPCidrExpr;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPCircleExpr;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPColumnSimpleDefinitionExpr;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPExtractExpr;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPInetExpr;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPLineSegmentsExpr;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPMacAddrExpr;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPOptionValue;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPPointExpr;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPPolygonExpr;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPSQLObjectCollection;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPSchemaTables;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.GPTypeCastExpr;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.constraint.GPConstraint;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.constraint.GPStorageParameter;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.tablesource.GPExprTableSource;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.tablesource.GPFunctionTableSource;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.tablesource.GPMethodInvokeTableSource;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.tablesource.GPRowsFromTableSource;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.tablesource.GPSubqueryTableSource;
import com.chenyang.druid.sql.dialect.greenplum.ast.expr.tablesource.GPValuesTableSource;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPAlterDatabaseStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPAlterIndexStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPAlterSchemaStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPAlterSequenceStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPAlterTableStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPAlterViewStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPConnectToStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPCreateDatabaseStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPCreateIndexStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPCreateSchemaStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPCreateSeqenceStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPCreateTableSpaceStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPCreateTableStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPCreateViewStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPDeleteStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPDropSchemaStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPDropSequenceStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPGrantStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPInsertStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPSelectQueryBlock;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPSelectStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPShowStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPStartTransactionStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.GPUpdateStatement;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableAddColumn;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableAddConstraint;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableAlterColumn;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableAlterColumnOptions;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableCluster;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableDisableEnabelTrigger;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableDropColumn;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableDropConstraint;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableInheriteOrNotParentTable;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableOf;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableRenameColumn;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableRenameConstraint;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableRenameTo;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableSetNewTableSpace;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableSetReset;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableSetSchema;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableSetTableSpace;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableSetWith;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPAlterTableValidateConstraint;
import com.chenyang.druid.sql.dialect.greenplum.ast.stmt.alterTable.GPColumnDefinition;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public interface GPASTVisitor extends SQLASTVisitor {
   void endVisit(GPSelectQueryBlock var1);

   boolean visit(GPSelectQueryBlock var1);

   void endVisit(GPSelectQueryBlock.FetchClause var1);

   boolean visit(GPSelectQueryBlock.FetchClause var1);

   void endVisit(GPSelectQueryBlock.ForClause var1);

   boolean visit(GPSelectQueryBlock.ForClause var1);

   void endVisit(GPDeleteStatement var1);

   boolean visit(GPDeleteStatement var1);

   void endVisit(GPInsertStatement var1);

   boolean visit(GPInsertStatement var1);

   void endVisit(GPSelectStatement var1);

   boolean visit(GPSelectStatement var1);

   void endVisit(GPUpdateStatement var1);

   boolean visit(GPUpdateStatement var1);

   void endVisit(GPFunctionTableSource var1);

   boolean visit(GPFunctionTableSource var1);

   void endVisit(GPTypeCastExpr var1);

   boolean visit(GPTypeCastExpr var1);

   void endVisit(GPExtractExpr var1);

   boolean visit(GPExtractExpr var1);

   void endVisit(GPBoxExpr var1);

   boolean visit(GPBoxExpr var1);

   void endVisit(GPPointExpr var1);

   boolean visit(GPPointExpr var1);

   void endVisit(GPMacAddrExpr var1);

   boolean visit(GPMacAddrExpr var1);

   void endVisit(GPInetExpr var1);

   boolean visit(GPInetExpr var1);

   void endVisit(GPCidrExpr var1);

   boolean visit(GPCidrExpr var1);

   void endVisit(GPPolygonExpr var1);

   boolean visit(GPPolygonExpr var1);

   void endVisit(GPCircleExpr var1);

   boolean visit(GPCircleExpr var1);

   void endVisit(GPLineSegmentsExpr var1);

   boolean visit(GPLineSegmentsExpr var1);

   void endVisit(GPShowStatement var1);

   boolean visit(GPShowStatement var1);

   void endVisit(GPStartTransactionStatement var1);

   boolean visit(GPStartTransactionStatement var1);

   void endVisit(GPConnectToStatement var1);

   boolean visit(GPConnectToStatement var1);

   void endVisit(GPCreateSchemaStatement var1);

   boolean visit(GPCreateSchemaStatement var1);

   void endVisit(GPDropSchemaStatement var1);

   boolean visit(GPDropSchemaStatement var1);

   void endVisit(GPAlterSchemaStatement var1);

   boolean visit(GPAlterSchemaStatement var1);

   void endVisit(GPMethodInvokeTableSource var1);

   boolean visit(GPMethodInvokeTableSource var1);

   void endVisit(GPExprTableSource var1);

   boolean visit(GPExprTableSource var1);

   void endVisit(GPSubqueryTableSource var1);

   boolean visit(GPSubqueryTableSource var1);

   void endVisit(GPValuesTableSource var1);

   boolean visit(GPValuesTableSource var1);

   void endVisit(GPValuesTableSource.ValueRow var1);

   boolean visit(GPValuesTableSource.ValueRow var1);

   void endVisit(GPSelectQueryBlock.ForClauses var1);

   boolean visit(GPSelectQueryBlock.ForClauses var1);

   void endVisit(GPColumnSimpleDefinitionExpr var1);

   boolean visit(GPColumnSimpleDefinitionExpr var1);

   void endVisit(GPRowsFromTableSource var1);

   boolean visit(GPRowsFromTableSource var1);

   void endVisit(GPAlterDatabaseStatement var1);

   boolean visit(GPAlterDatabaseStatement var1);

   void endVisit(GPAlterIndexStatement var1);

   boolean visit(GPAlterIndexStatement var1);

   void endVisit(GPAlterSequenceStatement var1);

   boolean visit(GPAlterSequenceStatement var1);

   void endVisit(GPAlterTableStatement var1);

   boolean visit(GPAlterTableStatement var1);

   void endVisit(GPAlterTableRenameColumn var1);

   boolean visit(GPAlterTableRenameColumn var1);

   void endVisit(GPAlterTableRenameConstraint var1);

   boolean visit(GPAlterTableRenameConstraint var1);

   void endVisit(GPAlterTableRenameTo var1);

   boolean visit(GPAlterTableRenameTo var1);

   void endVisit(GPAlterTableSetSchema var1);

   boolean visit(GPAlterTableSetSchema var1);

   void endVisit(GPAlterTableSetNewTableSpace var1);

   boolean visit(GPAlterTableSetNewTableSpace var1);

   void endVisit(GPAlterTableSetWith var1);

   boolean visit(GPAlterTableSetWith var1);

   void endVisit(GPAlterTableAddColumn var1);

   boolean visit(GPAlterTableAddColumn var1);

   void endVisit(GPAlterTableSetWith.GPAlterTableDistributeByOption var1);

   boolean visit(GPAlterTableSetWith.GPAlterTableDistributeByOption var1);

   void endVisit(GPAlterTableDropColumn var1);

   boolean visit(GPAlterTableDropColumn var1);

   void endVisit(GPAlterTableAlterColumn var1);

   boolean visit(GPAlterTableAlterColumn var1);

   void endVisit(GPAlterTableAlterColumnOptions var1);

   boolean visit(GPAlterTableAlterColumnOptions var1);

   void endVisit(GPAlterTableAlterColumnOptions.GPAlterTableAlterColumnOptionValue var1);

   boolean visit(GPAlterTableAlterColumnOptions.GPAlterTableAlterColumnOptionValue var1);

   void endVisit(GPAlterTableAddConstraint var1);

   boolean visit(GPAlterTableAddConstraint var1);

   void endVisit(GPAlterTableAddConstraint.GPAlterTableAddConstraintUsingIndex var1);

   boolean visit(GPAlterTableAddConstraint.GPAlterTableAddConstraintUsingIndex var1);

   void endVisit(GPAlterTableValidateConstraint var1);

   boolean visit(GPAlterTableValidateConstraint var1);

   void endVisit(GPAlterTableDropConstraint var1);

   boolean visit(GPAlterTableDropConstraint var1);

   void endVisit(GPAlterTableDisableEnabelTrigger var1);

   boolean visit(GPAlterTableDisableEnabelTrigger var1);

   void endVisit(GPAlterTableCluster var1);

   boolean visit(GPAlterTableCluster var1);

   void endVisit(GPAlterTableSetReset var1);

   boolean visit(GPAlterTableSetReset var1);

   void endVisit(GPAlterTableSetReset.StorageParameter var1);

   boolean visit(GPAlterTableSetReset.StorageParameter var1);

   void endVisit(GPAlterTableInheriteOrNotParentTable var1);

   boolean visit(GPAlterTableInheriteOrNotParentTable var1);

   void endVisit(GPAlterTableOf var1);

   boolean visit(GPAlterTableOf var1);

   void endVisit(GPAlterTableSetTableSpace var1);

   boolean visit(GPAlterTableSetTableSpace var1);

   void endVisit(GPCreateDatabaseStatement var1);

   boolean visit(GPCreateDatabaseStatement var1);

   void endVisit(GPConstraint var1);

   boolean visit(GPConstraint var1);

   void endVisit(GPConstraint.GPConstraintCheck var1);

   boolean visit(GPConstraint.GPConstraintCheck var1);

   void endVisit(GPConstraint.GPUnique var1);

   boolean visit(GPConstraint.GPUnique var1);

   void endVisit(GPConstraint.GPPrimaryKey var1);

   boolean visit(GPConstraint.GPPrimaryKey var1);

   void endVisit(GPConstraint.GPForeignKey var1);

   boolean visit(GPConstraint.GPForeignKey var1);

   void endVisit(GPOptionValue var1);

   boolean visit(GPOptionValue var1);

   void endVisit(GPStorageParameter var1);

   boolean visit(GPStorageParameter var1);

   void endVisit(GPConstraint.GPIndexParamaters var1);

   boolean visit(GPConstraint.GPIndexParamaters var1);

   void endVisit(GPConstraint.GPReference var1);

   boolean visit(GPConstraint.GPReference var1);

   void endVisit(GPColumnDefinition var1);

   boolean visit(GPColumnDefinition var1);

   void endVisit(GPCreateTableStatement var1);

   boolean visit(GPCreateTableStatement var1);

   void endVisit(GPCreateTableStatement.GPTableDistributedBy var1);

   boolean visit(GPCreateTableStatement.GPTableDistributedBy var1);

   void endVisit(GPSQLObjectCollection var1);

   boolean visit(GPSQLObjectCollection var1);

   void endVisit(GPSchemaTables var1);

   boolean visit(GPSchemaTables var1);

   void endVisit(GPGrantStatement var1);

   boolean visit(GPGrantStatement var1);

   boolean visit(GPAlterViewStatement var1);

   boolean visit(GPCreateSeqenceStatement var1);

   boolean visit(GPCreateTableSpaceStatement var1);

   boolean visit(GPCreateViewStatement var1);

   boolean visit(GPDropSequenceStatement var1);

   boolean visit(GPSQLPartitionBy var1);

   boolean visit(GPSQLPartition var1);

   boolean visit(GPSQLIndexSpec var1);

   boolean visit(GPCreateIndexStatement var1);
}
