package com.chenyang.druid.sql.visitor;

import com.chenyang.druid.sql.ast.SQLAdhocTableSource;
import com.chenyang.druid.sql.ast.SQLAnnIndex;
import com.chenyang.druid.sql.ast.SQLArgument;
import com.chenyang.druid.sql.ast.SQLArrayDataType;
import com.chenyang.druid.sql.ast.SQLCommentHint;
import com.chenyang.druid.sql.ast.SQLCurrentTimeExpr;
import com.chenyang.druid.sql.ast.SQLCurrentUserExpr;
import com.chenyang.druid.sql.ast.SQLDataType;
import com.chenyang.druid.sql.ast.SQLDataTypeRefExpr;
import com.chenyang.druid.sql.ast.SQLDeclareItem;
import com.chenyang.druid.sql.ast.SQLIndexDefinition;
import com.chenyang.druid.sql.ast.SQLIndexOptions;
import com.chenyang.druid.sql.ast.SQLKeep;
import com.chenyang.druid.sql.ast.SQLLimit;
import com.chenyang.druid.sql.ast.SQLMapDataType;
import com.chenyang.druid.sql.ast.SQLObject;
import com.chenyang.druid.sql.ast.SQLOrderBy;
import com.chenyang.druid.sql.ast.SQLOver;
import com.chenyang.druid.sql.ast.SQLParameter;
import com.chenyang.druid.sql.ast.SQLPartition;
import com.chenyang.druid.sql.ast.SQLPartitionByHash;
import com.chenyang.druid.sql.ast.SQLPartitionByList;
import com.chenyang.druid.sql.ast.SQLPartitionByRange;
import com.chenyang.druid.sql.ast.SQLPartitionByValue;
import com.chenyang.druid.sql.ast.SQLPartitionSpec;
import com.chenyang.druid.sql.ast.SQLPartitionValue;
import com.chenyang.druid.sql.ast.SQLRecordDataType;
import com.chenyang.druid.sql.ast.SQLRowDataType;
import com.chenyang.druid.sql.ast.SQLStructDataType;
import com.chenyang.druid.sql.ast.SQLSubPartition;
import com.chenyang.druid.sql.ast.SQLSubPartitionByHash;
import com.chenyang.druid.sql.ast.SQLSubPartitionByList;
import com.chenyang.druid.sql.ast.SQLSubPartitionByRange;
import com.chenyang.druid.sql.ast.SQLUnionDataType;
import com.chenyang.druid.sql.ast.SQLWindow;
import com.chenyang.druid.sql.ast.expr.SQLAggregateExpr;
import com.chenyang.druid.sql.ast.expr.SQLAllColumnExpr;
import com.chenyang.druid.sql.ast.expr.SQLAllExpr;
import com.chenyang.druid.sql.ast.expr.SQLAnyExpr;
import com.chenyang.druid.sql.ast.expr.SQLArrayExpr;
import com.chenyang.druid.sql.ast.expr.SQLBetweenExpr;
import com.chenyang.druid.sql.ast.expr.SQLBigIntExpr;
import com.chenyang.druid.sql.ast.expr.SQLBinaryExpr;
import com.chenyang.druid.sql.ast.expr.SQLBinaryOpExpr;
import com.chenyang.druid.sql.ast.expr.SQLBinaryOpExprGroup;
import com.chenyang.druid.sql.ast.expr.SQLBooleanExpr;
import com.chenyang.druid.sql.ast.expr.SQLCaseExpr;
import com.chenyang.druid.sql.ast.expr.SQLCaseStatement;
import com.chenyang.druid.sql.ast.expr.SQLCastExpr;
import com.chenyang.druid.sql.ast.expr.SQLCharExpr;
import com.chenyang.druid.sql.ast.expr.SQLContainsExpr;
import com.chenyang.druid.sql.ast.expr.SQLCurrentOfCursorExpr;
import com.chenyang.druid.sql.ast.expr.SQLDateExpr;
import com.chenyang.druid.sql.ast.expr.SQLDateTimeExpr;
import com.chenyang.druid.sql.ast.expr.SQLDbLinkExpr;
import com.chenyang.druid.sql.ast.expr.SQLDecimalExpr;
import com.chenyang.druid.sql.ast.expr.SQLDefaultExpr;
import com.chenyang.druid.sql.ast.expr.SQLDoubleExpr;
import com.chenyang.druid.sql.ast.expr.SQLExistsExpr;
import com.chenyang.druid.sql.ast.expr.SQLExtractExpr;
import com.chenyang.druid.sql.ast.expr.SQLFlashbackExpr;
import com.chenyang.druid.sql.ast.expr.SQLFloatExpr;
import com.chenyang.druid.sql.ast.expr.SQLGroupingSetExpr;
import com.chenyang.druid.sql.ast.expr.SQLHexExpr;
import com.chenyang.druid.sql.ast.expr.SQLIdentifierExpr;
import com.chenyang.druid.sql.ast.expr.SQLInListExpr;
import com.chenyang.druid.sql.ast.expr.SQLInSubQueryExpr;
import com.chenyang.druid.sql.ast.expr.SQLIntegerExpr;
import com.chenyang.druid.sql.ast.expr.SQLIntervalExpr;
import com.chenyang.druid.sql.ast.expr.SQLJSONExpr;
import com.chenyang.druid.sql.ast.expr.SQLListExpr;
import com.chenyang.druid.sql.ast.expr.SQLMatchAgainstExpr;
import com.chenyang.druid.sql.ast.expr.SQLMethodInvokeExpr;
import com.chenyang.druid.sql.ast.expr.SQLNCharExpr;
import com.chenyang.druid.sql.ast.expr.SQLNotExpr;
import com.chenyang.druid.sql.ast.expr.SQLNullExpr;
import com.chenyang.druid.sql.ast.expr.SQLNumberExpr;
import com.chenyang.druid.sql.ast.expr.SQLPropertyExpr;
import com.chenyang.druid.sql.ast.expr.SQLQueryExpr;
import com.chenyang.druid.sql.ast.expr.SQLRealExpr;
import com.chenyang.druid.sql.ast.expr.SQLSequenceExpr;
import com.chenyang.druid.sql.ast.expr.SQLSizeExpr;
import com.chenyang.druid.sql.ast.expr.SQLSmallIntExpr;
import com.chenyang.druid.sql.ast.expr.SQLSomeExpr;
import com.chenyang.druid.sql.ast.expr.SQLTimeExpr;
import com.chenyang.druid.sql.ast.expr.SQLTimestampExpr;
import com.chenyang.druid.sql.ast.expr.SQLTinyIntExpr;
import com.chenyang.druid.sql.ast.expr.SQLUnaryExpr;
import com.chenyang.druid.sql.ast.expr.SQLValuesExpr;
import com.chenyang.druid.sql.ast.expr.SQLVariantRefExpr;
import com.chenyang.druid.sql.ast.statement.SQLAlterCharacter;
import com.chenyang.druid.sql.ast.statement.SQLAlterDatabaseStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterFunctionStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterIndexStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterMaterializedViewStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterOutlineStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterProcedureStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterSequenceStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterSetDateFormatStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterSetNlsDateLanguageStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterSystemGetConfigStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterSystemSetConfigStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterSystemStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableAddClusteringKey;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableAddColumn;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableAddConstraint;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableAddExtPartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableAddIndex;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableAddPartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableAddSupplemental;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableAlterColumn;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableAnalyzePartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableArchivePartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableBlockSize;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableCheckPartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableCoalescePartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableCompression;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableConvertCharSet;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDeleteByCondition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDisableConstraint;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDisableKeys;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDisableLifecycle;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDisableTriggers;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDiscardPartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDropCheck;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDropClusteringKey;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDropColumnItem;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDropConstraint;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDropExtPartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDropForeignKey;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDropIndex;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDropKey;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDropPartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDropPrimaryKey;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableDropSubpartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableEnableConstraint;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableEnableKeys;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableEnableLifecycle;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableEnableTriggers;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableExchangePartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableGroupStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableImportPartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableMergePartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableModifyClusteredBy;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableOptimizePartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTablePartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTablePartitionCount;
import com.chenyang.druid.sql.ast.statement.SQLAlterTablePartitionLifecycle;
import com.chenyang.druid.sql.ast.statement.SQLAlterTablePartitionSetProperties;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableReOrganizePartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableRebuildPartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableRecoverPartitions;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableRename;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableRenameColumn;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableRenameIndex;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableRenamePartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableRepairPartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableReplaceColumn;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableSetComment;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableSetLifecycle;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableSetLocation;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableSetOption;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableSubpartitionAvailablePartitionNum;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableSubpartitionLifecycle;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableTouch;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableTruncatePartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTableUnarchivePartition;
import com.chenyang.druid.sql.ast.statement.SQLAlterTablespaceAddDatafile;
import com.chenyang.druid.sql.ast.statement.SQLAlterTablespaceCache;
import com.chenyang.druid.sql.ast.statement.SQLAlterTablespaceDatafile;
import com.chenyang.druid.sql.ast.statement.SQLAlterTablespaceRename;
import com.chenyang.druid.sql.ast.statement.SQLAlterTablespaceRenameDatafile;
import com.chenyang.druid.sql.ast.statement.SQLAlterTablespaceResizeDatafile;
import com.chenyang.druid.sql.ast.statement.SQLAlterTablespaceStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterTypeStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterUserStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterViewRenameStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterViewStatement;
import com.chenyang.druid.sql.ast.statement.SQLAnalyzeTableStatement;
import com.chenyang.druid.sql.ast.statement.SQLArchiveTableStatement;
import com.chenyang.druid.sql.ast.statement.SQLAssignItem;
import com.chenyang.druid.sql.ast.statement.SQLBackupStatement;
import com.chenyang.druid.sql.ast.statement.SQLBlockStatement;
import com.chenyang.druid.sql.ast.statement.SQLBuildTableStatement;
import com.chenyang.druid.sql.ast.statement.SQLCallStatement;
import com.chenyang.druid.sql.ast.statement.SQLCancelJobStatement;
import com.chenyang.druid.sql.ast.statement.SQLCharacterDataType;
import com.chenyang.druid.sql.ast.statement.SQLCheck;
import com.chenyang.druid.sql.ast.statement.SQLCloseStatement;
import com.chenyang.druid.sql.ast.statement.SQLColumnCheck;
import com.chenyang.druid.sql.ast.statement.SQLColumnDefinition;
import com.chenyang.druid.sql.ast.statement.SQLColumnPrimaryKey;
import com.chenyang.druid.sql.ast.statement.SQLColumnReference;
import com.chenyang.druid.sql.ast.statement.SQLColumnUniqueKey;
import com.chenyang.druid.sql.ast.statement.SQLCommentStatement;
import com.chenyang.druid.sql.ast.statement.SQLCommitStatement;
import com.chenyang.druid.sql.ast.statement.SQLCopyFromStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateContextStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateDatabaseStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateDirectoryStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateDomainStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateFunctionStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateIndexStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateMaterializedViewStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateOutlineStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateProcedureStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateRoleStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateSequenceStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateTableGroupStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateTableStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateTablespaceStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateTriggerStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateUserStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateViewStatement;
import com.chenyang.druid.sql.ast.statement.SQLDeclareStatement;
import com.chenyang.druid.sql.ast.statement.SQLDefault;
import com.chenyang.druid.sql.ast.statement.SQLDeleteStatement;
import com.chenyang.druid.sql.ast.statement.SQLDescribeStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropCatalogStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropContextStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropDatabaseStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropDirectoryStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropDomainStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropEventStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropFunctionStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropIndexStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropLogFileGroupStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropMaterializedViewStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropOutlineStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropPackageStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropProcedureStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropResourceGroupStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropResourceStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropRoleStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropSequenceStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropServerStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropSynonymStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropTableGroupStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropTableSpaceStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropTableStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropTriggerStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropTypeStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropUserStatement;
import com.chenyang.druid.sql.ast.statement.SQLDropViewStatement;
import com.chenyang.druid.sql.ast.statement.SQLDumpStatement;
import com.chenyang.druid.sql.ast.statement.SQLErrorLoggingClause;
import com.chenyang.druid.sql.ast.statement.SQLExplainAnalyzeStatement;
import com.chenyang.druid.sql.ast.statement.SQLExplainStatement;
import com.chenyang.druid.sql.ast.statement.SQLExportDatabaseStatement;
import com.chenyang.druid.sql.ast.statement.SQLExportTableStatement;
import com.chenyang.druid.sql.ast.statement.SQLExprHint;
import com.chenyang.druid.sql.ast.statement.SQLExprStatement;
import com.chenyang.druid.sql.ast.statement.SQLExprTableSource;
import com.chenyang.druid.sql.ast.statement.SQLExternalRecordFormat;
import com.chenyang.druid.sql.ast.statement.SQLFetchStatement;
import com.chenyang.druid.sql.ast.statement.SQLForStatement;
import com.chenyang.druid.sql.ast.statement.SQLForeignKeyImpl;
import com.chenyang.druid.sql.ast.statement.SQLGrantStatement;
import com.chenyang.druid.sql.ast.statement.SQLIfStatement;
import com.chenyang.druid.sql.ast.statement.SQLImportDatabaseStatement;
import com.chenyang.druid.sql.ast.statement.SQLImportTableStatement;
import com.chenyang.druid.sql.ast.statement.SQLInsertStatement;
import com.chenyang.druid.sql.ast.statement.SQLJoinTableSource;
import com.chenyang.druid.sql.ast.statement.SQLLateralViewTableSource;
import com.chenyang.druid.sql.ast.statement.SQLLoadIndexIntoCacheStatement;
import com.chenyang.druid.sql.ast.statement.SQLLoopStatement;
import com.chenyang.druid.sql.ast.statement.SQLMergeStatement;
import com.chenyang.druid.sql.ast.statement.SQLNotNullConstraint;
import com.chenyang.druid.sql.ast.statement.SQLNullConstraint;
import com.chenyang.druid.sql.ast.statement.SQLOpenStatement;
import com.chenyang.druid.sql.ast.statement.SQLPartitionRef;
import com.chenyang.druid.sql.ast.statement.SQLPrimaryKeyImpl;
import com.chenyang.druid.sql.ast.statement.SQLPrivilegeItem;
import com.chenyang.druid.sql.ast.statement.SQLPurgeLogsStatement;
import com.chenyang.druid.sql.ast.statement.SQLPurgeRecyclebinStatement;
import com.chenyang.druid.sql.ast.statement.SQLPurgeTableStatement;
import com.chenyang.druid.sql.ast.statement.SQLRefreshMaterializedViewStatement;
import com.chenyang.druid.sql.ast.statement.SQLReleaseSavePointStatement;
import com.chenyang.druid.sql.ast.statement.SQLRenameUserStatement;
import com.chenyang.druid.sql.ast.statement.SQLReplaceStatement;
import com.chenyang.druid.sql.ast.statement.SQLRestoreStatement;
import com.chenyang.druid.sql.ast.statement.SQLReturnStatement;
import com.chenyang.druid.sql.ast.statement.SQLRevokeStatement;
import com.chenyang.druid.sql.ast.statement.SQLRollbackStatement;
import com.chenyang.druid.sql.ast.statement.SQLSavePointStatement;
import com.chenyang.druid.sql.ast.statement.SQLScriptCommitStatement;
import com.chenyang.druid.sql.ast.statement.SQLSelect;
import com.chenyang.druid.sql.ast.statement.SQLSelectGroupByClause;
import com.chenyang.druid.sql.ast.statement.SQLSelectItem;
import com.chenyang.druid.sql.ast.statement.SQLSelectOrderByItem;
import com.chenyang.druid.sql.ast.statement.SQLSelectQueryBlock;
import com.chenyang.druid.sql.ast.statement.SQLSelectStatement;
import com.chenyang.druid.sql.ast.statement.SQLSetSchemaStatement;
import com.chenyang.druid.sql.ast.statement.SQLSetStatement;
import com.chenyang.druid.sql.ast.statement.SQLSetTimeZoneStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowCatalogsStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowColumnsStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowCreateMaterializedViewStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowCreateTableStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowCreateViewStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowDatabasesStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowErrorsStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowFunctionsStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowGrantsStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowIndexesStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowMaterializedViewStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowOutlinesStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowPackagesStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowPartitionsStmt;
import com.chenyang.druid.sql.ast.statement.SQLShowProcessListStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowQueryTaskStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowRecylebinStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowSessionStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowStatisticListStmt;
import com.chenyang.druid.sql.ast.statement.SQLShowStatisticStmt;
import com.chenyang.druid.sql.ast.statement.SQLShowTableGroupsStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowTablesStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowUsersStatement;
import com.chenyang.druid.sql.ast.statement.SQLShowViewsStatement;
import com.chenyang.druid.sql.ast.statement.SQLStartTransactionStatement;
import com.chenyang.druid.sql.ast.statement.SQLSubmitJobStatement;
import com.chenyang.druid.sql.ast.statement.SQLSubqueryTableSource;
import com.chenyang.druid.sql.ast.statement.SQLSyncMetaStatement;
import com.chenyang.druid.sql.ast.statement.SQLTableLike;
import com.chenyang.druid.sql.ast.statement.SQLTableSampling;
import com.chenyang.druid.sql.ast.statement.SQLTruncateStatement;
import com.chenyang.druid.sql.ast.statement.SQLUnionQuery;
import com.chenyang.druid.sql.ast.statement.SQLUnionQueryTableSource;
import com.chenyang.druid.sql.ast.statement.SQLUnique;
import com.chenyang.druid.sql.ast.statement.SQLUnnestTableSource;
import com.chenyang.druid.sql.ast.statement.SQLUpdateSetItem;
import com.chenyang.druid.sql.ast.statement.SQLUpdateStatement;
import com.chenyang.druid.sql.ast.statement.SQLUseStatement;
import com.chenyang.druid.sql.ast.statement.SQLValuesQuery;
import com.chenyang.druid.sql.ast.statement.SQLValuesTableSource;
import com.chenyang.druid.sql.ast.statement.SQLWhileStatement;
import com.chenyang.druid.sql.ast.statement.SQLWhoamiStatement;
import com.chenyang.druid.sql.ast.statement.SQLWithSubqueryClause;
import com.chenyang.druid.sql.dialect.hive.ast.HiveInputOutputFormat;
import com.chenyang.druid.sql.dialect.hive.ast.stmt.HiveCreateTableStatement;
import com.chenyang.druid.sql.dialect.mysql.ast.statement.MySqlKillStatement;
import com.chenyang.druid.sql.dialect.mysql.ast.statement.SQLAlterResourceGroupStatement;
import com.chenyang.druid.sql.dialect.mysql.ast.statement.SQLCreateResourceGroupStatement;
import com.chenyang.druid.sql.dialect.mysql.ast.statement.SQLListResourceGroupStatement;

