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

import com.chenyang.druid.DbType;
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.SQLExpr;
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.SQLName;
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.SQLStatement;
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.SQLTableSource;
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.mariadb.ast.MariadbForceIndexHint;
import com.chenyang.druid.sql.dialect.mariadb.ast.MariadbForeignKey;
import com.chenyang.druid.sql.dialect.mariadb.ast.MariadbIgnoreIndexHint;
import com.chenyang.druid.sql.dialect.mariadb.ast.MariadbKey;
import com.chenyang.druid.sql.dialect.mariadb.ast.MariadbPrimaryKey;
import com.chenyang.druid.sql.dialect.mariadb.ast.MariadbUnique;
import com.chenyang.druid.sql.dialect.mariadb.ast.MariadbUseIndexHint;
import com.chenyang.druid.sql.dialect.mariadb.ast.clause.MariadbCaseStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.clause.MariadbCursorDeclareStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.clause.MariadbDeclareConditionStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.clause.MariadbDeclareHandlerStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.clause.MariadbDeclareStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.clause.MariadbIterateStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.clause.MariadbLeaveStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.clause.MariadbRepeatStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.clause.MariadbSelectIntoStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.clause.MariadbTableTableSource;
import com.chenyang.druid.sql.dialect.mariadb.ast.expr.MariadbCharExpr;
import com.chenyang.druid.sql.dialect.mariadb.ast.expr.MariadbIntervalExpr;
import com.chenyang.druid.sql.dialect.mariadb.ast.expr.MariadbJSONTableExpr;
import com.chenyang.druid.sql.dialect.mariadb.ast.expr.MariadbOrderingExpr;
import com.chenyang.druid.sql.dialect.mariadb.ast.expr.MariadbOutFileExpr;
import com.chenyang.druid.sql.dialect.mariadb.ast.expr.MariadbUserName;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.CobarShowStatus;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.DrdsBaselineStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.DrdsCancelDDLJob;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.DrdsChangeDDLJob;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.DrdsClearDDLJobCache;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.DrdsInspectDDLJobCache;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.DrdsRecoverDDLJob;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.DrdsRemoveDDLJob;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.DrdsRollbackDDLJob;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.DrdsShowDDLJobs;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.DrdsShowGlobalIndex;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.DrdsShowMetadataLock;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterDatabaseKillJob;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterDatabaseSetOption;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterEventStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterFullTextStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterLogFileGroupStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterResourceGroupStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterServerStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableAddExtPartition;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableAlterCheck;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableAlterColumn;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableAlterFullTextIndex;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableAlterIndex;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableChangeColumn;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableDiscardTablespace;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableDropExtPartition;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableForce;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableImportTablespace;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableLock;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableModifyColumn;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableOption;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableOrderBy;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTableValidation;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterTablespaceStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAlterUserStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbAnalyzeStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbBinlogStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCacheIndexStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCheckTableStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbChecksumTableStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbClearPlanCacheStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateAddLogFileGroupStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateEventStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateExternalCatalogStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateFullTextAnalyzerStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateFullTextCharFilterStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateFullTextDictionaryStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateFullTextTokenFilterStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateFullTextTokenizerStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateResourceGroupStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateServerStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateTableSpaceStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateTableStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbCreateUserStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbDeallocatePrepareStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbDeleteStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbDisabledPlanCacheStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbDropFullTextStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbEventSchedule;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbExecuteForAdsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbExecuteStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbExplainPlanCacheStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbExplainStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbExtPartition;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbFlashbackStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbFlushStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbGrantStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbHelpStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbHintStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbImportTableStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbInsertStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbKillStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbListResourceGroupStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbLoadDataInFileStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbLoadXmlStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbLockTableStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbManageInstanceGroupStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbMigrateStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbOptimizeStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbPartitionByKey;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbPrepareStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbRaftLeaderTransferStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbRaftMemberChangeStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbRenameSequenceStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbRenameTableStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbRepairTableStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbResetStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbRevokeStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbSelectQueryBlock;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbSetTransactionStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowAuthorsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowBinLogEventsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowBinaryLogsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowBroadcastsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowCharacterSetStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowClusterNameStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowCollationStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowColumnStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowConfigStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowContributorsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowCreateDatabaseStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowCreateEventStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowCreateFullTextStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowCreateFunctionStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowCreateProcedureStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowCreateTableStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowCreateTriggerStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowDatabaseStatusStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowDatasourcesStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowDbLockStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowDdlStatusStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowDsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowEngineStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowEnginesStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowErrorsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowEventsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowFullTextStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowFunctionCodeStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowFunctionStatusStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowGrantsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowHMSMetaStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowHelpStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowHtcStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowJobStatusStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowMasterLogsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowMasterStatusStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowMigrateTaskStatusStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowNodeStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowOpenTablesStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowPartitionsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowPhysicalProcesslistStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowPlanCacheStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowPlanCacheStatusStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowPluginsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowPrivilegesStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowProcedureCodeStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowProcedureStatusStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowProcessListStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowProfileStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowProfilesStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowRelayLogEventsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowRuleStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowRuleStatusStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowSequencesStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowSlaveHostsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowSlaveStatusStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowSlowStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowStatusStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowStcStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowTableStatusStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowTopologyStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowTraceStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowTriggersStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowVariantsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbShowWarningsStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbSubPartitionByKey;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbSubPartitionByList;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbSubPartitionByValue;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbTableIndex;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbUnlockTablesStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbUpdatePlanCacheStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbUpdateStatement;
import com.chenyang.druid.sql.dialect.mariadb.ast.statement.MariadbUpdateTableSource;
import com.chenyang.druid.sql.repository.SchemaRepository;
import com.chenyang.druid.sql.visitor.SchemaStatVisitor;
import com.chenyang.druid.stat.TableStat;

public class MariadbSchemaStatVisitor extends SchemaStatVisitor implements MariadbASTVisitor {
   public MariadbSchemaStatVisitor() {
      super(DbType.mariadb);
   }

   public MariadbSchemaStatVisitor(SchemaRepository repository) {
      super(repository);
   }

   public boolean visit(SQLSelectStatement x) {
      if (this.repository != null && x.getParent() == null) {
         this.repository.resolve(x);
      }

      return true;
   }

   public DbType getDbType() {
      return DbType.mariadb;
   }

   public boolean visit(MariadbDeleteStatement x) {
      if (this.repository != null && x.getParent() == null) {
         this.repository.resolve((SQLStatement)x);
      }

      SQLTableSource from = x.getFrom();
      if (from != null) {
         from.accept(this);
      }

      SQLTableSource using = x.getUsing();
      if (using != null) {
         using.accept(this);
      }

      SQLTableSource tableSource = x.getTableSource();
      tableSource.accept(this);
      if (tableSource instanceof SQLExprTableSource) {
         TableStat stat = this.getTableStat((SQLExprTableSource)tableSource);
         stat.incrementDeleteCount();
      }

      this.accept(x.getWhere());
      this.accept(x.getOrderBy());
      this.accept(x.getLimit());
      return false;
   }

   public void endVisit(MariadbInsertStatement x) {
      this.setModeOrigin(x);
   }

   public boolean visit(MariadbInsertStatement x) {
      if (this.repository != null && x.getParent() == null) {
         this.repository.resolve((SQLStatement)x);
      }

      this.setMode(x, TableStat.Mode.Insert);
      TableStat stat = this.getTableStat(x.getTableSource());
      if (stat != null) {
         stat.incrementInsertCount();
      }

      this.accept(x.getColumns());
      this.accept(x.getValuesList());
      this.accept(x.getQuery());
      this.accept(x.getDuplicateKeyUpdate());
      return false;
   }

   public boolean visit(MariadbTableIndex x) {
      return false;
   }

   public boolean visit(MariadbKey x) {
      for(SQLObject item : x.getColumns()) {
         item.accept(this);
      }

      return false;
   }

   public boolean visit(MariadbPrimaryKey x) {
      for(SQLSelectOrderByItem item : x.getColumns()) {
         SQLExpr expr = item.getExpr();
         expr.accept(this);
      }

      return false;
   }

   public boolean visit(SQLShowColumnsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowDatabaseStatusStatement x) {
      return false;
   }

   public boolean visit(MariadbCreateExternalCatalogStatement x) {
      return true;
   }

   public boolean visit(MariadbCreateUserStatement x) {
      return false;
   }

   public boolean visit(MariadbPartitionByKey x) {
      this.accept(x.getColumns());
      return false;
   }

   public boolean visit(MariadbUpdatePlanCacheStatement x) {
      return false;
   }

   public boolean visit(MariadbShowPlanCacheStatusStatement x) {
      return false;
   }

   public boolean visit(MariadbClearPlanCacheStatement x) {
      return false;
   }

   public boolean visit(MariadbDisabledPlanCacheStatement x) {
      return false;
   }

   public boolean visit(MariadbAlterDatabaseSetOption x) {
      return false;
   }

   public boolean visit(MariadbAlterDatabaseKillJob x) {
      return false;
   }

   public boolean visit(MariadbExplainPlanCacheStatement x) {
      return false;
   }

   public boolean visit(MariadbOutFileExpr x) {
      return false;
   }

   public boolean visit(MariadbExplainStatement x) {
      if (this.repository != null && x.getParent() == null) {
         this.repository.resolve((SQLStatement)x);
      }

      SQLName tableName = x.getTableName();
      if (tableName != null) {
         this.getTableStat(tableName);
         SQLName columnName = x.getColumnName();
         if (columnName != null) {
            this.addColumn(tableName, columnName.getSimpleName());
         }
      }

      if (x.getStatement() != null) {
         this.accept(x.getStatement());
      }

      return false;
   }

   public boolean visit(MariadbUpdateStatement x) {
      this.visit((SQLUpdateStatement)x);

      for(SQLExpr item : x.getReturning()) {
         item.accept(this);
      }

      return false;
   }

   public boolean visit(MariadbSetTransactionStatement x) {
      return false;
   }

   public boolean visit(MariadbShowHMSMetaStatement x) {
      return false;
   }

   public boolean visit(MariadbShowAuthorsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowBinaryLogsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowMasterLogsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowCollationStatement x) {
      return false;
   }

   public boolean visit(MariadbShowBinLogEventsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowCharacterSetStatement x) {
      return false;
   }

   public boolean visit(MariadbShowContributorsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowCreateDatabaseStatement x) {
      return false;
   }

   public boolean visit(MariadbShowCreateEventStatement x) {
      return false;
   }

   public boolean visit(MariadbShowCreateFunctionStatement x) {
      return false;
   }

   public boolean visit(MariadbShowCreateProcedureStatement x) {
      return false;
   }

   public boolean visit(SQLShowCreateTableStatement x) {
      return false;
   }

   public boolean visit(MariadbShowCreateTriggerStatement x) {
      return false;
   }