public interface SQLASTVisitor {
   void endVisit(SQLAllColumnExpr var1);

   void endVisit(SQLBetweenExpr var1);

   void endVisit(SQLBinaryOpExpr var1);

   void endVisit(SQLCaseExpr var1);

   void endVisit(SQLCaseExpr.Item var1);

   void endVisit(SQLCaseStatement var1);

   void endVisit(SQLCaseStatement.Item var1);

   void endVisit(SQLCharExpr var1);

   void endVisit(SQLIdentifierExpr var1);

   void endVisit(SQLInListExpr var1);

   void endVisit(SQLIntegerExpr var1);

   void endVisit(SQLSmallIntExpr var1);

   void endVisit(SQLBigIntExpr var1);

   void endVisit(SQLTinyIntExpr var1);

   void endVisit(SQLExistsExpr var1);

   void endVisit(SQLNCharExpr var1);

   void endVisit(SQLNotExpr var1);

   void endVisit(SQLNullExpr var1);

   void endVisit(SQLNumberExpr var1);

   void endVisit(SQLRealExpr var1);

   void endVisit(SQLPropertyExpr var1);

   void endVisit(SQLSelectGroupByClause var1);

   void endVisit(SQLSelectItem var1);

   void endVisit(SQLSelectStatement var1);