   public boolean visit(MariadbShowEngineStatement x) {
      return false;
   }

   public boolean visit(MariadbShowEnginesStatement x) {
      return false;
   }

   public boolean visit(MariadbShowErrorsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowEventsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowFunctionCodeStatement x) {
      return false;
   }

   public boolean visit(MariadbShowFunctionStatusStatement x) {
      return false;
   }

   public boolean visit(MariadbShowGrantsStatement x) {
      return false;
   }

   public boolean visit(MariadbUserName x) {
      return false;
   }

   public boolean visit(MariadbShowMasterStatusStatement x) {
      return false;
   }

   public boolean visit(MariadbShowOpenTablesStatement x) {
      return false;
   }

   public boolean visit(MariadbShowPluginsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowPartitionsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowPrivilegesStatement x) {
      return false;
   }

   public boolean visit(MariadbShowProcedureCodeStatement x) {
      return false;
   }

   public boolean visit(MariadbShowProcedureStatusStatement x) {
      return false;
   }

   public boolean visit(MariadbShowProcessListStatement x) {
      return false;
   }

   public boolean visit(MariadbShowProfileStatement x) {
      return false;
   }

   public boolean visit(MariadbShowProfilesStatement x) {
      return false;
   }

   public boolean visit(MariadbShowRelayLogEventsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowRuleStatement x) {
      return false;
   }

   public boolean visit(MariadbShowRuleStatusStatement x) {
      return false;
   }

   public boolean visit(MariadbShowSlaveHostsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowSequencesStatement x) {
      return false;
   }

   public boolean visit(MariadbShowSlowStatement x) {
      return false;
   }

   public boolean visit(MariadbShowSlaveStatusStatement x) {
      return false;
   }

   public boolean visit(MariadbShowTableStatusStatement x) {
      return false;
   }

   public boolean visit(MariadbShowDbLockStatement x) {
      return false;
   }

   public boolean visit(MariadbShowHtcStatement x) {
      return false;
   }

   public boolean visit(MariadbShowStcStatement x) {
      return false;
   }

   public boolean visit(MariadbShowTriggersStatement x) {
      return false;
   }

   public boolean visit(MariadbShowTraceStatement x) {
      return false;
   }

   public boolean visit(MariadbShowBroadcastsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowDdlStatusStatement x) {
      return false;
   }

   public boolean visit(MariadbShowDsStatement x) {
      return false;
   }

   public boolean visit(MariadbShowTopologyStatement x) {
      return false;
   }

   public boolean visit(MariadbShowVariantsStatement x) {
      return false;
   }

   public boolean visit(MariadbRenameTableStatement.Item x) {
      return false;
   }

   public boolean visit(MariadbRenameTableStatement x) {
      return false;
   }

   public boolean visit(MariadbUseIndexHint x) {
      return false;
   }

   public boolean visit(MariadbIgnoreIndexHint x) {
      return false;
   }

   public boolean visit(MariadbLockTableStatement x) {
      return false;
   }

   public boolean visit(MariadbLockTableStatement.Item x) {
      return false;
   }

   public boolean visit(MariadbUnlockTablesStatement x) {
      return false;
   }

   public boolean visit(MariadbForceIndexHint x) {
      return false;
   }

   public boolean visit(MariadbAlterTableChangeColumn x) {
      SQLAlterTableStatement stmt = (SQLAlterTableStatement)x.getParent();
      SQLName table = stmt.getName();
      SQLName column = x.getColumnName();
      String columnName = column.toString();
      this.addColumn(table, columnName);
      return false;
   }

   public boolean visit(MariadbAlterTableModifyColumn x) {
      SQLAlterTableStatement stmt = (SQLAlterTableStatement)x.getParent();
      SQLName table = stmt.getName();
      SQLName column = x.getNewColumnDefinition().getName();
      String columnName = column.toString();
      this.addColumn(table, columnName);
      return false;
   }

   public boolean visit(SQLAlterCharacter x) {
      return false;
   }

   public boolean visit(MariadbAlterTableOption x) {
      return false;
   }

   public boolean visit(MariadbCreateTableStatement x) {
      if (this.repository != null && x.getParent() == null) {
         this.repository.resolve((SQLStatement)x);
      }

      boolean val = super.visit((SQLCreateTableStatement)x);
      SQLExpr union = x.getOption("union");
      if (union instanceof SQLListExpr) {
         for(SQLExpr item : ((SQLListExpr)union).getItems()) {
            if (item instanceof SQLName) {
               this.getTableStatWithUnwrap(item);
            }
         }
      }

      return val;
   }

   public boolean visit(MariadbHelpStatement x) {
      return false;
   }

   public boolean visit(MariadbCharExpr x) {
      return false;
   }

   public boolean visit(MariadbUnique x) {
      return false;
   }

   public boolean visit(MariadbAlterTableDiscardTablespace x) {
      return false;
   }

   public boolean visit(MariadbAlterTableImportTablespace x) {
      return false;
   }

   public boolean visit(MariadbCreateTableStatement.TableSpaceOption x) {
      return false;
   }

   public boolean visit(MariadbAlterTableAlterColumn x) {
      return false;
   }

   public boolean visit(MariadbAlterTableForce x) {
      return false;
   }

   public boolean visit(MariadbAlterTableLock x) {
      return false;
   }

   public boolean visit(MariadbAlterTableOrderBy x) {
      return false;
   }

   public boolean visit(MariadbAlterTableValidation x) {
      return false;
   }

   public boolean visit(MariadbCaseStatement x) {
      this.accept(x.getWhenList());
      return false;
   }

   public boolean visit(MariadbSelectIntoStatement x) {
      return false;
   }

   public boolean visit(MariadbCaseStatement.MariadbWhenStatement x) {
      this.accept(x.getStatements());
      return false;
   }

   public boolean visit(MariadbLeaveStatement x) {
      return false;
   }

   public boolean visit(MariadbIterateStatement x) {
      return false;
   }

   public boolean visit(MariadbRepeatStatement x) {
      this.accept(x.getStatements());
      return false;
   }

   public boolean visit(MariadbCursorDeclareStatement x) {
      this.accept(x.getSelect());
      return false;
   }

   public boolean visit(MariadbUpdateTableSource x) {
      return x.getUpdate() != null ? this.visit(x.getUpdate()) : false;
   }

   public boolean visit(MariadbSubPartitionByKey x) {
      return false;
   }

   public boolean visit(MariadbSubPartitionByList x) {
      return false;
   }

   public boolean visit(MariadbDeclareHandlerStatement x) {
      return false;
   }

   public boolean visit(MariadbDeclareConditionStatement x) {
      return false;
   }

   public boolean visit(MariadbFlushStatement x) {
      return false;
   }

   public boolean visit(MariadbEventSchedule x) {
      return false;
   }

   public boolean visit(MariadbCreateEventStatement x) {
      return false;
   }

   public boolean visit(MariadbCreateAddLogFileGroupStatement x) {
      return false;
   }

   public boolean visit(MariadbCreateServerStatement x) {
      return false;
   }

   public boolean visit(MariadbCreateTableSpaceStatement x) {
      return false;
   }

   public boolean visit(MariadbAlterEventStatement x) {
      return false;
   }

   public boolean visit(MariadbAlterLogFileGroupStatement x) {
      return false;
   }

   public boolean visit(MariadbAlterServerStatement x) {
      return false;
   }

   public boolean visit(MariadbAlterTablespaceStatement x) {
      return false;
   }

   public boolean visit(MariadbChecksumTableStatement x) {
      return true;
   }

   public boolean visit(MariadbShowDatasourcesStatement x) {
      return false;
   }

   public boolean visit(MariadbShowNodeStatement x) {
      return false;
   }

   public boolean visit(MariadbShowHelpStatement x) {
      return false;
   }

   public boolean visit(MariadbFlashbackStatement x) {
      return false;
   }

   public boolean visit(MariadbShowConfigStatement x) {
      return false;
   }

   public boolean visit(MariadbShowPlanCacheStatement x) {
      return false;
   }

   public boolean visit(MariadbShowPhysicalProcesslistStatement x) {
      return false;
   }

   public boolean visit(MariadbRenameSequenceStatement x) {
      return false;
   }

   public boolean visit(MariadbCheckTableStatement x) {
      for(SQLExprTableSource tableSource : x.getTables()) {
         tableSource.accept(this);
      }

      return false;
   }

   public boolean visit(MariadbCreateFullTextCharFilterStatement x) {
      return false;
   }

   public boolean visit(MariadbShowFullTextStatement x) {
      return false;
   }

   public boolean visit(MariadbShowCreateFullTextStatement x) {
      return false;
   }

   public boolean visit(MariadbAlterFullTextStatement x) {
      return false;
   }

   public boolean visit(MariadbDropFullTextStatement x) {
      return false;
   }

   public boolean visit(MariadbCreateFullTextTokenizerStatement x) {
      return false;
   }

   public boolean visit(MariadbCreateFullTextTokenFilterStatement x) {
      return false;
   }

   public boolean visit(MariadbCreateFullTextAnalyzerStatement x) {
      return false;
   }

   public boolean visit(MariadbCreateFullTextDictionaryStatement x) {
      return false;
   }

   public boolean visit(MariadbAlterTableAlterFullTextIndex x) {
      return false;
   }

   public boolean visit(MariadbExecuteForAdsStatement x) {
      return false;
   }

   public boolean visit(MariadbManageInstanceGroupStatement x) {
      return false;
   }

   public boolean visit(MariadbRaftMemberChangeStatement x) {
      return false;
   }

   public boolean visit(MariadbRaftLeaderTransferStatement x) {
      return false;
   }

   public boolean visit(MariadbMigrateStatement x) {
      return false;
   }

   public boolean visit(MariadbShowClusterNameStatement x) {
      return false;
   }

   public boolean visit(MariadbShowJobStatusStatement x) {
      return false;
   }

   public boolean visit(MariadbShowMigrateTaskStatusStatement x) {
      return false;
   }

   public boolean visit(MariadbSubPartitionByValue x) {
      return false;
   }

   public boolean visit(MariadbExtPartition x) {
      return true;
   }

   public boolean visit(MariadbExtPartition.Item x) {
      return false;
   }

   public void endVisit(MariadbTableIndex x) {
   }

   public void endVisit(MariadbKey x) {
   }

   public void endVisit(MariadbPrimaryKey x) {
   }

   public void endVisit(MariadbUnique x) {
   }

   public boolean visit(MariadbForeignKey x) {
      return this.visit((SQLForeignKeyImpl)x);
   }

   public void endVisit(MariadbForeignKey x) {
      this.endVisit((SQLForeignKeyImpl)x);
   }

   public void endVisit(MariadbPrepareStatement x) {
   }

   public boolean visit(MariadbPrepareStatement x) {
      return true;
   }

   public void endVisit(MariadbExecuteStatement x) {
   }

   public boolean visit(MariadbDeallocatePrepareStatement x) {
      return true;
   }

   public void endVisit(MariadbDeallocatePrepareStatement x) {
   }

   public boolean visit(MariadbExecuteStatement x) {
      return true;
   }