   void postVisit(SQLObject var1);

   void preVisit(SQLObject var1);

   boolean visit(SQLAllColumnExpr var1);

   boolean visit(SQLBetweenExpr var1);

   boolean visit(SQLBinaryOpExpr var1);

   boolean visit(SQLCaseExpr var1);

   boolean visit(SQLCaseExpr.Item var1);

   boolean visit(SQLCaseStatement var1);

   boolean visit(SQLCaseStatement.Item var1);

   boolean visit(SQLCastExpr var1);

   boolean visit(SQLCharExpr var1);

   boolean visit(SQLExistsExpr var1);

   boolean visit(SQLIdentifierExpr var1);

   boolean visit(SQLInListExpr var1);

   boolean visit(SQLIntegerExpr var1);

   boolean visit(SQLSmallIntExpr var1);

   boolean visit(SQLBigIntExpr var1);

   boolean visit(SQLTinyIntExpr var1);

   boolean visit(SQLNCharExpr var1);

   boolean visit(SQLNotExpr var1);

   boolean visit(SQLNullExpr var1);

   boolean visit(SQLNumberExpr var1);

   boolean visit(SQLRealExpr var1);

   boolean visit(SQLPropertyExpr var1);

   boolean visit(SQLSelectGroupByClause var1);

   boolean visit(SQLSelectItem var1);

   void endVisit(SQLCastExpr var1);

   boolean visit(SQLSelectStatement var1);

   void endVisit(SQLAggregateExpr var1);

   boolean visit(SQLAggregateExpr var1);

   boolean visit(SQLVariantRefExpr var1);

   void endVisit(SQLVariantRefExpr var1);

   boolean visit(SQLQueryExpr var1);

   void endVisit(SQLQueryExpr var1);

   boolean visit(SQLUnaryExpr var1);

   void endVisit(SQLUnaryExpr var1);

   boolean visit(SQLHexExpr var1);