   public void endVisit(MariadbDeleteStatement x) {
   }

   public void endVisit(MariadbLoadDataInFileStatement x) {
   }

   public boolean visit(MariadbLoadDataInFileStatement x) {
      return true;
   }

   public void endVisit(MariadbLoadXmlStatement x) {
   }

   public boolean visit(MariadbLoadXmlStatement x) {
      return true;
   }

   public void endVisit(MariadbShowWarningsStatement x) {
   }

   public boolean visit(MariadbShowWarningsStatement x) {
      return true;
   }

   public void endVisit(MariadbShowStatusStatement x) {
   }

   public boolean visit(MariadbShowStatusStatement x) {
      return true;
   }

   public void endVisit(MariadbShowAuthorsStatement x) {
   }

   public void endVisit(MariadbShowHtcStatement x) {
   }

   public void endVisit(MariadbShowStcStatement x) {
   }

   public void endVisit(CobarShowStatus x) {
   }

   public boolean visit(CobarShowStatus x) {
      return true;
   }

   public void endVisit(DrdsShowDDLJobs x) {
   }

   public boolean visit(DrdsShowDDLJobs x) {
      return true;
   }

   public void endVisit(DrdsCancelDDLJob x) {
   }

   public boolean visit(DrdsCancelDDLJob x) {
      return true;
   }

   public void endVisit(DrdsRecoverDDLJob x) {
   }

   public boolean visit(DrdsRecoverDDLJob x) {
      return true;
   }

   public void endVisit(DrdsRollbackDDLJob x) {
   }

   public boolean visit(DrdsRollbackDDLJob x) {
      return true;
   }

   public void endVisit(DrdsRemoveDDLJob x) {
   }

   public boolean visit(DrdsRemoveDDLJob x) {
      return true;
   }

   public void endVisit(DrdsInspectDDLJobCache x) {
   }

   public boolean visit(DrdsInspectDDLJobCache x) {
      return true;
   }

   public void endVisit(DrdsClearDDLJobCache x) {
   }

   public boolean visit(DrdsClearDDLJobCache x) {
      return true;
   }

   public void endVisit(DrdsChangeDDLJob x) {
   }

   public boolean visit(DrdsChangeDDLJob x) {
      return true;
   }

   public void endVisit(DrdsBaselineStatement x) {
   }

   public boolean visit(DrdsBaselineStatement x) {
      return true;
   }

   public void endVisit(DrdsShowGlobalIndex x) {
   }

   public boolean visit(DrdsShowGlobalIndex x) {
      return true;
   }

   public void endVisit(DrdsShowMetadataLock x) {
   }

   public boolean visit(DrdsShowMetadataLock x) {
      return true;
   }

   public void endVisit(MariadbBinlogStatement x) {
   }

   public boolean visit(MariadbBinlogStatement x) {
      return true;
   }

   public void endVisit(MariadbResetStatement x) {
   }

   public boolean visit(MariadbResetStatement x) {
      return true;
   }

   public void endVisit(MariadbCreateUserStatement x) {
   }

   public void endVisit(MariadbCreateUserStatement.UserSpecification x) {
   }

   public boolean visit(MariadbCreateUserStatement.UserSpecification x) {
      return true;
   }

   public void endVisit(MariadbPartitionByKey x) {
   }

   public void endVisit(MariadbUpdatePlanCacheStatement x) {
   }

   public void endVisit(MariadbShowPlanCacheStatusStatement x) {
   }

   public void endVisit(MariadbClearPlanCacheStatement x) {
   }

   public void endVisit(MariadbDisabledPlanCacheStatement x) {
   }

   public void endVisit(MariadbExplainPlanCacheStatement x) {
   }

   public boolean visit(MariadbSelectQueryBlock x) {
      return this.visit((SQLSelectQueryBlock)x);
   }

   public void endVisit(MariadbSelectQueryBlock x) {
      this.endVisit((SQLSelectQueryBlock)x);
   }

   public void endVisit(MariadbOutFileExpr x) {
   }

   public void endVisit(MariadbExplainStatement x) {
   }

   public void endVisit(MariadbUpdateStatement x) {
   }

   public void endVisit(MariadbSetTransactionStatement x) {
   }

   public void endVisit(MariadbShowHMSMetaStatement x) {
   }

   public void endVisit(MariadbShowBinaryLogsStatement x) {
   }

   public void endVisit(MariadbShowMasterLogsStatement x) {
   }

   public void endVisit(MariadbShowCharacterSetStatement x) {
   }

   public void endVisit(MariadbShowCollationStatement x) {
   }

   public void endVisit(MariadbShowBinLogEventsStatement x) {
   }

   public void endVisit(MariadbShowContributorsStatement x) {
   }

   public void endVisit(MariadbShowCreateDatabaseStatement x) {
   }

   public void endVisit(MariadbShowCreateEventStatement x) {
   }

   public void endVisit(MariadbShowCreateFunctionStatement x) {
   }

   public void endVisit(MariadbShowCreateProcedureStatement x) {
   }

   public void endVisit(MariadbShowCreateTriggerStatement x) {
   }

   public void endVisit(MariadbShowEngineStatement x) {
   }

   public void endVisit(MariadbShowEnginesStatement x) {
   }

   public void endVisit(MariadbShowErrorsStatement x) {
   }

   public void endVisit(MariadbShowEventsStatement x) {
   }

   public void endVisit(MariadbShowFunctionCodeStatement x) {
   }

   public void endVisit(MariadbShowFunctionStatusStatement x) {
   }

   public void endVisit(MariadbShowGrantsStatement x) {
   }

   public void endVisit(MariadbUserName x) {
   }

   public void endVisit(MariadbAlterDatabaseSetOption x) {
   }

   public void endVisit(MariadbAlterDatabaseKillJob x) {
   }

   public void endVisit(MariadbShowMasterStatusStatement x) {
   }

   public void endVisit(MariadbShowOpenTablesStatement x) {
   }

   public void endVisit(MariadbShowPluginsStatement x) {
   }

   public void endVisit(MariadbShowPartitionsStatement x) {
   }

   public void endVisit(MariadbShowPrivilegesStatement x) {
   }

   public void endVisit(MariadbShowProcedureCodeStatement x) {
   }

   public void endVisit(MariadbShowProcedureStatusStatement x) {
   }

   public void endVisit(MariadbShowProcessListStatement x) {
   }

   public void endVisit(MariadbShowProfileStatement x) {
   }

   public void endVisit(MariadbShowProfilesStatement x) {
   }

   public void endVisit(MariadbShowRelayLogEventsStatement x) {
   }

   public void endVisit(MariadbShowSlaveHostsStatement x) {
   }

   public void endVisit(MariadbShowSequencesStatement x) {
   }

   public void endVisit(MariadbShowSlaveStatusStatement x) {
   }

   public void endVisit(MariadbShowSlowStatement x) {
   }

   public void endVisit(MariadbShowTableStatusStatement x) {
   }

   public void endVisit(MariadbShowTriggersStatement x) {
   }

   public void endVisit(MariadbShowVariantsStatement x) {
   }

   public void endVisit(MariadbShowTraceStatement x) {
   }

   public void endVisit(MariadbShowBroadcastsStatement x) {
   }

   public void endVisit(MariadbShowRuleStatement x) {
   }

   public void endVisit(MariadbShowRuleStatusStatement x) {
   }

   public void endVisit(MariadbShowDsStatement x) {
   }

   public void endVisit(MariadbShowDdlStatusStatement x) {
   }

   public void endVisit(MariadbShowTopologyStatement x) {
   }

   public void endVisit(MariadbRenameTableStatement.Item x) {
   }

   public void endVisit(MariadbRenameTableStatement x) {
   }

   public void endVisit(MariadbShowDbLockStatement x) {
   }

   public void endVisit(MariadbShowDatabaseStatusStatement x) {
   }

   public void endVisit(MariadbUseIndexHint x) {
   }

   public void endVisit(MariadbIgnoreIndexHint x) {
   }

   public void endVisit(MariadbLockTableStatement x) {
   }

   public void endVisit(MariadbLockTableStatement.Item x) {
   }

   public void endVisit(MariadbUnlockTablesStatement x) {
   }

   public void endVisit(MariadbForceIndexHint x) {
   }

   public void endVisit(MariadbAlterTableChangeColumn x) {
   }

   public void endVisit(MariadbAlterTableOption x) {
   }

   public void endVisit(MariadbCreateTableStatement x) {
   }

   public void endVisit(MariadbHelpStatement x) {
   }

   public void endVisit(MariadbCharExpr x) {
   }

   public void endVisit(MariadbAlterTableModifyColumn x) {
   }

   public void endVisit(MariadbAlterTableDiscardTablespace x) {
   }

   public void endVisit(MariadbAlterTableImportTablespace x) {
   }

   public void endVisit(MariadbCreateTableStatement.TableSpaceOption x) {
   }

   public boolean visit(MariadbAnalyzeStatement x) {
      return true;
   }

   public void endVisit(MariadbAnalyzeStatement x) {
   }

   public void endVisit(MariadbCreateExternalCatalogStatement x) {
   }

   public boolean visit(MariadbAlterUserStatement x) {
      return true;
   }

   public void endVisit(MariadbAlterUserStatement x) {
   }

   public boolean visit(MariadbOptimizeStatement x) {
      return true;
   }

   public void endVisit(MariadbOptimizeStatement x) {
   }

   public boolean visit(MariadbHintStatement x) {
      return true;
   }

   public void endVisit(MariadbHintStatement x) {
   }

   public boolean visit(MariadbOrderingExpr x) {
      return true;
   }

   public void endVisit(MariadbOrderingExpr x) {
   }

   public void endVisit(MariadbCaseStatement x) {
   }

   public boolean visit(MariadbDeclareStatement x) {
      return true;
   }

   public void endVisit(MariadbDeclareStatement x) {
   }

   public void endVisit(MariadbSelectIntoStatement x) {
   }

   public void endVisit(MariadbCaseStatement.MariadbWhenStatement x) {
   }

   public void endVisit(MariadbLeaveStatement x) {
   }

   public void endVisit(MariadbIterateStatement x) {
   }

   public void endVisit(MariadbRepeatStatement x) {
   }

   public void endVisit(MariadbCursorDeclareStatement x) {
   }

   public void endVisit(MariadbUpdateTableSource x) {
   }

   public void endVisit(MariadbAlterTableAlterColumn x) {
   }

   public void endVisit(MariadbAlterTableForce x) {
   }

   public void endVisit(MariadbAlterTableLock x) {
   }

   public void endVisit(MariadbAlterTableOrderBy x) {
   }

   public void endVisit(MariadbAlterTableValidation x) {
   }

   public void endVisit(MariadbSubPartitionByKey x) {
   }

   public void endVisit(MariadbSubPartitionByList x) {
   }

   public void endVisit(MariadbDeclareHandlerStatement x) {
   }

   public void endVisit(MariadbDeclareConditionStatement x) {
   }

   public void endVisit(MariadbFlushStatement x) {
   }

   public void endVisit(MariadbEventSchedule x) {
   }

   public void endVisit(MariadbCreateEventStatement x) {
   }

   public void endVisit(MariadbCreateAddLogFileGroupStatement x) {
   }

   public void endVisit(MariadbCreateServerStatement x) {
   }

   public void endVisit(MariadbCreateTableSpaceStatement x) {
   }

   public void endVisit(MariadbAlterEventStatement x) {
   }

   public void endVisit(MariadbAlterLogFileGroupStatement x) {
   }

   public void endVisit(MariadbAlterServerStatement x) {
   }

   public void endVisit(MariadbAlterTablespaceStatement x) {
   }

   public void endVisit(MariadbChecksumTableStatement x) {
   }

   public void endVisit(MariadbShowDatasourcesStatement x) {
   }

   public void endVisit(MariadbShowNodeStatement x) {
   }

   public void endVisit(MariadbShowHelpStatement x) {
   }

   public void endVisit(MariadbFlashbackStatement x) {
   }

   public void endVisit(MariadbShowConfigStatement x) {
   }

   public void endVisit(MariadbShowPlanCacheStatement x) {
   }

   public void endVisit(MariadbShowPhysicalProcesslistStatement x) {
   }

   public void endVisit(MariadbRenameSequenceStatement x) {
   }

   public void endVisit(MariadbCheckTableStatement x) {
   }

   public void endVisit(MariadbCreateFullTextCharFilterStatement x) {
   }

   public void endVisit(MariadbShowFullTextStatement x) {
   }

   public void endVisit(MariadbShowCreateFullTextStatement x) {
   }

   public void endVisit(MariadbAlterFullTextStatement x) {
   }

   public void endVisit(MariadbDropFullTextStatement x) {
   }

   public void endVisit(MariadbCreateFullTextTokenizerStatement x) {
   }

   public void endVisit(MariadbCreateFullTextTokenFilterStatement x) {
   }

   public void endVisit(MariadbCreateFullTextAnalyzerStatement x) {
   }

   public void endVisit(MariadbCreateFullTextDictionaryStatement x) {
   }

   public void endVisit(MariadbAlterTableAlterFullTextIndex x) {
   }

   public void endVisit(MariadbExecuteForAdsStatement x) {
   }

   public void endVisit(MariadbManageInstanceGroupStatement x) {
   }

   public void endVisit(MariadbRaftMemberChangeStatement x) {
   }

   public void endVisit(MariadbRaftLeaderTransferStatement x) {
   }

   public void endVisit(MariadbMigrateStatement x) {
   }

   public void endVisit(MariadbShowClusterNameStatement x) {
   }

   public void endVisit(MariadbShowJobStatusStatement x) {
   }

   public void endVisit(MariadbShowMigrateTaskStatusStatement x) {
   }

   public void endVisit(MariadbSubPartitionByValue x) {
   }

   public void endVisit(MariadbExtPartition x) {
   }

   public void endVisit(MariadbExtPartition.Item x) {
   }

   public boolean visit(MariadbJSONTableExpr x) {
      return true;
   }

   public void endVisit(MariadbJSONTableExpr x) {
   }

   public boolean visit(MariadbJSONTableExpr.Column x) {
      return true;
   }

   public void endVisit(MariadbJSONTableExpr.Column x) {
   }

   public boolean visit(MariadbAlterTableAlterCheck x) {
      return true;
   }

   public void endVisit(MariadbAlterTableAlterCheck x) {
   }

   public boolean visit(MariadbIntervalExpr x) {
      return true;
   }

   public void endVisit(MariadbIntervalExpr x) {
   }

   public boolean visit(MariadbTableTableSource x) {
      return true;
   }

   public void endVisit(MariadbTableTableSource x) {
   }

   public boolean visit(MariadbAlterTableAlterIndex x) {
      return true;
   }

   public void endVisit(MariadbAlterTableAlterIndex x) {
   }

   public boolean visit(MariadbGrantStatement x) {
      return true;
   }

   public void endVisit(MariadbGrantStatement x) {
   }

   public boolean visit(MariadbRevokeStatement x) {
      return true;
   }

   public void endVisit(MariadbRevokeStatement x) {
   }

   public boolean visit(MariadbRepairTableStatement x) {
      return true;
   }

   public void endVisit(MariadbRepairTableStatement x) {
   }

   public boolean visit(MariadbImportTableStatement x) {
      return true;
   }

   public void endVisit(MariadbImportTableStatement x) {
   }

   public boolean visit(MariadbShowColumnStatement x) {
      return true;
   }

   public void endVisit(MariadbShowColumnStatement x) {
   }

   public boolean visit(MariadbShowCreateTableStatement x) {
      return true;
   }

   public void endVisit(MariadbShowCreateTableStatement x) {
   }

   public boolean visit(MariadbCacheIndexStatement x) {
      return true;
   }

   public void endVisit(MariadbCacheIndexStatement x) {
   }

   public boolean visit(MariadbAlterTableAddExtPartition x) {
      return false;
   }

   public void endVisit(MariadbAlterTableAddExtPartition x) {
   }

   public void endVisit(SQLAllColumnExpr x) {
   }

   public void endVisit(SQLBetweenExpr x) {
   }

   public void endVisit(SQLBinaryOpExpr x) {
   }

   public void endVisit(SQLCaseExpr x) {
   }

   public void endVisit(SQLCaseExpr.Item x) {
   }

   public void endVisit(SQLCaseStatement x) {
   }

   public void endVisit(SQLCaseStatement.Item x) {
   }

   public void endVisit(SQLCharExpr x) {
   }

   public void endVisit(SQLIdentifierExpr x) {
   }

   public void endVisit(SQLInListExpr x) {
   }

   public void endVisit(SQLIntegerExpr x) {
   }

   public void endVisit(SQLSmallIntExpr x) {
   }

   public void endVisit(SQLBigIntExpr x) {
   }

   public void endVisit(SQLTinyIntExpr x) {
   }

   public void endVisit(SQLExistsExpr x) {
   }

   public void endVisit(SQLNCharExpr x) {
   }

   public void endVisit(SQLNotExpr x) {
   }

   public void endVisit(SQLNullExpr x) {
   }

   public void endVisit(SQLNumberExpr x) {
   }

   public void endVisit(SQLRealExpr x) {
   }

   public void endVisit(SQLPropertyExpr x) {
   }

   public void endVisit(SQLSelectGroupByClause x) {
   }

   public void endVisit(SQLSelectItem x) {
   }

   public void endVisit(SQLSelectStatement x) {
   }

   public void postVisit(SQLObject x) {
   }

   public void preVisit(SQLObject x) {
   }

   public boolean visit(SQLAllColumnExpr x) {
      return true;
   }

   public boolean visit(SQLBetweenExpr x) {
      return true;
   }

   public boolean visit(SQLBinaryOpExpr x) {
      return true;
   }

   public boolean visit(SQLCaseExpr x) {
      return true;
   }

   public boolean visit(SQLCaseExpr.Item x) {
      return true;
   }

   public boolean visit(SQLCaseStatement x) {
      return true;
   }

   public boolean visit(SQLCaseStatement.Item x) {
      return true;
   }

   public boolean visit(SQLCastExpr x) {
      return true;
   }

   public boolean visit(SQLCharExpr x) {
      return true;
   }

   public boolean visit(SQLExistsExpr x) {
      return true;
   }

   public boolean visit(SQLIdentifierExpr x) {
      return true;
   }

   public boolean visit(SQLInListExpr x) {
      return true;
   }

   public boolean visit(SQLIntegerExpr x) {
      return true;
   }

   public boolean visit(SQLSmallIntExpr x) {
      return true;
   }

   public boolean visit(SQLBigIntExpr x) {
      return true;
   }

   public boolean visit(SQLTinyIntExpr x) {
      return true;
   }

   public boolean visit(SQLNCharExpr x) {
      return true;
   }

   public boolean visit(SQLNotExpr x) {
      return true;
   }

   public boolean visit(SQLNullExpr x) {
      return true;
   }

   public boolean visit(SQLNumberExpr x) {
      return true;
   }

   public boolean visit(SQLRealExpr x) {
      return true;
   }

   public boolean visit(SQLPropertyExpr x) {
      return true;
   }

   public boolean visit(SQLSelectGroupByClause x) {
      return true;
   }

   public boolean visit(SQLSelectItem x) {
      return true;
   }

   public void endVisit(SQLCastExpr x) {
   }

   public void endVisit(SQLAggregateExpr x) {
   }

   public boolean visit(SQLAggregateExpr x) {
      return true;
   }

   public boolean visit(SQLVariantRefExpr x) {
      return true;
   }

   public void endVisit(SQLVariantRefExpr x) {
   }

   public boolean visit(SQLQueryExpr x) {
      return true;
   }

   public void endVisit(SQLQueryExpr x) {
   }

   public boolean visit(SQLUnaryExpr x) {
      return true;
   }

   public void endVisit(SQLUnaryExpr x) {
   }

   public boolean visit(SQLHexExpr x) {
      return true;
   }

   public void endVisit(SQLHexExpr x) {
   }

   public boolean visit(SQLSelect x) {
      return true;
   }

   public void endVisit(SQLSelect select) {
   }

   public boolean visit(SQLSelectQueryBlock x) {
      return true;
   }

   public void endVisit(SQLSelectQueryBlock x) {
   }

   public boolean visit(SQLExprTableSource x) {
      return true;
   }

   public void endVisit(SQLExprTableSource x) {
   }

   public boolean visit(SQLOrderBy x) {
      return true;
   }

   public void endVisit(SQLOrderBy x) {
   }

   public boolean visit(SQLSelectOrderByItem x) {
      return true;
   }

   public void endVisit(SQLSelectOrderByItem x) {
   }

   public boolean visit(SQLDropTableStatement x) {
      return true;
   }

   public void endVisit(SQLDropTableStatement x) {
   }

   public boolean visit(SQLCreateTableStatement x) {
      return true;
   }

   public void endVisit(SQLCreateTableStatement x) {
   }

   public boolean visit(SQLColumnDefinition x) {
      return true;
   }

   public void endVisit(SQLColumnDefinition x) {
   }

   public boolean visit(SQLColumnDefinition.Identity x) {
      return true;
   }

   public void endVisit(SQLColumnDefinition.Identity x) {
   }

   public boolean visit(SQLDataType x) {
      return true;
   }

   public void endVisit(SQLDataType x) {
   }

   public boolean visit(SQLCharacterDataType x) {
      return true;
   }

   public void endVisit(SQLCharacterDataType x) {
   }

   public boolean visit(SQLDeleteStatement x) {
      return true;
   }

   public void endVisit(SQLDeleteStatement x) {
   }

   public boolean visit(SQLCurrentOfCursorExpr x) {
      return true;
   }

   public void endVisit(SQLCurrentOfCursorExpr x) {
   }

   public boolean visit(SQLInsertStatement x) {
      return true;
   }

   public void endVisit(SQLInsertStatement x) {
   }

   public boolean visit(SQLInsertStatement.ValuesClause x) {
      return true;
   }

   public void endVisit(SQLInsertStatement.ValuesClause x) {
   }