   void endVisit(SQLHexExpr var1);

   boolean visit(SQLSelect var1);

   void endVisit(SQLSelect var1);

   boolean visit(SQLSelectQueryBlock var1);

   void endVisit(SQLSelectQueryBlock var1);

   boolean visit(SQLExprTableSource var1);

   void endVisit(SQLExprTableSource var1);

   boolean visit(SQLOrderBy var1);

   void endVisit(SQLOrderBy var1);

   boolean visit(SQLSelectOrderByItem var1);

   void endVisit(SQLSelectOrderByItem var1);

   boolean visit(SQLDropTableStatement var1);

   void endVisit(SQLDropTableStatement var1);

   boolean visit(SQLCreateTableStatement var1);

   void endVisit(SQLCreateTableStatement var1);

   boolean visit(SQLColumnDefinition var1);

   void endVisit(SQLColumnDefinition var1);

   boolean visit(SQLColumnDefinition.Identity var1);

   void endVisit(SQLColumnDefinition.Identity var1);

   boolean visit(SQLDataType var1);

   void endVisit(SQLDataType var1);

   boolean visit(SQLCharacterDataType var1);

   void endVisit(SQLCharacterDataType var1);

   boolean visit(SQLDeleteStatement var1);

   void endVisit(SQLDeleteStatement var1);

   boolean visit(SQLCurrentOfCursorExpr var1);

   void endVisit(SQLCurrentOfCursorExpr var1);

   boolean visit(SQLInsertStatement var1);

   void endVisit(SQLInsertStatement var1);

   boolean visit(SQLInsertStatement.ValuesClause var1);

   void endVisit(SQLInsertStatement.ValuesClause var1);

   boolean visit(SQLUpdateSetItem var1);

   void endVisit(SQLUpdateSetItem var1);

   boolean visit(SQLUpdateStatement var1);

   void endVisit(SQLUpdateStatement var1);

   boolean visit(SQLCreateViewStatement var1);

   void endVisit(SQLCreateViewStatement var1);

   boolean visit(SQLCreateViewStatement.Column var1);

   void endVisit(SQLCreateViewStatement.Column var1);

   boolean visit(SQLNotNullConstraint var1);

   void endVisit(SQLNotNullConstraint var1);

   void endVisit(SQLMethodInvokeExpr var1);

   boolean visit(SQLMethodInvokeExpr var1);

   void endVisit(SQLUnionQuery var1);

   boolean visit(SQLUnionQuery var1);

   void endVisit(SQLSetStatement var1);

   boolean visit(SQLSetStatement var1);

   void endVisit(SQLAssignItem var1);

   boolean visit(SQLAssignItem var1);

   void endVisit(SQLCallStatement var1);

   boolean visit(SQLCallStatement var1);

   void endVisit(SQLJoinTableSource var1);

   boolean visit(SQLJoinTableSource var1);

   void endVisit(SQLJoinTableSource.UDJ var1);

   boolean visit(SQLJoinTableSource.UDJ var1);

   void endVisit(SQLSomeExpr var1);

   boolean visit(SQLSomeExpr var1);

   void endVisit(SQLAnyExpr var1);

   boolean visit(SQLAnyExpr var1);

   void endVisit(SQLAllExpr var1);

   boolean visit(SQLAllExpr var1);

   void endVisit(SQLInSubQueryExpr var1);

   boolean visit(SQLInSubQueryExpr var1);

   void endVisit(SQLListExpr var1);

   boolean visit(SQLListExpr var1);

   void endVisit(SQLSubqueryTableSource var1);

   boolean visit(SQLSubqueryTableSource var1);

   void endVisit(SQLTruncateStatement var1);

   boolean visit(SQLTruncateStatement var1);

   void endVisit(SQLDefaultExpr var1);

   boolean visit(SQLDefaultExpr var1);

   void endVisit(SQLCommentStatement var1);

   boolean visit(SQLCommentStatement var1);

   void endVisit(SQLUseStatement var1);

   boolean visit(SQLUseStatement var1);

   boolean visit(SQLAlterTableAddColumn var1);

   void endVisit(SQLAlterTableAddColumn var1);

   boolean visit(SQLAlterTableDeleteByCondition var1);

   void endVisit(SQLAlterTableDeleteByCondition var1);

   boolean visit(SQLAlterTableModifyClusteredBy var1);

   void endVisit(SQLAlterTableModifyClusteredBy var1);

   boolean visit(SQLAlterTableDropColumnItem var1);

   void endVisit(SQLAlterTableDropColumnItem var1);

   boolean visit(SQLAlterTableDropIndex var1);

   void endVisit(SQLAlterTableDropIndex var1);

   boolean visit(SQLAlterTableGroupStatement var1);

   void endVisit(SQLAlterTableGroupStatement var1);

   boolean visit(SQLAlterSystemSetConfigStatement var1);

   void endVisit(SQLAlterSystemSetConfigStatement var1);

   boolean visit(SQLAlterSystemGetConfigStatement var1);

   void endVisit(SQLAlterSystemGetConfigStatement var1);

   boolean visit(SQLDropIndexStatement var1);

   void endVisit(SQLDropIndexStatement var1);

   boolean visit(SQLDropViewStatement var1);

   void endVisit(SQLDropViewStatement var1);

   boolean visit(SQLSavePointStatement var1);

   void endVisit(SQLSavePointStatement var1);

   boolean visit(SQLRollbackStatement var1);

   void endVisit(SQLRollbackStatement var1);

   boolean visit(SQLReleaseSavePointStatement var1);

   void endVisit(SQLReleaseSavePointStatement var1);

   void endVisit(SQLCommentHint var1);

   boolean visit(SQLCommentHint var1);

   void endVisit(SQLCreateDatabaseStatement var1);

   boolean visit(SQLCreateDatabaseStatement var1);

   void endVisit(SQLOver var1);

   boolean visit(SQLOver var1);

   void endVisit(SQLKeep var1);

   boolean visit(SQLKeep var1);

   void endVisit(SQLColumnPrimaryKey var1);

   boolean visit(SQLColumnPrimaryKey var1);

   boolean visit(SQLColumnUniqueKey var1);

   void endVisit(SQLColumnUniqueKey var1);

   void endVisit(SQLWithSubqueryClause var1);

   boolean visit(SQLWithSubqueryClause var1);

   void endVisit(SQLWithSubqueryClause.Entry var1);

   boolean visit(SQLWithSubqueryClause.Entry var1);

   void endVisit(SQLAlterTableAlterColumn var1);

   boolean visit(SQLAlterTableAlterColumn var1);

   boolean visit(SQLCheck var1);

   void endVisit(SQLCheck var1);

   boolean visit(SQLDefault var1);

   void endVisit(SQLDefault var1);

   boolean visit(SQLAlterTableDropForeignKey var1);

   void endVisit(SQLAlterTableDropForeignKey var1);

   boolean visit(SQLAlterTableDropPrimaryKey var1);

   void endVisit(SQLAlterTableDropPrimaryKey var1);

   boolean visit(SQLAlterTableDisableKeys var1);

   void endVisit(SQLAlterTableDisableKeys var1);

   boolean visit(SQLAlterTableEnableKeys var1);

   void endVisit(SQLAlterTableEnableKeys var1);

   boolean visit(SQLAlterTableStatement var1);

   void endVisit(SQLAlterTableStatement var1);

   boolean visit(SQLAlterTableDisableConstraint var1);

   void endVisit(SQLAlterTableDisableConstraint var1);

   boolean visit(SQLAlterTableEnableConstraint var1);