   public boolean visit(SQLUpdateSetItem x) {
      return true;
   }

   public void endVisit(SQLUpdateSetItem x) {
   }

   public boolean visit(SQLUpdateStatement x) {
      return true;
   }

   public void endVisit(SQLUpdateStatement x) {
   }

   public boolean visit(SQLCreateViewStatement x) {
      return true;
   }

   public void endVisit(SQLCreateViewStatement x) {
   }

   public boolean visit(SQLCreateViewStatement.Column x) {
      return true;
   }

   public void endVisit(SQLCreateViewStatement.Column x) {
   }

   public boolean visit(SQLNotNullConstraint x) {
      return true;
   }

   public void endVisit(SQLNotNullConstraint x) {
   }

   public void endVisit(SQLMethodInvokeExpr x) {
   }

   public boolean visit(SQLMethodInvokeExpr x) {
      return true;
   }

   public void endVisit(SQLUnionQuery x) {
   }

   public boolean visit(SQLUnionQuery x) {
      return true;
   }

   public void endVisit(SQLSetStatement x) {
   }

   public boolean visit(SQLSetStatement x) {
      return true;
   }

   public void endVisit(SQLAssignItem x) {
   }

   public boolean visit(SQLAssignItem x) {
      return true;
   }

   public void endVisit(SQLCallStatement x) {
   }

   public boolean visit(SQLCallStatement x) {
      return true;
   }

   public void endVisit(SQLJoinTableSource x) {
   }

   public boolean visit(SQLJoinTableSource x) {
      return true;
   }

   public void endVisit(SQLJoinTableSource.UDJ x) {
   }

   public boolean visit(SQLJoinTableSource.UDJ x) {
      return true;
   }

   public void endVisit(SQLSomeExpr x) {
   }

   public boolean visit(SQLSomeExpr x) {
      return true;
   }

   public void endVisit(SQLAnyExpr x) {
   }

   public boolean visit(SQLAnyExpr x) {
      return true;
   }

   public void endVisit(SQLAllExpr x) {
   }

   public boolean visit(SQLAllExpr x) {
      return true;
   }

   public void endVisit(SQLInSubQueryExpr x) {
   }

   public boolean visit(SQLInSubQueryExpr x) {
      return true;
   }

   public void endVisit(SQLListExpr x) {
   }

   public boolean visit(SQLListExpr x) {
      return true;
   }

   public void endVisit(SQLSubqueryTableSource x) {
   }

   public boolean visit(SQLSubqueryTableSource x) {
      return true;
   }

   public void endVisit(SQLTruncateStatement x) {
   }

   public boolean visit(SQLTruncateStatement x) {
      return true;
   }

   public void endVisit(SQLDefaultExpr x) {
   }

   public boolean visit(SQLDefaultExpr x) {
      return true;
   }

   public void endVisit(SQLCommentStatement x) {
   }

   public boolean visit(SQLCommentStatement x) {
      return true;
   }

   public void endVisit(SQLUseStatement x) {
   }

   public boolean visit(SQLUseStatement x) {
      return true;
   }

   public boolean visit(SQLAlterTableAddColumn x) {
      return true;
   }

   public void endVisit(SQLAlterTableAddColumn x) {
   }

   public boolean visit(SQLAlterTableDeleteByCondition x) {
      return true;
   }

   public void endVisit(SQLAlterTableDeleteByCondition x) {
   }

   public boolean visit(SQLAlterTableModifyClusteredBy x) {
      return true;
   }

   public void endVisit(SQLAlterTableModifyClusteredBy x) {
   }

   public boolean visit(SQLAlterTableDropColumnItem x) {
      return true;
   }

   public void endVisit(SQLAlterTableDropColumnItem x) {
   }

   public boolean visit(SQLAlterTableDropIndex x) {
      return true;
   }

   public void endVisit(SQLAlterTableDropIndex x) {
   }

   public boolean visit(SQLAlterTableGroupStatement x) {
      return true;
   }

   public void endVisit(SQLAlterTableGroupStatement x) {
   }

   public boolean visit(SQLAlterSystemSetConfigStatement x) {
      return true;
   }

   public void endVisit(SQLAlterSystemSetConfigStatement x) {
   }

   public boolean visit(SQLAlterSystemGetConfigStatement x) {
      return true;
   }

   public void endVisit(SQLAlterSystemGetConfigStatement x) {
   }

   public boolean visit(SQLDropIndexStatement x) {
      return true;
   }

   public void endVisit(SQLDropIndexStatement x) {
   }

   public boolean visit(SQLDropViewStatement x) {
      return true;
   }

   public void endVisit(SQLDropViewStatement x) {
   }

   public boolean visit(SQLSavePointStatement x) {
      return true;
   }

   public void endVisit(SQLSavePointStatement x) {
   }

   public boolean visit(SQLRollbackStatement x) {
      return true;
   }

   public void endVisit(SQLRollbackStatement x) {
   }

   public boolean visit(SQLReleaseSavePointStatement x) {
      return true;
   }

   public void endVisit(SQLReleaseSavePointStatement x) {
   }

   public void endVisit(SQLCommentHint x) {
   }

   public boolean visit(SQLCommentHint x) {
      return true;
   }

   public void endVisit(SQLCreateDatabaseStatement x) {
   }

   public boolean visit(SQLCreateDatabaseStatement x) {
      return true;
   }

   public void endVisit(SQLOver x) {
   }

   public boolean visit(SQLOver x) {
      return true;
   }

   public void endVisit(SQLKeep x) {
   }

   public boolean visit(SQLKeep x) {
      return true;
   }

   public void endVisit(SQLColumnPrimaryKey x) {
   }

   public boolean visit(SQLColumnPrimaryKey x) {
      return true;
   }

   public boolean visit(SQLColumnUniqueKey x) {
      return true;
   }

   public void endVisit(SQLColumnUniqueKey x) {
   }

   public void endVisit(SQLWithSubqueryClause x) {
   }

   public boolean visit(SQLWithSubqueryClause x) {
      return true;
   }

   public void endVisit(SQLWithSubqueryClause.Entry x) {
   }

   public boolean visit(SQLWithSubqueryClause.Entry x) {
      return true;
   }

   public void endVisit(SQLAlterTableAlterColumn x) {
   }

   public boolean visit(SQLAlterTableAlterColumn x) {
      return true;
   }

   public boolean visit(SQLCheck x) {
      return true;
   }

   public void endVisit(SQLCheck x) {
   }

   public boolean visit(SQLDefault x) {
      return true;
   }

   public void endVisit(SQLDefault x) {
   }

   public boolean visit(SQLAlterTableDropForeignKey x) {
      return true;
   }

   public void endVisit(SQLAlterTableDropForeignKey x) {
   }

   public boolean visit(SQLAlterTableDropPrimaryKey x) {
      return true;
   }

   public void endVisit(SQLAlterTableDropPrimaryKey x) {
   }

   public boolean visit(SQLAlterTableDisableKeys x) {
      return true;
   }

   public void endVisit(SQLAlterTableDisableKeys x) {
   }

   public boolean visit(SQLAlterTableEnableKeys x) {
      return true;
   }

   public void endVisit(SQLAlterTableEnableKeys x) {
   }

   public boolean visit(SQLAlterTableStatement x) {
      return true;
   }

   public void endVisit(SQLAlterTableStatement x) {
   }

   public boolean visit(SQLAlterTableDisableConstraint x) {
      return true;
   }

   public void endVisit(SQLAlterTableDisableConstraint x) {
   }

   public boolean visit(SQLAlterTableEnableConstraint x) {
      return true;
   }

   public void endVisit(SQLAlterTableEnableConstraint x) {
   }

   public boolean visit(SQLColumnCheck x) {
      return true;
   }

   public void endVisit(SQLColumnCheck x) {
   }

   public boolean visit(SQLExprHint x) {
      return true;
   }

   public void endVisit(SQLExprHint x) {
   }

   public boolean visit(SQLAlterTableDropConstraint x) {
      return true;
   }

   public void endVisit(SQLAlterTableDropConstraint x) {
   }

   public boolean visit(SQLAlterTableDropCheck x) {
      return true;
   }

   public void endVisit(SQLAlterTableDropCheck x) {
   }

   public boolean visit(SQLUnique x) {
      return true;
   }

   public void endVisit(SQLUnique x) {
   }

   public boolean visit(SQLPrimaryKeyImpl x) {
      return true;
   }

   public void endVisit(SQLPrimaryKeyImpl x) {
   }

   public boolean visit(SQLCreateIndexStatement x) {
      return true;
   }

   public void endVisit(SQLCreateIndexStatement x) {
   }

   public boolean visit(SQLAlterTableRenameColumn x) {
      return true;
   }

   public void endVisit(SQLAlterTableRenameColumn x) {
   }

   public boolean visit(SQLColumnReference x) {
      return true;
   }

   public void endVisit(SQLColumnReference x) {
   }

   public boolean visit(SQLForeignKeyImpl x) {
      return true;
   }

   public void endVisit(SQLForeignKeyImpl x) {
   }

   public boolean visit(SQLDropSequenceStatement x) {
      return true;
   }

   public void endVisit(SQLDropSequenceStatement x) {
   }

   public boolean visit(SQLDropTriggerStatement x) {
      return true;
   }

   public void endVisit(SQLDropTriggerStatement x) {
   }

   public void endVisit(SQLDropUserStatement x) {
   }

   public boolean visit(SQLDropUserStatement x) {
      return true;
   }

   public void endVisit(SQLExplainStatement x) {
   }

   public boolean visit(SQLExplainStatement x) {
      return true;
   }

   public void endVisit(SQLGrantStatement x) {
   }

   public boolean visit(SQLGrantStatement x) {
      return true;
   }

   public void endVisit(SQLDropDatabaseStatement x) {
   }

   public boolean visit(SQLDropDatabaseStatement x) {
      return true;
   }

   public void endVisit(SQLIndexOptions x) {
   }

   public boolean visit(SQLIndexOptions x) {
      return true;
   }

   public void endVisit(SQLIndexDefinition x) {
   }

   public boolean visit(SQLIndexDefinition x) {
      return true;
   }

   public void endVisit(SQLAlterTableAddIndex x) {
   }

   public boolean visit(SQLAlterTableAddIndex x) {
      return true;
   }

   public void endVisit(SQLAlterTableAddConstraint x) {
   }

   public boolean visit(SQLAlterTableAddConstraint x) {
      return true;
   }

   public void endVisit(SQLCreateTriggerStatement x) {
   }

   public boolean visit(SQLCreateTriggerStatement x) {
      return true;
   }

   public void endVisit(SQLDropFunctionStatement x) {
   }

   public boolean visit(SQLDropFunctionStatement x) {
      return true;
   }

   public void endVisit(SQLDropTableSpaceStatement x) {
   }

   public boolean visit(SQLDropTableSpaceStatement x) {
      return true;
   }

   public void endVisit(SQLDropProcedureStatement x) {
   }

   public boolean visit(SQLDropProcedureStatement x) {
      return true;
   }

   public void endVisit(SQLBooleanExpr x) {
   }

   public boolean visit(SQLBooleanExpr x) {
      return true;
   }

   public void endVisit(SQLUnionQueryTableSource x) {
   }

   public boolean visit(SQLUnionQueryTableSource x) {
      return true;
   }

   public void endVisit(SQLTimestampExpr x) {
   }

   public boolean visit(SQLTimestampExpr x) {
      return true;
   }

   public void endVisit(SQLDateTimeExpr x) {
   }

   public boolean visit(SQLDateTimeExpr x) {
      return true;
   }

   public void endVisit(SQLDoubleExpr x) {
   }

   public boolean visit(SQLDoubleExpr x) {
      return true;
   }

   public void endVisit(SQLFloatExpr x) {
   }

   public boolean visit(SQLFloatExpr x) {
      return true;
   }

   public void endVisit(SQLRevokeStatement x) {
   }

   public boolean visit(SQLRevokeStatement x) {
      return true;
   }

   public void endVisit(SQLBinaryExpr x) {
   }

   public boolean visit(SQLBinaryExpr x) {
      return true;
   }

   public void endVisit(SQLAlterTableRename x) {
   }

   public boolean visit(SQLAlterTableRename x) {
      return true;
   }

   public void endVisit(SQLAlterViewRenameStatement x) {
   }

   public boolean visit(SQLAlterViewRenameStatement x) {
      return true;
   }

   public void endVisit(SQLShowTablesStatement x) {
   }

   public boolean visit(SQLShowTablesStatement x) {
      return true;
   }

   public void endVisit(SQLAlterTableAddPartition x) {
   }

   public boolean visit(SQLAlterTableAddPartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableAddExtPartition x) {
   }

   public boolean visit(SQLAlterTableAddExtPartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableDropExtPartition x) {
   }

   public boolean visit(SQLAlterTableDropExtPartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableDropPartition x) {
   }

   public boolean visit(SQLAlterTableDropPartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableRenamePartition x) {
   }

   public boolean visit(SQLAlterTableRenamePartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableSetComment x) {
   }

   public boolean visit(SQLAlterTableSetComment x) {
      return true;
   }

   public void endVisit(SQLAlterTableSetLifecycle x) {
   }

   public boolean visit(SQLPrivilegeItem x) {
      return true;
   }

   public void endVisit(SQLPrivilegeItem x) {
   }

   public boolean visit(SQLAlterTableSetLifecycle x) {
      return true;
   }

   public void endVisit(SQLAlterTableEnableLifecycle x) {
   }

   public boolean visit(SQLAlterTableSetLocation x) {
      return true;
   }

   public void endVisit(SQLAlterTableSetLocation x) {
   }

   public boolean visit(SQLAlterTableEnableLifecycle x) {
      return true;
   }

   public void endVisit(SQLAlterTablePartition x) {
   }

   public boolean visit(SQLAlterTablePartition x) {
      return true;
   }

   public void endVisit(SQLAlterTablePartitionSetProperties x) {
   }

   public boolean visit(SQLAlterTablePartitionSetProperties x) {
      return true;
   }

   public void endVisit(SQLAlterTableDisableLifecycle x) {
   }

   public boolean visit(SQLAlterTableDisableLifecycle x) {
      return true;
   }

   public void endVisit(SQLAlterTableTouch x) {
   }

   public boolean visit(SQLAlterTableTouch x) {
      return true;
   }

   public void endVisit(SQLArrayExpr x) {
   }

   public boolean visit(SQLArrayExpr x) {
      return true;
   }

   public void endVisit(SQLOpenStatement x) {
   }

   public boolean visit(SQLOpenStatement x) {
      return true;
   }

   public void endVisit(SQLFetchStatement x) {
   }

   public boolean visit(SQLFetchStatement x) {
      return true;
   }

   public void endVisit(SQLCloseStatement x) {
   }

   public boolean visit(SQLCloseStatement x) {
      return true;
   }

   public boolean visit(SQLGroupingSetExpr x) {
      return true;
   }

   public void endVisit(SQLGroupingSetExpr x) {
   }

   public boolean visit(SQLIfStatement x) {
      return true;
   }

   public void endVisit(SQLIfStatement x) {
   }

   public boolean visit(SQLIfStatement.ElseIf x) {
      return true;
   }

   public void endVisit(SQLIfStatement.ElseIf x) {
   }

   public boolean visit(SQLIfStatement.Else x) {
      return true;
   }

   public void endVisit(SQLIfStatement.Else x) {
   }

   public boolean visit(SQLLoopStatement x) {
      return true;
   }

   public void endVisit(SQLLoopStatement x) {
   }

   public boolean visit(SQLParameter x) {
      return true;
   }

   public void endVisit(SQLParameter x) {
   }

   public boolean visit(SQLCreateProcedureStatement x) {
      return true;
   }

   public void endVisit(SQLCreateProcedureStatement x) {
   }

   public boolean visit(SQLCreateFunctionStatement x) {
      return true;
   }

   public void endVisit(SQLCreateFunctionStatement x) {
   }

   public boolean visit(SQLBlockStatement x) {
      return true;
   }

   public void endVisit(SQLBlockStatement x) {
   }

   public boolean visit(SQLAlterTableDropKey x) {
      return true;
   }

   public void endVisit(SQLAlterTableDropKey x) {
   }

   public boolean visit(SQLDeclareItem x) {
      return true;
   }

   public void endVisit(SQLDeclareItem x) {
   }

   public boolean visit(SQLPartitionValue x) {
      return true;
   }

   public void endVisit(SQLPartitionValue x) {
   }

   public boolean visit(SQLPartition x) {
      return true;
   }

   public void endVisit(SQLPartition x) {
   }

   public boolean visit(SQLPartitionByRange x) {
      return true;
   }

   public void endVisit(SQLPartitionByRange x) {
   }

   public boolean visit(SQLPartitionByHash x) {
      return true;
   }

   public void endVisit(SQLPartitionByHash x) {
   }

   public boolean visit(SQLPartitionByList x) {
      return true;
   }

   public void endVisit(SQLPartitionByList x) {
   }

   public boolean visit(SQLSubPartition x) {
      return true;
   }

   public void endVisit(SQLSubPartition x) {
   }

   public boolean visit(SQLSubPartitionByHash x) {
      return true;
   }

   public void endVisit(SQLSubPartitionByHash x) {
   }

   public boolean visit(SQLSubPartitionByRange x) {
      return true;
   }

   public void endVisit(SQLSubPartitionByRange x) {
   }

   public boolean visit(SQLSubPartitionByList x) {
      return true;
   }

   public void endVisit(SQLSubPartitionByList x) {
   }

   public boolean visit(SQLAlterDatabaseStatement x) {
      return true;
   }

   public void endVisit(SQLAlterDatabaseStatement x) {
   }

   public boolean visit(SQLAlterTableConvertCharSet x) {
      return true;
   }

   public void endVisit(SQLAlterTableConvertCharSet x) {
   }

   public boolean visit(SQLAlterTableReOrganizePartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableReOrganizePartition x) {
   }

   public boolean visit(SQLAlterTableCoalescePartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableCoalescePartition x) {
   }

   public boolean visit(SQLAlterTableTruncatePartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableTruncatePartition x) {
   }

   public boolean visit(SQLAlterTableDiscardPartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableDiscardPartition x) {
   }

   public boolean visit(SQLAlterTableImportPartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableImportPartition x) {
   }

   public boolean visit(SQLAlterTableAnalyzePartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableAnalyzePartition x) {
   }

   public boolean visit(SQLAlterTableCheckPartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableCheckPartition x) {
   }

   public boolean visit(SQLAlterTableOptimizePartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableOptimizePartition x) {
   }

   public boolean visit(SQLAlterTableRebuildPartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableRebuildPartition x) {
   }

   public boolean visit(SQLAlterTableRepairPartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableRepairPartition x) {
   }

   public boolean visit(SQLSequenceExpr x) {
      return true;
   }

   public void endVisit(SQLSequenceExpr x) {
   }

   public boolean visit(SQLMergeStatement x) {
      return true;
   }

   public void endVisit(SQLMergeStatement x) {
   }

   public boolean visit(SQLMergeStatement.MergeUpdateClause x) {
      return true;
   }

   public void endVisit(SQLMergeStatement.MergeUpdateClause x) {
   }

   public boolean visit(SQLMergeStatement.MergeInsertClause x) {
      return true;
   }

   public void endVisit(SQLMergeStatement.MergeInsertClause x) {
   }

   public boolean visit(SQLErrorLoggingClause x) {
      return true;
   }

   public void endVisit(SQLErrorLoggingClause x) {
   }

   public boolean visit(SQLNullConstraint x) {
      return true;
   }

   public void endVisit(SQLNullConstraint x) {
   }

   public boolean visit(SQLCreateSequenceStatement x) {
      return true;
   }

   public void endVisit(SQLCreateSequenceStatement x) {
   }

   public boolean visit(SQLDateExpr x) {
      return true;
   }

   public void endVisit(SQLDateExpr x) {
   }

   public boolean visit(SQLLimit x) {
      return true;
   }

   public void endVisit(SQLLimit x) {
   }

   public void endVisit(SQLStartTransactionStatement x) {
   }

   public boolean visit(SQLStartTransactionStatement x) {
      return true;
   }

   public void endVisit(SQLDescribeStatement x) {
   }

   public boolean visit(SQLDescribeStatement x) {
      return true;
   }

   public boolean visit(SQLWhileStatement x) {
      return true;
   }

   public void endVisit(SQLWhileStatement x) {
   }

   public boolean visit(SQLDeclareStatement x) {
      return true;
   }

   public void endVisit(SQLDeclareStatement x) {
   }

   public boolean visit(SQLReturnStatement x) {
      return true;
   }

   public void endVisit(SQLReturnStatement x) {
   }

   public boolean visit(SQLArgument x) {
      return true;
   }

   public void endVisit(SQLArgument x) {
   }

   public boolean visit(SQLCommitStatement x) {
      return true;
   }

   public void endVisit(SQLCommitStatement x) {
   }

   public boolean visit(SQLFlashbackExpr x) {
      return true;
   }

   public void endVisit(SQLFlashbackExpr x) {
   }

   public boolean visit(SQLCreateMaterializedViewStatement x) {
      return true;
   }

   public void endVisit(SQLCreateMaterializedViewStatement x) {
   }

   public boolean visit(SQLShowCreateMaterializedViewStatement x) {
      return true;
   }

   public void endVisit(SQLShowCreateMaterializedViewStatement x) {
   }

   public boolean visit(SQLBinaryOpExprGroup x) {
      return true;
   }

   public void endVisit(SQLBinaryOpExprGroup x) {
   }

   public boolean visit(SQLScriptCommitStatement x) {
      return true;
   }

   public void endVisit(SQLScriptCommitStatement x) {
   }

   public boolean visit(SQLReplaceStatement x) {
      return true;
   }

   public void endVisit(SQLReplaceStatement x) {
   }

   public boolean visit(SQLCreateUserStatement x) {
      return true;
   }

   public void endVisit(SQLCreateUserStatement x) {
   }