   void endVisit(SQLAlterTableEnableConstraint var1);

   boolean visit(SQLColumnCheck var1);

   void endVisit(SQLColumnCheck var1);

   boolean visit(SQLExprHint var1);

   void endVisit(SQLExprHint var1);

   boolean visit(SQLAlterTableDropConstraint var1);

   void endVisit(SQLAlterTableDropConstraint var1);

   boolean visit(SQLAlterTableDropCheck var1);

   void endVisit(SQLAlterTableDropCheck var1);

   boolean visit(SQLUnique var1);

   void endVisit(SQLUnique var1);

   boolean visit(SQLPrimaryKeyImpl var1);

   void endVisit(SQLPrimaryKeyImpl var1);

   boolean visit(SQLCreateIndexStatement var1);

   void endVisit(SQLCreateIndexStatement var1);

   boolean visit(SQLAlterTableRenameColumn var1);

   void endVisit(SQLAlterTableRenameColumn var1);

   boolean visit(SQLColumnReference var1);

   void endVisit(SQLColumnReference var1);

   boolean visit(SQLForeignKeyImpl var1);

   void endVisit(SQLForeignKeyImpl var1);

   boolean visit(SQLDropSequenceStatement var1);

   void endVisit(SQLDropSequenceStatement var1);

   boolean visit(SQLDropTriggerStatement var1);

   void endVisit(SQLDropTriggerStatement var1);

   void endVisit(SQLDropUserStatement var1);

   boolean visit(SQLDropUserStatement var1);

   void endVisit(SQLExplainStatement var1);

   boolean visit(SQLExplainStatement var1);

   void endVisit(SQLGrantStatement var1);

   boolean visit(SQLGrantStatement var1);

   void endVisit(SQLDropDatabaseStatement var1);

   boolean visit(SQLDropDatabaseStatement var1);

   void endVisit(SQLIndexOptions var1);

   boolean visit(SQLIndexOptions var1);

   void endVisit(SQLIndexDefinition var1);

   boolean visit(SQLIndexDefinition var1);

   void endVisit(SQLAlterTableAddIndex var1);

   boolean visit(SQLAlterTableAddIndex var1);

   void endVisit(SQLAlterTableAddConstraint var1);

   boolean visit(SQLAlterTableAddConstraint var1);

   void endVisit(SQLCreateTriggerStatement var1);

   boolean visit(SQLCreateTriggerStatement var1);

   void endVisit(SQLDropFunctionStatement var1);

   boolean visit(SQLDropFunctionStatement var1);

   void endVisit(SQLDropTableSpaceStatement var1);

   boolean visit(SQLDropTableSpaceStatement var1);

   void endVisit(SQLDropProcedureStatement var1);

   boolean visit(SQLDropProcedureStatement var1);

   void endVisit(SQLBooleanExpr var1);

   boolean visit(SQLBooleanExpr var1);

   void endVisit(SQLUnionQueryTableSource var1);

   boolean visit(SQLUnionQueryTableSource var1);

   void endVisit(SQLTimestampExpr var1);

   boolean visit(SQLTimestampExpr var1);

   void endVisit(SQLDateTimeExpr var1);

   boolean visit(SQLDateTimeExpr var1);

   void endVisit(SQLDoubleExpr var1);

   boolean visit(SQLDoubleExpr var1);

   void endVisit(SQLFloatExpr var1);

   boolean visit(SQLFloatExpr var1);

   void endVisit(SQLRevokeStatement var1);

   boolean visit(SQLRevokeStatement var1);

   void endVisit(SQLBinaryExpr var1);

   boolean visit(SQLBinaryExpr var1);

   void endVisit(SQLAlterTableRename var1);

   boolean visit(SQLAlterTableRename var1);

   void endVisit(SQLAlterViewRenameStatement var1);

   boolean visit(SQLAlterViewRenameStatement var1);

   void endVisit(SQLShowTablesStatement var1);

   boolean visit(SQLShowTablesStatement var1);

   void endVisit(SQLAlterTableAddPartition var1);

   boolean visit(SQLAlterTableAddPartition var1);

   void endVisit(SQLAlterTableAddExtPartition var1);

   boolean visit(SQLAlterTableAddExtPartition var1);

   void endVisit(SQLAlterTableDropExtPartition var1);

   boolean visit(SQLAlterTableDropExtPartition var1);

   void endVisit(SQLAlterTableDropPartition var1);

   boolean visit(SQLAlterTableDropPartition var1);

   void endVisit(SQLAlterTableRenamePartition var1);

   boolean visit(SQLAlterTableRenamePartition var1);

   void endVisit(SQLAlterTableSetComment var1);

   boolean visit(SQLAlterTableSetComment var1);

   void endVisit(SQLAlterTableSetLifecycle var1);

   boolean visit(SQLPrivilegeItem var1);

   void endVisit(SQLPrivilegeItem var1);

   boolean visit(SQLAlterTableSetLifecycle var1);

   void endVisit(SQLAlterTableEnableLifecycle var1);

   boolean visit(SQLAlterTableSetLocation var1);

   void endVisit(SQLAlterTableSetLocation var1);

   boolean visit(SQLAlterTableEnableLifecycle var1);

   void endVisit(SQLAlterTablePartition var1);

   boolean visit(SQLAlterTablePartition var1);

   void endVisit(SQLAlterTablePartitionSetProperties var1);

   boolean visit(SQLAlterTablePartitionSetProperties var1);

   void endVisit(SQLAlterTableDisableLifecycle var1);

   boolean visit(SQLAlterTableDisableLifecycle var1);

   void endVisit(SQLAlterTableTouch var1);

   boolean visit(SQLAlterTableTouch var1);

   void endVisit(SQLArrayExpr var1);

   boolean visit(SQLArrayExpr var1);

   void endVisit(SQLOpenStatement var1);

   boolean visit(SQLOpenStatement var1);

   void endVisit(SQLFetchStatement var1);

   boolean visit(SQLFetchStatement var1);

   void endVisit(SQLCloseStatement var1);

   boolean visit(SQLCloseStatement var1);

   boolean visit(SQLGroupingSetExpr var1);

   void endVisit(SQLGroupingSetExpr var1);

   boolean visit(SQLIfStatement var1);

   void endVisit(SQLIfStatement var1);

   boolean visit(SQLIfStatement.ElseIf var1);

   void endVisit(SQLIfStatement.ElseIf var1);

   boolean visit(SQLIfStatement.Else var1);

   void endVisit(SQLIfStatement.Else var1);

   boolean visit(SQLLoopStatement var1);

   void endVisit(SQLLoopStatement var1);

   boolean visit(SQLParameter var1);

   void endVisit(SQLParameter var1);

   boolean visit(SQLCreateProcedureStatement var1);

   void endVisit(SQLCreateProcedureStatement var1);

   boolean visit(SQLCreateFunctionStatement var1);

   void endVisit(SQLCreateFunctionStatement var1);

   boolean visit(SQLBlockStatement var1);

   void endVisit(SQLBlockStatement var1);

   boolean visit(SQLAlterTableDropKey var1);

   void endVisit(SQLAlterTableDropKey var1);

   boolean visit(SQLDeclareItem var1);

   void endVisit(SQLDeclareItem var1);

   boolean visit(SQLPartitionValue var1);

   void endVisit(SQLPartitionValue var1);

   boolean visit(SQLPartition var1);

   void endVisit(SQLPartition var1);

   boolean visit(SQLPartitionByRange var1);

   void endVisit(SQLPartitionByRange var1);

   boolean visit(SQLPartitionByHash var1);