   public boolean visit(SQLAlterFunctionStatement x) {
      return true;
   }

   public void endVisit(SQLAlterFunctionStatement x) {
   }

   public boolean visit(SQLAlterTypeStatement x) {
      return true;
   }

   public void endVisit(SQLAlterTypeStatement x) {
   }

   public boolean visit(SQLIntervalExpr x) {
      return true;
   }

   public void endVisit(SQLIntervalExpr x) {
   }

   public boolean visit(SQLLateralViewTableSource x) {
      return true;
   }

   public void endVisit(SQLLateralViewTableSource x) {
   }

   public boolean visit(SQLShowErrorsStatement x) {
      return true;
   }

   public void endVisit(SQLShowErrorsStatement x) {
   }

   public boolean visit(SQLShowGrantsStatement x) {
      return true;
   }

   public void endVisit(SQLShowGrantsStatement x) {
   }

   public boolean visit(SQLShowPackagesStatement x) {
      return true;
   }

   public void endVisit(SQLShowPackagesStatement x) {
   }

   public boolean visit(SQLShowRecylebinStatement x) {
      return true;
   }

   public void endVisit(SQLShowRecylebinStatement x) {
   }

   public void endVisit(SQLAlterCharacter x) {
   }

   public boolean visit(SQLExprStatement x) {
      return true;
   }

   public void endVisit(SQLExprStatement x) {
   }

   public boolean visit(SQLAlterProcedureStatement x) {
      return true;
   }

   public void endVisit(SQLAlterProcedureStatement x) {
   }

   public boolean visit(SQLAlterViewStatement x) {
      return true;
   }

   public void endVisit(SQLAlterViewStatement x) {
   }

   public boolean visit(SQLDropEventStatement x) {
      return true;
   }

   public void endVisit(SQLDropEventStatement x) {
   }

   public boolean visit(SQLDropLogFileGroupStatement x) {
      return true;
   }

   public void endVisit(SQLDropLogFileGroupStatement x) {
   }

   public boolean visit(SQLDropServerStatement x) {
      return true;
   }

   public void endVisit(SQLDropServerStatement x) {
   }

   public boolean visit(SQLDropSynonymStatement x) {
      return true;
   }

   public void endVisit(SQLDropSynonymStatement x) {
   }

   public boolean visit(SQLRecordDataType x) {
      return true;
   }

   public void endVisit(SQLRecordDataType x) {
   }

   public boolean visit(SQLDropTypeStatement x) {
      return true;
   }

   public void endVisit(SQLDropTypeStatement x) {
   }

   public boolean visit(SQLExternalRecordFormat x) {
      return true;
   }

   public void endVisit(SQLExternalRecordFormat x) {
   }

   public boolean visit(SQLArrayDataType x) {
      return true;
   }

   public void endVisit(SQLArrayDataType x) {
   }

   public boolean visit(SQLMapDataType x) {
      return true;
   }

   public void endVisit(SQLMapDataType x) {
   }

   public boolean visit(SQLStructDataType x) {
      return true;
   }

   public void endVisit(SQLStructDataType x) {
   }

   public boolean visit(SQLRowDataType x) {
      return true;
   }

   public void endVisit(SQLRowDataType x) {
   }

   public boolean visit(SQLStructDataType.Field x) {
      return true;
   }

   public void endVisit(SQLStructDataType.Field x) {
   }

   public boolean visit(SQLDropMaterializedViewStatement x) {
      return true;
   }

   public void endVisit(SQLDropMaterializedViewStatement x) {
   }

   public boolean visit(SQLShowMaterializedViewStatement x) {
      return true;
   }

   public void endVisit(SQLShowMaterializedViewStatement x) {
   }

   public boolean visit(SQLRefreshMaterializedViewStatement x) {
      return true;
   }

   public void endVisit(SQLRefreshMaterializedViewStatement x) {
   }

   public boolean visit(SQLAlterMaterializedViewStatement x) {
      return true;
   }

   public void endVisit(SQLAlterMaterializedViewStatement x) {
   }

   public boolean visit(SQLCreateTableGroupStatement x) {
      return true;
   }

   public void endVisit(SQLCreateTableGroupStatement x) {
   }

   public boolean visit(SQLDropTableGroupStatement x) {
      return true;
   }

   public void endVisit(SQLDropTableGroupStatement x) {
   }

   public boolean visit(SQLAlterTableSubpartitionAvailablePartitionNum x) {
      return true;
   }

   public void endVisit(SQLAlterTableSubpartitionAvailablePartitionNum x) {
   }

   public void endVisit(SQLShowDatabasesStatement x) {
   }

   public boolean visit(SQLShowDatabasesStatement x) {
      return true;
   }

   public void endVisit(SQLShowTableGroupsStatement x) {
   }

   public boolean visit(SQLShowTableGroupsStatement x) {
      return true;
   }

   public void endVisit(SQLShowColumnsStatement x) {
   }

   public void endVisit(SQLShowCreateTableStatement x) {
   }

   public void endVisit(SQLShowProcessListStatement x) {
   }

   public boolean visit(SQLShowProcessListStatement x) {
      return true;
   }

   public void endVisit(SQLAlterTableSetOption x) {
   }

   public boolean visit(SQLAlterTableSetOption x) {
      return true;
   }

   public boolean visit(SQLShowCreateViewStatement x) {
      return true;
   }

   public void endVisit(SQLShowCreateViewStatement x) {
   }

   public boolean visit(SQLShowViewsStatement x) {
      return true;
   }

   public void endVisit(SQLShowViewsStatement x) {
   }

   public boolean visit(SQLAlterTableRenameIndex x) {
      return true;
   }

   public void endVisit(SQLAlterTableRenameIndex x) {
   }

   public boolean visit(SQLAlterSequenceStatement x) {
      return true;
   }

   public void endVisit(SQLAlterSequenceStatement x) {
   }

   public boolean visit(SQLAlterTableExchangePartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableExchangePartition x) {
   }

   public boolean visit(SQLCreateRoleStatement x) {
      return true;
   }

   public void endVisit(SQLCreateRoleStatement x) {
   }

   public boolean visit(SQLDropRoleStatement x) {
      return true;
   }

   public void endVisit(SQLDropRoleStatement x) {
   }

   public boolean visit(SQLAlterTableReplaceColumn x) {
      return true;
   }

   public void endVisit(SQLAlterTableReplaceColumn x) {
   }

   public boolean visit(SQLMatchAgainstExpr x) {
      return true;
   }

   public void endVisit(SQLMatchAgainstExpr x) {
   }

   public boolean visit(SQLTimeExpr x) {
      return true;
   }

   public void endVisit(SQLTimeExpr x) {
   }

   public boolean visit(SQLDropCatalogStatement x) {
      return true;
   }

   public void endVisit(SQLDropCatalogStatement x) {
   }

   public void endVisit(SQLShowPartitionsStmt x) {
   }

   public boolean visit(SQLShowPartitionsStmt x) {
      return true;
   }

   public void endVisit(SQLValuesExpr x) {
   }

   public boolean visit(SQLValuesExpr x) {
      return true;
   }

   public void endVisit(SQLContainsExpr x) {
   }

   public boolean visit(SQLContainsExpr x) {
      return true;
   }

   public void endVisit(SQLDumpStatement x) {
   }

   public boolean visit(SQLDumpStatement x) {
      return true;
   }

   public void endVisit(SQLValuesTableSource x) {
   }

   public boolean visit(SQLValuesTableSource x) {
      return true;
   }

   public void endVisit(SQLExtractExpr x) {
   }

   public boolean visit(SQLExtractExpr x) {
      return true;
   }

   public void endVisit(SQLWindow x) {
   }

   public boolean visit(SQLWindow x) {
      return true;
   }

   public void endVisit(SQLJSONExpr x) {
   }

   public boolean visit(SQLJSONExpr x) {
      return true;
   }

   public void endVisit(SQLDecimalExpr x) {
   }

   public boolean visit(SQLDecimalExpr x) {
      return true;
   }

   public void endVisit(SQLAnnIndex x) {
   }

   public boolean visit(SQLAnnIndex x) {
      return true;
   }

   public void endVisit(SQLUnionDataType x) {
   }

   public boolean visit(SQLUnionDataType x) {
      return true;
   }

   public void endVisit(SQLAlterTableRecoverPartitions x) {
   }

   public boolean visit(SQLAlterTableRecoverPartitions x) {
      return true;
   }

   public void endVisit(SQLAlterIndexStatement x) {
   }

   public boolean visit(SQLAlterIndexStatement x) {
      return true;
   }

   public boolean visit(SQLAlterIndexStatement.Rebuild x) {
      return true;
   }

   public void endVisit(SQLAlterIndexStatement.Rebuild x) {
   }

   public boolean visit(SQLShowIndexesStatement x) {
      return true;
   }

   public void endVisit(SQLShowIndexesStatement x) {
   }

   public boolean visit(SQLAnalyzeTableStatement x) {
      return true;
   }

   public void endVisit(SQLAnalyzeTableStatement x) {
   }

   public boolean visit(SQLExportTableStatement x) {
      return true;
   }

   public void endVisit(SQLExportTableStatement x) {
   }

   public boolean visit(SQLImportTableStatement x) {
      return true;
   }

   public void endVisit(SQLImportTableStatement x) {
   }

   public boolean visit(SQLTableSampling x) {
      return true;
   }

   public void endVisit(SQLTableSampling x) {
   }

   public boolean visit(SQLSizeExpr x) {
      return true;
   }

   public void endVisit(SQLSizeExpr x) {
   }

   public boolean visit(SQLAlterTableArchivePartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableArchivePartition x) {
   }

   public boolean visit(SQLAlterTableUnarchivePartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableUnarchivePartition x) {
   }

   public boolean visit(SQLCreateOutlineStatement x) {
      return true;
   }

   public void endVisit(SQLCreateOutlineStatement x) {
   }

   public boolean visit(SQLDropOutlineStatement x) {
      return true;
   }

   public void endVisit(SQLDropOutlineStatement x) {
   }

   public boolean visit(SQLAlterOutlineStatement x) {
      return true;
   }

   public void endVisit(SQLAlterOutlineStatement x) {
   }

   public boolean visit(SQLShowOutlinesStatement x) {
      return true;
   }

   public void endVisit(SQLShowOutlinesStatement x) {
   }

   public boolean visit(SQLPurgeTableStatement x) {
      return true;
   }

   public void endVisit(SQLPurgeTableStatement x) {
   }

   public boolean visit(SQLPurgeLogsStatement x) {
      return true;
   }

   public void endVisit(SQLPurgeLogsStatement x) {
   }

   public boolean visit(SQLPurgeRecyclebinStatement x) {
      return true;
   }

   public void endVisit(SQLPurgeRecyclebinStatement x) {
   }

   public boolean visit(SQLShowStatisticStmt x) {
      return true;
   }

   public void endVisit(SQLShowStatisticStmt x) {
   }

   public boolean visit(SQLShowStatisticListStmt x) {
      return true;
   }

   public void endVisit(SQLShowStatisticListStmt x) {
   }

   public boolean visit(SQLAlterTableAddSupplemental x) {
      return true;
   }

   public void endVisit(SQLAlterTableAddSupplemental x) {
   }

   public boolean visit(SQLShowCatalogsStatement x) {
      return true;
   }

   public void endVisit(SQLShowCatalogsStatement x) {
   }

   public boolean visit(SQLShowFunctionsStatement x) {
      return true;
   }

   public void endVisit(SQLShowFunctionsStatement x) {
   }

   public boolean visit(SQLShowSessionStatement x) {
      return true;
   }

   public void endVisit(SQLShowSessionStatement x) {
   }

   public boolean visit(SQLDbLinkExpr x) {
      return true;
   }

   public void endVisit(SQLDbLinkExpr x) {
   }

   public boolean visit(SQLCurrentTimeExpr x) {
      return true;
   }

   public void endVisit(SQLCurrentTimeExpr x) {
   }

   public boolean visit(SQLCurrentUserExpr x) {
      return true;
   }

   public void endVisit(SQLCurrentUserExpr x) {
   }

   public boolean visit(SQLShowQueryTaskStatement x) {
      return true;
   }

   public void endVisit(SQLShowQueryTaskStatement x) {
   }

   public boolean visit(SQLAdhocTableSource x) {
      return true;
   }

   public void endVisit(SQLAdhocTableSource x) {
   }

   public boolean visit(SQLExplainAnalyzeStatement x) {
      return true;
   }

   public void endVisit(SQLExplainAnalyzeStatement x) {
   }

   public boolean visit(SQLPartitionRef x) {
      return true;
   }

   public void endVisit(SQLPartitionRef x) {
   }

   public boolean visit(SQLPartitionRef.Item x) {
      return true;
   }

   public void endVisit(SQLPartitionRef.Item x) {
   }

   public boolean visit(SQLWhoamiStatement x) {
      return true;
   }

   public void endVisit(SQLWhoamiStatement x) {
   }

   public boolean visit(SQLDropResourceStatement x) {
      return true;
   }

   public void endVisit(SQLDropResourceStatement x) {
   }

   public boolean visit(SQLForStatement x) {
      return true;
   }

   public void endVisit(SQLForStatement x) {
   }

   public boolean visit(SQLUnnestTableSource x) {
      return true;
   }

   public void endVisit(SQLUnnestTableSource x) {
   }

   public boolean visit(SQLCopyFromStatement x) {
      return true;
   }

   public void endVisit(SQLCopyFromStatement x) {
   }

   public boolean visit(SQLShowUsersStatement x) {
      return true;
   }

   public void endVisit(SQLShowUsersStatement x) {
   }

   public boolean visit(SQLSubmitJobStatement x) {
      return true;
   }

   public void endVisit(SQLSubmitJobStatement x) {
   }

   public boolean visit(SQLTableLike x) {
      return true;
   }

   public void endVisit(SQLTableLike x) {
   }

   public boolean visit(SQLSyncMetaStatement x) {
      return true;
   }

   public void endVisit(SQLSyncMetaStatement x) {
   }

   public void endVisit(SQLValuesQuery x) {
   }

   public boolean visit(SQLValuesQuery x) {
      return true;
   }

   public void endVisit(SQLDataTypeRefExpr x) {
   }

   public boolean visit(SQLDataTypeRefExpr x) {
      return true;
   }

   public void endVisit(SQLArchiveTableStatement x) {
   }

   public boolean visit(SQLArchiveTableStatement x) {
      return true;
   }

   public void endVisit(SQLBackupStatement x) {
   }

   public boolean visit(SQLBackupStatement x) {
      return true;
   }

   public void endVisit(SQLRestoreStatement x) {
   }

   public boolean visit(SQLRestoreStatement x) {
      return true;
   }

   public void endVisit(SQLBuildTableStatement x) {
   }

   public boolean visit(SQLBuildTableStatement x) {
      return true;
   }

   public void endVisit(SQLCancelJobStatement x) {
   }

   public boolean visit(SQLCancelJobStatement x) {
      return true;
   }

   public void endVisit(SQLExportDatabaseStatement x) {
   }

   public boolean visit(SQLExportDatabaseStatement x) {
      return true;
   }

   public void endVisit(SQLImportDatabaseStatement x) {
   }

   public boolean visit(SQLImportDatabaseStatement x) {
      return true;
   }

   public void endVisit(SQLRenameUserStatement x) {
   }

   public boolean visit(SQLRenameUserStatement x) {
      return true;
   }

   public void endVisit(SQLPartitionByValue x) {
   }

   public boolean visit(SQLPartitionByValue x) {
      return true;
   }

   public void endVisit(SQLAlterTablePartitionCount x) {
   }

   public boolean visit(SQLAlterTablePartitionCount x) {
      return true;
   }

   public void endVisit(SQLAlterTableBlockSize x) {
   }

   public boolean visit(SQLAlterTableBlockSize x) {
      return true;
   }

   public void endVisit(SQLAlterTableCompression x) {
   }

   public boolean visit(SQLAlterTableCompression x) {
      return true;
   }

   public void endVisit(SQLAlterTablePartitionLifecycle x) {
   }

   public boolean visit(SQLAlterTablePartitionLifecycle x) {
      return true;
   }

   public void endVisit(SQLAlterTableSubpartitionLifecycle x) {
   }

   public boolean visit(SQLAlterTableSubpartitionLifecycle x) {
      return true;
   }

   public void endVisit(SQLAlterTableDropSubpartition x) {
   }

   public boolean visit(SQLAlterTableDropSubpartition x) {
      return true;
   }

   public void endVisit(SQLAlterTableDropClusteringKey x) {
   }

   public boolean visit(SQLAlterTableDropClusteringKey x) {
      return true;
   }

   public void endVisit(SQLAlterTableAddClusteringKey x) {
   }

   public boolean visit(SQLAlterTableAddClusteringKey x) {
      return true;
   }

   public void endVisit(MariadbKillStatement x) {
   }

   public boolean visit(MariadbCreateResourceGroupStatement x) {
      return false;
   }

   public void endVisit(MariadbCreateResourceGroupStatement x) {
   }

   public boolean visit(MariadbKillStatement x) {
      return true;
   }

   public boolean visit(MariadbAlterResourceGroupStatement x) {
      return true;
   }

   public void endVisit(MariadbAlterResourceGroupStatement x) {
   }

   public void endVisit(SQLDropResourceGroupStatement x) {
   }

   public boolean visit(SQLDropResourceGroupStatement x) {
      return true;
   }

   public void endVisit(MariadbListResourceGroupStatement x) {
   }

   public boolean visit(MariadbAlterTableDropExtPartition x) {
      return false;
   }

   public void endVisit(MariadbAlterTableDropExtPartition x) {
   }

   public boolean visit(MariadbListResourceGroupStatement x) {
      return true;
   }

   public void endVisit(SQLAlterTableMergePartition x) {
   }

   public boolean visit(SQLAlterTableMergePartition x) {
      return true;
   }

   public void endVisit(SQLPartitionSpec x) {
   }

   public boolean visit(SQLPartitionSpec x) {
      return true;
   }

   public void endVisit(SQLPartitionSpec.Item x) {
   }

   public boolean visit(SQLPartitionSpec.Item x) {
      return true;
   }

   public boolean visit(SQLLoadIndexIntoCacheStatement x) {
      return true;
   }

   public void endVisit(SQLLoadIndexIntoCacheStatement x) {
   }

   public boolean visit(SQLAlterTableEnableTriggers x) {
      return true;
   }

   public void endVisit(SQLAlterTableEnableTriggers x) {
   }

   public boolean visit(SQLAlterTableDisableTriggers x) {
      return true;
   }

   public void endVisit(SQLAlterTableDisableTriggers x) {
   }

   public boolean visit(SQLAlterUserStatement x) {
      return true;
   }

   public void endVisit(SQLAlterUserStatement x) {
   }

   public boolean visit(SQLSetSchemaStatement x) {
      return true;
   }

   public void endVisit(SQLSetSchemaStatement x) {
   }

   public boolean visit(SQLCreateTablespaceStatement x) {
      return true;
   }

   public void endVisit(SQLCreateTablespaceStatement x) {
   }

   public boolean visit(SQLCreateTablespaceStatement.FileItem x) {
      return true;
   }

   public void endVisit(SQLCreateTablespaceStatement.FileItem x) {
   }

   public boolean visit(SQLAlterTablespaceStatement x) {
      return true;
   }

   public void endVisit(SQLAlterTablespaceStatement x) {
   }

   public boolean visit(SQLAlterTablespaceRename x) {
      return true;
   }

   public void endVisit(SQLAlterTablespaceRename x) {
   }

   public boolean visit(SQLAlterTablespaceRenameDatafile x) {
      return true;
   }

   public void endVisit(SQLAlterTablespaceRenameDatafile x) {
   }

   public boolean visit(SQLAlterTablespaceAddDatafile x) {
      return true;
   }

   public void endVisit(SQLAlterTablespaceAddDatafile x) {
   }

   public boolean visit(SQLAlterTablespaceResizeDatafile x) {
      return true;
   }

   public void endVisit(SQLAlterTablespaceResizeDatafile x) {
   }

   public boolean visit(SQLAlterTablespaceDatafile x) {
      return true;
   }

   public void endVisit(SQLAlterTablespaceDatafile x) {
   }

   public boolean visit(SQLCreateDomainStatement x) {
      return true;
   }

   public void endVisit(SQLCreateDomainStatement x) {
   }

   public boolean visit(SQLDropDomainStatement x) {
      return true;
   }

   public void endVisit(SQLDropDomainStatement x) {
   }

   public boolean visit(SQLCreateContextStatement x) {
      return true;
   }

   public void endVisit(SQLCreateContextStatement x) {
   }

   public boolean visit(SQLDropContextStatement x) {
      return true;
   }

   public void endVisit(SQLDropContextStatement x) {
   }

   public boolean visit(SQLCreateDirectoryStatement x) {
      return true;
   }

   public void endVisit(SQLCreateDirectoryStatement x) {
   }

   public boolean visit(SQLDropDirectoryStatement x) {
      return true;
   }

   public void endVisit(SQLDropDirectoryStatement x) {
   }

   public boolean visit(SQLSetTimeZoneStatement x) {
      return true;
   }

   public void endVisit(SQLSetTimeZoneStatement x) {
   }

   public boolean visit(SQLAlterSetNlsDateLanguageStatement x) {
      return true;
   }

   public void endVisit(SQLAlterSetNlsDateLanguageStatement x) {
   }

   public boolean visit(SQLAlterSetDateFormatStatement x) {
      return true;
   }

   public void endVisit(SQLAlterSetDateFormatStatement x) {
   }

   public boolean visit(SQLAlterSystemStatement x) {
      return true;
   }

   public void endVisit(SQLAlterSystemStatement x) {
   }

   public boolean visit(SQLAlterTablespaceCache x) {
      return true;
   }

   public void endVisit(SQLAlterTablespaceCache x) {
   }

   public boolean visit(SQLDropPackageStatement x) {
      return true;
   }

   public void endVisit(SQLDropPackageStatement x) {
   }
}