   void endVisit(SQLPartitionByHash var1);

   boolean visit(SQLPartitionByList var1);

   void endVisit(SQLPartitionByList var1);

   boolean visit(SQLSubPartition var1);

   void endVisit(SQLSubPartition var1);

   boolean visit(SQLSubPartitionByHash var1);

   void endVisit(SQLSubPartitionByHash var1);

   boolean visit(SQLSubPartitionByRange var1);

   void endVisit(SQLSubPartitionByRange var1);

   boolean visit(SQLSubPartitionByList var1);

   void endVisit(SQLSubPartitionByList var1);

   boolean visit(SQLAlterDatabaseStatement var1);

   void endVisit(SQLAlterDatabaseStatement var1);

   boolean visit(SQLAlterTableConvertCharSet var1);

   void endVisit(SQLAlterTableConvertCharSet var1);

   boolean visit(SQLAlterTableReOrganizePartition var1);

   void endVisit(SQLAlterTableReOrganizePartition var1);

   boolean visit(SQLAlterTableCoalescePartition var1);

   void endVisit(SQLAlterTableCoalescePartition var1);

   boolean visit(SQLAlterTableTruncatePartition var1);

   void endVisit(SQLAlterTableTruncatePartition var1);

   boolean visit(SQLAlterTableDiscardPartition var1);

   void endVisit(SQLAlterTableDiscardPartition var1);

   boolean visit(SQLAlterTableImportPartition var1);

   void endVisit(SQLAlterTableImportPartition var1);

   boolean visit(SQLAlterTableAnalyzePartition var1);

   void endVisit(SQLAlterTableAnalyzePartition var1);

   boolean visit(SQLAlterTableCheckPartition var1);

   void endVisit(SQLAlterTableCheckPartition var1);

   boolean visit(SQLAlterTableOptimizePartition var1);

   void endVisit(SQLAlterTableOptimizePartition var1);

   boolean visit(SQLAlterTableRebuildPartition var1);

   void endVisit(SQLAlterTableRebuildPartition var1);

   boolean visit(SQLAlterTableRepairPartition var1);

   void endVisit(SQLAlterTableRepairPartition var1);

   boolean visit(SQLSequenceExpr var1);

   void endVisit(SQLSequenceExpr var1);

   boolean visit(SQLMergeStatement var1);

   void endVisit(SQLMergeStatement var1);

   boolean visit(SQLMergeStatement.MergeUpdateClause var1);

   void endVisit(SQLMergeStatement.MergeUpdateClause var1);

   boolean visit(SQLMergeStatement.MergeInsertClause var1);

   void endVisit(SQLMergeStatement.MergeInsertClause var1);

   boolean visit(SQLErrorLoggingClause var1);

   void endVisit(SQLErrorLoggingClause var1);

   boolean visit(SQLNullConstraint var1);

   void endVisit(SQLNullConstraint var1);

   boolean visit(SQLCreateSequenceStatement var1);

   void endVisit(SQLCreateSequenceStatement var1);

   boolean visit(SQLDateExpr var1);

   void endVisit(SQLDateExpr var1);

   boolean visit(SQLLimit var1);

   void endVisit(SQLLimit var1);

   void endVisit(SQLStartTransactionStatement var1);

   boolean visit(SQLStartTransactionStatement var1);

   void endVisit(SQLDescribeStatement var1);

   boolean visit(SQLDescribeStatement var1);

   boolean visit(SQLWhileStatement var1);

   void endVisit(SQLWhileStatement var1);

   boolean visit(SQLDeclareStatement var1);

   void endVisit(SQLDeclareStatement var1);

   boolean visit(SQLReturnStatement var1);

   void endVisit(SQLReturnStatement var1);

   boolean visit(SQLArgument var1);

   void endVisit(SQLArgument var1);

   boolean visit(SQLCommitStatement var1);

   void endVisit(SQLCommitStatement var1);

   boolean visit(SQLFlashbackExpr var1);

   void endVisit(SQLFlashbackExpr var1);

   boolean visit(SQLCreateMaterializedViewStatement var1);

   void endVisit(SQLCreateMaterializedViewStatement var1);

   boolean visit(SQLShowCreateMaterializedViewStatement var1);

   void endVisit(SQLShowCreateMaterializedViewStatement var1);

   boolean visit(SQLBinaryOpExprGroup var1);

   void endVisit(SQLBinaryOpExprGroup var1);

   boolean visit(SQLScriptCommitStatement var1);

   void endVisit(SQLScriptCommitStatement var1);

   boolean visit(SQLReplaceStatement var1);

   void endVisit(SQLReplaceStatement var1);

   boolean visit(SQLCreateUserStatement var1);

   void endVisit(SQLCreateUserStatement var1);

   boolean visit(SQLAlterFunctionStatement var1);

   void endVisit(SQLAlterFunctionStatement var1);

   boolean visit(SQLAlterTypeStatement var1);

   void endVisit(SQLAlterTypeStatement var1);

   boolean visit(SQLIntervalExpr var1);

   void endVisit(SQLIntervalExpr var1);

   boolean visit(SQLLateralViewTableSource var1);

   void endVisit(SQLLateralViewTableSource var1);

   boolean visit(SQLShowErrorsStatement var1);

   void endVisit(SQLShowErrorsStatement var1);

   boolean visit(SQLShowGrantsStatement var1);

   void endVisit(SQLShowGrantsStatement var1);

   boolean visit(SQLShowPackagesStatement var1);

   void endVisit(SQLShowPackagesStatement var1);

   boolean visit(SQLShowRecylebinStatement var1);

   void endVisit(SQLShowRecylebinStatement var1);

   boolean visit(SQLAlterCharacter var1);

   void endVisit(SQLAlterCharacter var1);

   boolean visit(SQLExprStatement var1);

   void endVisit(SQLExprStatement var1);

   boolean visit(SQLAlterProcedureStatement var1);

   void endVisit(SQLAlterProcedureStatement var1);

   boolean visit(SQLAlterViewStatement var1);

   void endVisit(SQLAlterViewStatement var1);

   boolean visit(SQLDropEventStatement var1);

   void endVisit(SQLDropEventStatement var1);

   boolean visit(SQLDropLogFileGroupStatement var1);

   void endVisit(SQLDropLogFileGroupStatement var1);

   boolean visit(SQLDropServerStatement var1);

   void endVisit(SQLDropServerStatement var1);

   boolean visit(SQLDropSynonymStatement var1);

   void endVisit(SQLDropSynonymStatement var1);

   boolean visit(SQLRecordDataType var1);

   void endVisit(SQLRecordDataType var1);

   boolean visit(SQLDropTypeStatement var1);

   void endVisit(SQLDropTypeStatement var1);

   boolean visit(SQLExternalRecordFormat var1);

   void endVisit(SQLExternalRecordFormat var1);

   boolean visit(SQLArrayDataType var1);

   void endVisit(SQLArrayDataType var1);

   boolean visit(SQLMapDataType var1);

   void endVisit(SQLMapDataType var1);

   boolean visit(SQLStructDataType var1);

   void endVisit(SQLStructDataType var1);

   boolean visit(SQLRowDataType var1);

   void endVisit(SQLRowDataType var1);

   boolean visit(SQLStructDataType.Field var1);

   void endVisit(SQLStructDataType.Field var1);

   boolean visit(SQLDropMaterializedViewStatement var1);

   void endVisit(SQLDropMaterializedViewStatement var1);

   boolean visit(SQLShowMaterializedViewStatement var1);

   void endVisit(SQLShowMaterializedViewStatement var1);

   boolean visit(SQLRefreshMaterializedViewStatement var1);

   void endVisit(SQLRefreshMaterializedViewStatement var1);

   boolean visit(SQLAlterMaterializedViewStatement var1);

   void endVisit(SQLAlterMaterializedViewStatement var1);

   boolean visit(SQLCreateTableGroupStatement var1);

   void endVisit(SQLCreateTableGroupStatement var1);

   boolean visit(SQLDropTableGroupStatement var1);

   void endVisit(SQLDropTableGroupStatement var1);

   boolean visit(SQLAlterTableSubpartitionAvailablePartitionNum var1);

   void endVisit(SQLAlterTableSubpartitionAvailablePartitionNum var1);

   void endVisit(SQLShowDatabasesStatement var1);

   boolean visit(SQLShowDatabasesStatement var1);

   void endVisit(SQLShowTableGroupsStatement var1);

   boolean visit(SQLShowTableGroupsStatement var1);

   void endVisit(SQLShowColumnsStatement var1);

   boolean visit(SQLShowColumnsStatement var1);

   void endVisit(SQLShowCreateTableStatement var1);

   boolean visit(SQLShowCreateTableStatement var1);

   void endVisit(SQLShowProcessListStatement var1);

   boolean visit(SQLShowProcessListStatement var1);

   void endVisit(SQLAlterTableSetOption var1);

   boolean visit(SQLAlterTableSetOption var1);

   boolean visit(SQLShowCreateViewStatement var1);

   void endVisit(SQLShowCreateViewStatement var1);

   boolean visit(SQLShowViewsStatement var1);

   void endVisit(SQLShowViewsStatement var1);

   boolean visit(SQLAlterTableRenameIndex var1);

   void endVisit(SQLAlterTableRenameIndex var1);

   boolean visit(SQLAlterSequenceStatement var1);

   void endVisit(SQLAlterSequenceStatement var1);

   boolean visit(SQLAlterTableExchangePartition var1);

   void endVisit(SQLAlterTableExchangePartition var1);

   boolean visit(SQLCreateRoleStatement var1);

   void endVisit(SQLCreateRoleStatement var1);

   boolean visit(SQLDropRoleStatement var1);

   void endVisit(SQLDropRoleStatement var1);

   boolean visit(SQLAlterTableReplaceColumn var1);

   void endVisit(SQLAlterTableReplaceColumn var1);

   boolean visit(SQLMatchAgainstExpr var1);

   void endVisit(SQLMatchAgainstExpr var1);

   boolean visit(SQLTimeExpr var1);

   void endVisit(SQLTimeExpr var1);

   boolean visit(SQLDropCatalogStatement var1);

   void endVisit(SQLDropCatalogStatement var1);

   void endVisit(SQLShowPartitionsStmt var1);

   boolean visit(SQLShowPartitionsStmt var1);

   void endVisit(SQLValuesExpr var1);

   boolean visit(SQLValuesExpr var1);

   void endVisit(SQLContainsExpr var1);

   boolean visit(SQLContainsExpr var1);

   void endVisit(SQLDumpStatement var1);

   boolean visit(SQLDumpStatement var1);

   void endVisit(SQLValuesTableSource var1);

   boolean visit(SQLValuesTableSource var1);

   void endVisit(SQLExtractExpr var1);

   boolean visit(SQLExtractExpr var1);

   void endVisit(SQLWindow var1);

   boolean visit(SQLWindow var1);

   void endVisit(SQLJSONExpr var1);

   boolean visit(SQLJSONExpr var1);

   void endVisit(SQLDecimalExpr var1);

   boolean visit(SQLDecimalExpr var1);

   void endVisit(SQLAnnIndex var1);

   boolean visit(SQLAnnIndex var1);

   void endVisit(SQLUnionDataType var1);

   boolean visit(SQLUnionDataType var1);

   void endVisit(SQLAlterTableRecoverPartitions var1);

   boolean visit(SQLAlterTableRecoverPartitions var1);

   void endVisit(SQLAlterIndexStatement var1);

   boolean visit(SQLAlterIndexStatement var1);

   boolean visit(SQLAlterIndexStatement.Rebuild var1);

   void endVisit(SQLAlterIndexStatement.Rebuild var1);

   boolean visit(SQLShowIndexesStatement var1);

   void endVisit(SQLShowIndexesStatement var1);

   boolean visit(SQLAnalyzeTableStatement var1);

   void endVisit(SQLAnalyzeTableStatement var1);

   boolean visit(SQLExportTableStatement var1);

   void endVisit(SQLExportTableStatement var1);

   boolean visit(SQLImportTableStatement var1);

   void endVisit(SQLImportTableStatement var1);

   boolean visit(SQLTableSampling var1);

   void endVisit(SQLTableSampling var1);

   boolean visit(SQLSizeExpr var1);

   void endVisit(SQLSizeExpr var1);

   boolean visit(SQLAlterTableArchivePartition var1);

   void endVisit(SQLAlterTableArchivePartition var1);

   boolean visit(SQLAlterTableUnarchivePartition var1);

   void endVisit(SQLAlterTableUnarchivePartition var1);

   boolean visit(SQLCreateOutlineStatement var1);

   void endVisit(SQLCreateOutlineStatement var1);

   boolean visit(SQLDropOutlineStatement var1);

   void endVisit(SQLDropOutlineStatement var1);

   boolean visit(SQLAlterOutlineStatement var1);

   void endVisit(SQLAlterOutlineStatement var1);

   boolean visit(SQLShowOutlinesStatement var1);

   void endVisit(SQLShowOutlinesStatement var1);

   boolean visit(SQLPurgeTableStatement var1);

   void endVisit(SQLPurgeTableStatement var1);

   boolean visit(SQLPurgeLogsStatement var1);

   void endVisit(SQLPurgeLogsStatement var1);

   boolean visit(SQLPurgeRecyclebinStatement var1);

   void endVisit(SQLPurgeRecyclebinStatement var1);

   boolean visit(SQLShowStatisticStmt var1);

   void endVisit(SQLShowStatisticStmt var1);

   boolean visit(SQLShowStatisticListStmt var1);

   void endVisit(SQLShowStatisticListStmt var1);

   boolean visit(SQLAlterTableAddSupplemental var1);

   void endVisit(SQLAlterTableAddSupplemental var1);

   boolean visit(SQLShowCatalogsStatement var1);

   void endVisit(SQLShowCatalogsStatement var1);

   boolean visit(SQLShowFunctionsStatement var1);

   void endVisit(SQLShowFunctionsStatement var1);

   boolean visit(SQLShowSessionStatement var1);

   void endVisit(SQLShowSessionStatement var1);

   boolean visit(SQLDbLinkExpr var1);

   void endVisit(SQLDbLinkExpr var1);

   boolean visit(SQLCurrentTimeExpr var1);

   void endVisit(SQLCurrentTimeExpr var1);

   boolean visit(SQLCurrentUserExpr var1);

   void endVisit(SQLCurrentUserExpr var1);

   boolean visit(SQLShowQueryTaskStatement var1);

   void endVisit(SQLShowQueryTaskStatement var1);

   boolean visit(SQLAdhocTableSource var1);

   void endVisit(SQLAdhocTableSource var1);

   boolean visit(HiveCreateTableStatement var1);

   void endVisit(HiveCreateTableStatement var1);

   boolean visit(HiveInputOutputFormat var1);

   void endVisit(HiveInputOutputFormat var1);

   boolean visit(SQLExplainAnalyzeStatement var1);

   void endVisit(SQLExplainAnalyzeStatement var1);

   boolean visit(SQLPartitionRef var1);

   void endVisit(SQLPartitionRef var1);

   boolean visit(SQLPartitionRef.Item var1);

   void endVisit(SQLPartitionRef.Item var1);

   boolean visit(SQLWhoamiStatement var1);

   void endVisit(SQLWhoamiStatement var1);

   boolean visit(SQLDropResourceStatement var1);

   void endVisit(SQLDropResourceStatement var1);

   boolean visit(SQLForStatement var1);

   void endVisit(SQLForStatement var1);

   boolean visit(SQLUnnestTableSource var1);

   void endVisit(SQLUnnestTableSource var1);

   boolean visit(SQLCopyFromStatement var1);

   void endVisit(SQLCopyFromStatement var1);

   boolean visit(SQLShowUsersStatement var1);

   void endVisit(SQLShowUsersStatement var1);

   boolean visit(SQLSubmitJobStatement var1);

   void endVisit(SQLSubmitJobStatement var1);

   boolean visit(SQLTableLike var1);

   void endVisit(SQLTableLike var1);

   boolean visit(SQLSyncMetaStatement var1);

   void endVisit(SQLSyncMetaStatement var1);

   void endVisit(SQLValuesQuery var1);

   boolean visit(SQLValuesQuery var1);

   void endVisit(SQLDataTypeRefExpr var1);

   boolean visit(SQLDataTypeRefExpr var1);

   void endVisit(SQLArchiveTableStatement var1);

   boolean visit(SQLArchiveTableStatement var1);

   void endVisit(SQLBackupStatement var1);

   boolean visit(SQLBackupStatement var1);

   void endVisit(SQLRestoreStatement var1);

   boolean visit(SQLRestoreStatement var1);

   void endVisit(SQLBuildTableStatement var1);

   boolean visit(SQLBuildTableStatement var1);

   void endVisit(SQLCancelJobStatement var1);

   boolean visit(SQLCancelJobStatement var1);

   void endVisit(SQLExportDatabaseStatement var1);

   boolean visit(SQLExportDatabaseStatement var1);

   void endVisit(SQLImportDatabaseStatement var1);

   boolean visit(SQLImportDatabaseStatement var1);

   void endVisit(SQLRenameUserStatement var1);

   boolean visit(SQLRenameUserStatement var1);

   void endVisit(SQLPartitionByValue var1);

   boolean visit(SQLPartitionByValue var1);

   void endVisit(SQLAlterTablePartitionCount var1);

   boolean visit(SQLAlterTablePartitionCount var1);

   void endVisit(SQLAlterTableBlockSize var1);

   boolean visit(SQLAlterTableBlockSize var1);

   void endVisit(SQLAlterTableCompression var1);

   boolean visit(SQLAlterTableCompression var1);

   void endVisit(SQLAlterTablePartitionLifecycle var1);

   boolean visit(SQLAlterTablePartitionLifecycle var1);

   void endVisit(SQLAlterTableSubpartitionLifecycle var1);

   boolean visit(SQLAlterTableSubpartitionLifecycle var1);

   void endVisit(SQLAlterTableDropSubpartition var1);

   boolean visit(SQLAlterTableDropSubpartition var1);

   void endVisit(SQLAlterTableDropClusteringKey var1);

   boolean visit(SQLAlterTableDropClusteringKey var1);

   void endVisit(SQLAlterTableAddClusteringKey var1);

   boolean visit(SQLAlterTableAddClusteringKey var1);

   void endVisit(MySqlKillStatement var1);

   boolean visit(MySqlKillStatement var1);

   boolean visit(SQLCreateResourceGroupStatement var1);

   void endVisit(SQLCreateResourceGroupStatement var1);

   boolean visit(SQLAlterResourceGroupStatement var1);

   void endVisit(SQLAlterResourceGroupStatement var1);

   void endVisit(SQLDropResourceGroupStatement var1);

   boolean visit(SQLDropResourceGroupStatement var1);

   void endVisit(SQLListResourceGroupStatement var1);

   boolean visit(SQLListResourceGroupStatement var1);

   void endVisit(SQLAlterTableMergePartition var1);

   boolean visit(SQLAlterTableMergePartition var1);

   void endVisit(SQLPartitionSpec var1);

   boolean visit(SQLPartitionSpec var1);

   void endVisit(SQLPartitionSpec.Item var1);

   boolean visit(SQLPartitionSpec.Item var1);

   boolean visit(SQLLoadIndexIntoCacheStatement var1);

   void endVisit(SQLLoadIndexIntoCacheStatement var1);

   boolean visit(SQLAlterTableEnableTriggers var1);

   void endVisit(SQLAlterTableEnableTriggers var1);

   boolean visit(SQLAlterTableDisableTriggers var1);

   void endVisit(SQLAlterTableDisableTriggers var1);

   boolean visit(SQLAlterUserStatement var1);

   void endVisit(SQLAlterUserStatement var1);

   boolean visit(SQLSetSchemaStatement var1);

   void endVisit(SQLSetSchemaStatement var1);

   boolean visit(SQLCreateTablespaceStatement var1);

   void endVisit(SQLCreateTablespaceStatement var1);

   boolean visit(SQLCreateTablespaceStatement.FileItem var1);

   void endVisit(SQLCreateTablespaceStatement.FileItem var1);

   boolean visit(SQLAlterTablespaceStatement var1);

   void endVisit(SQLAlterTablespaceStatement var1);

   boolean visit(SQLAlterTablespaceRename var1);

   void endVisit(SQLAlterTablespaceRename var1);

   boolean visit(SQLAlterTablespaceRenameDatafile var1);

   void endVisit(SQLAlterTablespaceRenameDatafile var1);

   boolean visit(SQLAlterTablespaceAddDatafile var1);

   void endVisit(SQLAlterTablespaceAddDatafile var1);

   boolean visit(SQLAlterTablespaceResizeDatafile var1);

   void endVisit(SQLAlterTablespaceResizeDatafile var1);

   boolean visit(SQLAlterTablespaceDatafile var1);

   void endVisit(SQLAlterTablespaceDatafile var1);

   boolean visit(SQLCreateDomainStatement var1);

   void endVisit(SQLCreateDomainStatement var1);

   boolean visit(SQLDropDomainStatement var1);

   void endVisit(SQLDropDomainStatement var1);

   boolean visit(SQLCreateContextStatement var1);

   void endVisit(SQLCreateContextStatement var1);

   boolean visit(SQLDropContextStatement var1);

   void endVisit(SQLDropContextStatement var1);

   boolean visit(SQLCreateDirectoryStatement var1);

   void endVisit(SQLCreateDirectoryStatement var1);

   boolean visit(SQLDropDirectoryStatement var1);

   void endVisit(SQLDropDirectoryStatement var1);

   boolean visit(SQLSetTimeZoneStatement var1);

   void endVisit(SQLSetTimeZoneStatement var1);

   boolean visit(SQLAlterSetNlsDateLanguageStatement var1);

   void endVisit(SQLAlterSetNlsDateLanguageStatement var1);

   boolean visit(SQLAlterSetDateFormatStatement var1);

   void endVisit(SQLAlterSetDateFormatStatement var1);

   boolean visit(SQLAlterSystemStatement var1);

   void endVisit(SQLAlterSystemStatement var1);

   boolean visit(SQLAlterTablespaceCache var1);

   void endVisit(SQLAlterTablespaceCache var1);

   boolean visit(SQLDropPackageStatement var1);

   void endVisit(SQLDropPackageStatement var1);
}
