/*
 * This file was auto-generated by speedy-antlr-tool v1.3.2
 *  https://github.com/amykyta3/speedy-antlr-tool
 */

#pragma once

#include "fugue_sqlBaseVisitor.h"
#include "speedy_antlr.h"

class SA_fugue_sqlTranslator : public fugue_sqlBaseVisitor {
    speedy_antlr::Translator *translator;

    // Cached context classes
    PyObject *FugueLanguageContext_cls = NULL;
    PyObject *FugueSingleStatementContext_cls = NULL;
    PyObject *FugueSingleTaskContext_cls = NULL;
    PyObject *FugueNestableTaskContext_cls = NULL;
    PyObject *FugueNestableTaskCollectionNoSelectContext_cls = NULL;
    PyObject *FugueTransformTaskContext_cls = NULL;
    PyObject *FugueProcessTaskContext_cls = NULL;
    PyObject *FugueSaveAndUseTaskContext_cls = NULL;
    PyObject *FugueRenameColumnsTaskContext_cls = NULL;
    PyObject *FugueAlterColumnsTaskContext_cls = NULL;
    PyObject *FugueDropColumnsTaskContext_cls = NULL;
    PyObject *FugueDropnaTaskContext_cls = NULL;
    PyObject *FugueFillnaTaskContext_cls = NULL;
    PyObject *FugueSampleTaskContext_cls = NULL;
    PyObject *FugueTakeTaskContext_cls = NULL;
    PyObject *FugueZipTaskContext_cls = NULL;
    PyObject *FugueCreateTaskContext_cls = NULL;
    PyObject *FugueCreateDataTaskContext_cls = NULL;
    PyObject *FugueLoadTaskContext_cls = NULL;
    PyObject *FugueOutputTaskContext_cls = NULL;
    PyObject *FuguePrintTaskContext_cls = NULL;
    PyObject *FugueSaveTaskContext_cls = NULL;
    PyObject *FugueOutputTransformTaskContext_cls = NULL;
    PyObject *FugueModuleTaskContext_cls = NULL;
    PyObject *FugueSqlEngineContext_cls = NULL;
    PyObject *FugueSingleFileContext_cls = NULL;
    PyObject *FugueLoadColumnsContext_cls = NULL;
    PyObject *FugueSaveModeContext_cls = NULL;
    PyObject *FugueFileFormatContext_cls = NULL;
    PyObject *FuguePathContext_cls = NULL;
    PyObject *FugueCheckpointDeterministicContext_cls = NULL;
    PyObject *FugueCheckpointWeakContext_cls = NULL;
    PyObject *FugueCheckpointStrongContext_cls = NULL;
    PyObject *FugueCheckpointNamespaceContext_cls = NULL;
    PyObject *FugueYieldContext_cls = NULL;
    PyObject *FugueBroadcastContext_cls = NULL;
    PyObject *FugueDataFramesDictContext_cls = NULL;
    PyObject *FugueDataFramesListContext_cls = NULL;
    PyObject *FugueDataFramePairContext_cls = NULL;
    PyObject *FugueDataFrameSourceContext_cls = NULL;
    PyObject *FugueDataFrameNestedContext_cls = NULL;
    PyObject *FugueDataFrameMemberContext_cls = NULL;
    PyObject *FugueAssignmentContext_cls = NULL;
    PyObject *FugueAssignmentSignContext_cls = NULL;
    PyObject *FugueSingleOutputExtensionCommonWildContext_cls = NULL;
    PyObject *FugueSingleOutputExtensionCommonContext_cls = NULL;
    PyObject *FugueExtensionContext_cls = NULL;
    PyObject *FugueSampleMethodContext_cls = NULL;
    PyObject *FugueZipTypeContext_cls = NULL;
    PyObject *FuguePrepartitionContext_cls = NULL;
    PyObject *FuguePartitionAlgoContext_cls = NULL;
    PyObject *FuguePartitionNumContext_cls = NULL;
    PyObject *FuguePartitionNumberContext_cls = NULL;
    PyObject *FugueParamsPairsContext_cls = NULL;
    PyObject *FugueParamsObjContext_cls = NULL;
    PyObject *FugueColsContext_cls = NULL;
    PyObject *FugueColsSortContext_cls = NULL;
    PyObject *FugueColSortContext_cls = NULL;
    PyObject *FugueColumnIdentifierContext_cls = NULL;
    PyObject *FugueRenameExpressionContext_cls = NULL;
    PyObject *FugueWildSchemaContext_cls = NULL;
    PyObject *FugueWildSchemaPairContext_cls = NULL;
    PyObject *FugueSchemaOpContext_cls = NULL;
    PyObject *FugueSchemaContext_cls = NULL;
    PyObject *FugueSchemaPairContext_cls = NULL;
    PyObject *FugueSchemaKeyContext_cls = NULL;
    PyObject *FugueSchemaSimpleTypeContext_cls = NULL;
    PyObject *FugueSchemaStructTypeContext_cls = NULL;
    PyObject *FugueSchemaListTypeContext_cls = NULL;
    PyObject *FugueRenamePairContext_cls = NULL;
    PyObject *FugueJsonContext_cls = NULL;
    PyObject *FugueJsonObjContext_cls = NULL;
    PyObject *FugueJsonPairsContext_cls = NULL;
    PyObject *FugueJsonPairContext_cls = NULL;
    PyObject *FugueJsonKeyContext_cls = NULL;
    PyObject *FugueJsonArrayContext_cls = NULL;
    PyObject *FugueJsonValueContext_cls = NULL;
    PyObject *FugueJsonNumberContext_cls = NULL;
    PyObject *FugueJsonStringContext_cls = NULL;
    PyObject *FugueJsonBoolContext_cls = NULL;
    PyObject *FugueJsonNullContext_cls = NULL;
    PyObject *FugueIdentifierContext_cls = NULL;
    PyObject *SingleStatementContext_cls = NULL;
    PyObject *SingleExpressionContext_cls = NULL;
    PyObject *SingleTableIdentifierContext_cls = NULL;
    PyObject *SingleMultipartIdentifierContext_cls = NULL;
    PyObject *SingleFunctionIdentifierContext_cls = NULL;
    PyObject *SingleDataTypeContext_cls = NULL;
    PyObject *SingleTableSchemaContext_cls = NULL;
    PyObject *ExplainContext_cls = NULL;
    PyObject *ResetConfigurationContext_cls = NULL;
    PyObject *AlterViewQueryContext_cls = NULL;
    PyObject *UseContext_cls = NULL;
    PyObject *DropNamespaceContext_cls = NULL;
    PyObject *CreateTempViewUsingContext_cls = NULL;
    PyObject *RenameTableContext_cls = NULL;
    PyObject *FailNativeCommandContext_cls = NULL;
    PyObject *ClearCacheContext_cls = NULL;
    PyObject *DropViewContext_cls = NULL;
    PyObject *ShowTablesContext_cls = NULL;
    PyObject *RecoverPartitionsContext_cls = NULL;
    PyObject *ShowCurrentNamespaceContext_cls = NULL;
    PyObject *RenameTablePartitionContext_cls = NULL;
    PyObject *RepairTableContext_cls = NULL;
    PyObject *RefreshResourceContext_cls = NULL;
    PyObject *ShowCreateTableContext_cls = NULL;
    PyObject *ShowNamespacesContext_cls = NULL;
    PyObject *ShowColumnsContext_cls = NULL;
    PyObject *ReplaceTableContext_cls = NULL;
    PyObject *AddTablePartitionContext_cls = NULL;
    PyObject *SetNamespaceLocationContext_cls = NULL;
    PyObject *RefreshTableContext_cls = NULL;
    PyObject *SetNamespacePropertiesContext_cls = NULL;
    PyObject *ManageResourceContext_cls = NULL;
    PyObject *AnalyzeContext_cls = NULL;
    PyObject *CreateHiveTableContext_cls = NULL;
    PyObject *CreateFunctionContext_cls = NULL;
    PyObject *ShowTableContext_cls = NULL;
    PyObject *HiveReplaceColumnsContext_cls = NULL;
    PyObject *CommentNamespaceContext_cls = NULL;
    PyObject *CreateTableContext_cls = NULL;
    PyObject *DmlStatementContext_cls = NULL;
    PyObject *CreateTableLikeContext_cls = NULL;
    PyObject *UncacheTableContext_cls = NULL;
    PyObject *DropFunctionContext_cls = NULL;
    PyObject *DescribeRelationContext_cls = NULL;
    PyObject *LoadDataContext_cls = NULL;
    PyObject *ShowPartitionsContext_cls = NULL;
    PyObject *DescribeFunctionContext_cls = NULL;
    PyObject *RenameTableColumnContext_cls = NULL;
    PyObject *StatementDefaultContext_cls = NULL;
    PyObject *HiveChangeColumnContext_cls = NULL;
    PyObject *DescribeQueryContext_cls = NULL;
    PyObject *TruncateTableContext_cls = NULL;
    PyObject *SetTableSerDeContext_cls = NULL;
    PyObject *CreateViewContext_cls = NULL;
    PyObject *DropTablePartitionsContext_cls = NULL;
    PyObject *SetConfigurationContext_cls = NULL;
    PyObject *DropTableContext_cls = NULL;
    PyObject *DescribeNamespaceContext_cls = NULL;
    PyObject *AlterTableAlterColumnContext_cls = NULL;
    PyObject *CommentTableContext_cls = NULL;
    PyObject *CreateNamespaceContext_cls = NULL;
    PyObject *ShowTblPropertiesContext_cls = NULL;
    PyObject *UnsetTablePropertiesContext_cls = NULL;
    PyObject *SetTableLocationContext_cls = NULL;
    PyObject *DropTableColumnsContext_cls = NULL;
    PyObject *ShowViewsContext_cls = NULL;
    PyObject *ShowFunctionsContext_cls = NULL;
    PyObject *CacheTableContext_cls = NULL;
    PyObject *AddTableColumnsContext_cls = NULL;
    PyObject *SetTablePropertiesContext_cls = NULL;
    PyObject *UnsupportedHiveNativeCommandsContext_cls = NULL;
    PyObject *CreateTableHeaderContext_cls = NULL;
    PyObject *ReplaceTableHeaderContext_cls = NULL;
    PyObject *BucketSpecContext_cls = NULL;
    PyObject *SkewSpecContext_cls = NULL;
    PyObject *LocationSpecContext_cls = NULL;
    PyObject *CommentSpecContext_cls = NULL;
    PyObject *QueryContext_cls = NULL;
    PyObject *InsertOverwriteHiveDirContext_cls = NULL;
    PyObject *InsertOverwriteDirContext_cls = NULL;
    PyObject *InsertOverwriteTableContext_cls = NULL;
    PyObject *InsertIntoTableContext_cls = NULL;
    PyObject *PartitionSpecLocationContext_cls = NULL;
    PyObject *PartitionSpecContext_cls = NULL;
    PyObject *PartitionValContext_cls = NULL;
    PyObject *TheNamespaceContext_cls = NULL;
    PyObject *DescribeFuncNameContext_cls = NULL;
    PyObject *DescribeColNameContext_cls = NULL;
    PyObject *CtesContext_cls = NULL;
    PyObject *NamedQueryContext_cls = NULL;
    PyObject *TableProviderContext_cls = NULL;
    PyObject *CreateTableClausesContext_cls = NULL;
    PyObject *TablePropertyListContext_cls = NULL;
    PyObject *TablePropertyContext_cls = NULL;
    PyObject *TablePropertyKeyContext_cls = NULL;
    PyObject *TablePropertyValueContext_cls = NULL;
    PyObject *ConstantListContext_cls = NULL;
    PyObject *NestedConstantListContext_cls = NULL;
    PyObject *CreateFileFormatContext_cls = NULL;
    PyObject *TableFileFormatContext_cls = NULL;
    PyObject *GenericFileFormatContext_cls = NULL;
    PyObject *StorageHandlerContext_cls = NULL;
    PyObject *ResourceContext_cls = NULL;
    PyObject *DeleteFromTableContext_cls = NULL;
    PyObject *SingleInsertQueryContext_cls = NULL;
    PyObject *MultiInsertQueryContext_cls = NULL;
    PyObject *UpdateTableContext_cls = NULL;
    PyObject *MergeIntoTableContext_cls = NULL;
    PyObject *QueryOrganizationContext_cls = NULL;
    PyObject *MultiInsertQueryBodyContext_cls = NULL;
    PyObject *QueryTermDefaultContext_cls = NULL;
    PyObject *FugueTermContext_cls = NULL;
    PyObject *SetOperationContext_cls = NULL;
    PyObject *QueryPrimaryDefaultContext_cls = NULL;
    PyObject *InlineTableDefault1Context_cls = NULL;
    PyObject *FromStmtContext_cls = NULL;
    PyObject *TableContext_cls = NULL;
    PyObject *SortItemContext_cls = NULL;
    PyObject *FromStatementContext_cls = NULL;
    PyObject *FromStatementBodyContext_cls = NULL;
    PyObject *RegularQuerySpecificationContext_cls = NULL;
    PyObject *TransformQuerySpecificationContext_cls = NULL;
    PyObject *OptionalFromClauseContext_cls = NULL;
    PyObject *TransformClauseContext_cls = NULL;
    PyObject *SelectClauseContext_cls = NULL;
    PyObject *SetClauseContext_cls = NULL;
    PyObject *MatchedClauseContext_cls = NULL;
    PyObject *NotMatchedClauseContext_cls = NULL;
    PyObject *MatchedActionContext_cls = NULL;
    PyObject *NotMatchedActionContext_cls = NULL;
    PyObject *AssignmentListContext_cls = NULL;
    PyObject *AssignmentContext_cls = NULL;
    PyObject *WhereClauseContext_cls = NULL;
    PyObject *HavingClauseContext_cls = NULL;
    PyObject *HintContext_cls = NULL;
    PyObject *HintStatementContext_cls = NULL;
    PyObject *FromClauseContext_cls = NULL;
    PyObject *AggregationClauseContext_cls = NULL;
    PyObject *GroupingSetContext_cls = NULL;
    PyObject *PivotClauseContext_cls = NULL;
    PyObject *PivotColumnContext_cls = NULL;
    PyObject *PivotValueContext_cls = NULL;
    PyObject *LateralViewContext_cls = NULL;
    PyObject *SetQuantifierContext_cls = NULL;
    PyObject *RelationContext_cls = NULL;
    PyObject *JoinRelationContext_cls = NULL;
    PyObject *JoinTypeContext_cls = NULL;
    PyObject *JoinCriteriaContext_cls = NULL;
    PyObject *SampleContext_cls = NULL;
    PyObject *SampleByRowsContext_cls = NULL;
    PyObject *SampleByPercentileContext_cls = NULL;
    PyObject *SampleByBucketContext_cls = NULL;
    PyObject *SampleByBytesContext_cls = NULL;
    PyObject *IdentifierListContext_cls = NULL;
    PyObject *IdentifierSeqContext_cls = NULL;
    PyObject *OrderedIdentifierListContext_cls = NULL;
    PyObject *OrderedIdentifierContext_cls = NULL;
    PyObject *IdentifierCommentListContext_cls = NULL;
    PyObject *IdentifierCommentContext_cls = NULL;
    PyObject *TableValuedFunctionContext_cls = NULL;
    PyObject *InlineTableDefault2Context_cls = NULL;
    PyObject *AliasedRelationContext_cls = NULL;
    PyObject *AliasedQueryContext_cls = NULL;
    PyObject *TableNameContext_cls = NULL;
    PyObject *InlineTableContext_cls = NULL;
    PyObject *FunctionTableContext_cls = NULL;
    PyObject *TableAliasContext_cls = NULL;
    PyObject *RowFormatSerdeContext_cls = NULL;
    PyObject *RowFormatDelimitedContext_cls = NULL;
    PyObject *MultipartIdentifierListContext_cls = NULL;
    PyObject *MultipartIdentifierContext_cls = NULL;
    PyObject *TableIdentifierContext_cls = NULL;
    PyObject *FunctionIdentifierContext_cls = NULL;
    PyObject *NamedExpressionContext_cls = NULL;
    PyObject *NamedExpressionSeqContext_cls = NULL;
    PyObject *TransformListContext_cls = NULL;
    PyObject *IdentityTransformContext_cls = NULL;
    PyObject *ApplyTransformContext_cls = NULL;
    PyObject *TransformArgumentContext_cls = NULL;
    PyObject *ExpressionContext_cls = NULL;
    PyObject *LogicalNotContext_cls = NULL;
    PyObject *PredicatedContext_cls = NULL;
    PyObject *ExistsContext_cls = NULL;
    PyObject *LogicalBinaryContext_cls = NULL;
    PyObject *PredicateContext_cls = NULL;
    PyObject *ValueExpressionDefaultContext_cls = NULL;
    PyObject *ComparisonContext_cls = NULL;
    PyObject *ArithmeticBinaryContext_cls = NULL;
    PyObject *ArithmeticUnaryContext_cls = NULL;
    PyObject *StructContext_cls = NULL;
    PyObject *DereferenceContext_cls = NULL;
    PyObject *SimpleCaseContext_cls = NULL;
    PyObject *ColumnReferenceContext_cls = NULL;
    PyObject *RowConstructorContext_cls = NULL;
    PyObject *LastContext_cls = NULL;
    PyObject *StarContext_cls = NULL;
    PyObject *OverlayContext_cls = NULL;
    PyObject *SubscriptContext_cls = NULL;
    PyObject *SubqueryExpressionContext_cls = NULL;
    PyObject *SubstringContext_cls = NULL;
    PyObject *CurrentDatetimeContext_cls = NULL;
    PyObject *CastContext_cls = NULL;
    PyObject *ConstantDefaultContext_cls = NULL;
    PyObject *LambdaContext_cls = NULL;
    PyObject *ParenthesizedExpressionContext_cls = NULL;
    PyObject *ExtractContext_cls = NULL;
    PyObject *TrimContext_cls = NULL;
    PyObject *FunctionCallContext_cls = NULL;
    PyObject *SearchedCaseContext_cls = NULL;
    PyObject *PositionContext_cls = NULL;
    PyObject *FirstContext_cls = NULL;
    PyObject *NullLiteralContext_cls = NULL;
    PyObject *StringLiteralContext_cls = NULL;
    PyObject *TypeConstructorContext_cls = NULL;
    PyObject *IntervalLiteralContext_cls = NULL;
    PyObject *NumericLiteralContext_cls = NULL;
    PyObject *BooleanLiteralContext_cls = NULL;
    PyObject *ComparisonOperatorContext_cls = NULL;
    PyObject *ComparisonEqualOperatorContext_cls = NULL;
    PyObject *ArithmeticOperatorContext_cls = NULL;
    PyObject *PredicateOperatorContext_cls = NULL;
    PyObject *BooleanValueContext_cls = NULL;
    PyObject *IntervalContext_cls = NULL;
    PyObject *ErrorCapturingMultiUnitsIntervalContext_cls = NULL;
    PyObject *MultiUnitsIntervalContext_cls = NULL;
    PyObject *ErrorCapturingUnitToUnitIntervalContext_cls = NULL;
    PyObject *UnitToUnitIntervalContext_cls = NULL;
    PyObject *IntervalValueContext_cls = NULL;
    PyObject *IntervalUnitContext_cls = NULL;
    PyObject *ColPositionContext_cls = NULL;
    PyObject *ComplexDataTypeContext_cls = NULL;
    PyObject *PrimitiveDataTypeContext_cls = NULL;
    PyObject *QualifiedColTypeWithPositionListContext_cls = NULL;
    PyObject *QualifiedColTypeWithPositionContext_cls = NULL;
    PyObject *ColTypeListContext_cls = NULL;
    PyObject *ColTypeContext_cls = NULL;
    PyObject *ComplexColTypeListContext_cls = NULL;
    PyObject *ComplexColTypeContext_cls = NULL;
    PyObject *WhenClauseContext_cls = NULL;
    PyObject *WindowClauseContext_cls = NULL;
    PyObject *NamedWindowContext_cls = NULL;
    PyObject *WindowRefContext_cls = NULL;
    PyObject *WindowDefContext_cls = NULL;
    PyObject *WindowFrameContext_cls = NULL;
    PyObject *FrameBoundContext_cls = NULL;
    PyObject *QualifiedNameListContext_cls = NULL;
    PyObject *FunctionNameContext_cls = NULL;
    PyObject *QualifiedNameContext_cls = NULL;
    PyObject *ErrorCapturingIdentifierContext_cls = NULL;
    PyObject *ErrorIdentContext_cls = NULL;
    PyObject *IdentifierContext_cls = NULL;
    PyObject *QuotedIdentifierAlternativeContext_cls = NULL;
    PyObject *UnquotedIdentifierContext_cls = NULL;
    PyObject *QuotedIdentifierContext_cls = NULL;
    PyObject *DecimalLiteralContext_cls = NULL;
    PyObject *BigIntLiteralContext_cls = NULL;
    PyObject *TinyIntLiteralContext_cls = NULL;
    PyObject *LegacyDecimalLiteralContext_cls = NULL;
    PyObject *BigDecimalLiteralContext_cls = NULL;
    PyObject *ExponentLiteralContext_cls = NULL;
    PyObject *DoubleLiteralContext_cls = NULL;
    PyObject *IntegerLiteralContext_cls = NULL;
    PyObject *SmallIntLiteralContext_cls = NULL;
    PyObject *AlterColumnActionContext_cls = NULL;
    PyObject *AnsiNonReservedContext_cls = NULL;
    PyObject *StrictNonReservedContext_cls = NULL;
    PyObject *NonReservedContext_cls = NULL;

    public:
    SA_fugue_sqlTranslator(speedy_antlr::Translator *translator);
    ~SA_fugue_sqlTranslator();
    antlrcpp::Any visitFugueLanguage(fugue_sqlParser::FugueLanguageContext *ctx);

    antlrcpp::Any visitFugueSingleStatement(fugue_sqlParser::FugueSingleStatementContext *ctx);

    antlrcpp::Any visitFugueSingleTask(fugue_sqlParser::FugueSingleTaskContext *ctx);

    antlrcpp::Any visitFugueNestableTask(fugue_sqlParser::FugueNestableTaskContext *ctx);

    antlrcpp::Any visitFugueNestableTaskCollectionNoSelect(fugue_sqlParser::FugueNestableTaskCollectionNoSelectContext *ctx);

    antlrcpp::Any visitFugueTransformTask(fugue_sqlParser::FugueTransformTaskContext *ctx);

    antlrcpp::Any visitFugueProcessTask(fugue_sqlParser::FugueProcessTaskContext *ctx);

    antlrcpp::Any visitFugueSaveAndUseTask(fugue_sqlParser::FugueSaveAndUseTaskContext *ctx);

    antlrcpp::Any visitFugueRenameColumnsTask(fugue_sqlParser::FugueRenameColumnsTaskContext *ctx);

    antlrcpp::Any visitFugueAlterColumnsTask(fugue_sqlParser::FugueAlterColumnsTaskContext *ctx);

    antlrcpp::Any visitFugueDropColumnsTask(fugue_sqlParser::FugueDropColumnsTaskContext *ctx);

    antlrcpp::Any visitFugueDropnaTask(fugue_sqlParser::FugueDropnaTaskContext *ctx);

    antlrcpp::Any visitFugueFillnaTask(fugue_sqlParser::FugueFillnaTaskContext *ctx);

    antlrcpp::Any visitFugueSampleTask(fugue_sqlParser::FugueSampleTaskContext *ctx);

    antlrcpp::Any visitFugueTakeTask(fugue_sqlParser::FugueTakeTaskContext *ctx);

    antlrcpp::Any visitFugueZipTask(fugue_sqlParser::FugueZipTaskContext *ctx);

    antlrcpp::Any visitFugueCreateTask(fugue_sqlParser::FugueCreateTaskContext *ctx);

    antlrcpp::Any visitFugueCreateDataTask(fugue_sqlParser::FugueCreateDataTaskContext *ctx);

    antlrcpp::Any visitFugueLoadTask(fugue_sqlParser::FugueLoadTaskContext *ctx);

    antlrcpp::Any visitFugueOutputTask(fugue_sqlParser::FugueOutputTaskContext *ctx);

    antlrcpp::Any visitFuguePrintTask(fugue_sqlParser::FuguePrintTaskContext *ctx);

    antlrcpp::Any visitFugueSaveTask(fugue_sqlParser::FugueSaveTaskContext *ctx);

    antlrcpp::Any visitFugueOutputTransformTask(fugue_sqlParser::FugueOutputTransformTaskContext *ctx);

    antlrcpp::Any visitFugueModuleTask(fugue_sqlParser::FugueModuleTaskContext *ctx);

    antlrcpp::Any visitFugueSqlEngine(fugue_sqlParser::FugueSqlEngineContext *ctx);

    antlrcpp::Any visitFugueSingleFile(fugue_sqlParser::FugueSingleFileContext *ctx);

    antlrcpp::Any visitFugueLoadColumns(fugue_sqlParser::FugueLoadColumnsContext *ctx);

    antlrcpp::Any visitFugueSaveMode(fugue_sqlParser::FugueSaveModeContext *ctx);

    antlrcpp::Any visitFugueFileFormat(fugue_sqlParser::FugueFileFormatContext *ctx);

    antlrcpp::Any visitFuguePath(fugue_sqlParser::FuguePathContext *ctx);

    antlrcpp::Any visitFugueCheckpointDeterministic(fugue_sqlParser::FugueCheckpointDeterministicContext *ctx);

    antlrcpp::Any visitFugueCheckpointWeak(fugue_sqlParser::FugueCheckpointWeakContext *ctx);

    antlrcpp::Any visitFugueCheckpointStrong(fugue_sqlParser::FugueCheckpointStrongContext *ctx);

    antlrcpp::Any visitFugueCheckpointNamespace(fugue_sqlParser::FugueCheckpointNamespaceContext *ctx);

    antlrcpp::Any visitFugueYield(fugue_sqlParser::FugueYieldContext *ctx);

    antlrcpp::Any visitFugueBroadcast(fugue_sqlParser::FugueBroadcastContext *ctx);

    antlrcpp::Any visitFugueDataFramesDict(fugue_sqlParser::FugueDataFramesDictContext *ctx);

    antlrcpp::Any visitFugueDataFramesList(fugue_sqlParser::FugueDataFramesListContext *ctx);

    antlrcpp::Any visitFugueDataFramePair(fugue_sqlParser::FugueDataFramePairContext *ctx);

    antlrcpp::Any visitFugueDataFrameSource(fugue_sqlParser::FugueDataFrameSourceContext *ctx);

    antlrcpp::Any visitFugueDataFrameNested(fugue_sqlParser::FugueDataFrameNestedContext *ctx);

    antlrcpp::Any visitFugueDataFrameMember(fugue_sqlParser::FugueDataFrameMemberContext *ctx);

    antlrcpp::Any visitFugueAssignment(fugue_sqlParser::FugueAssignmentContext *ctx);

    antlrcpp::Any visitFugueAssignmentSign(fugue_sqlParser::FugueAssignmentSignContext *ctx);

    antlrcpp::Any visitFugueSingleOutputExtensionCommonWild(fugue_sqlParser::FugueSingleOutputExtensionCommonWildContext *ctx);

    antlrcpp::Any visitFugueSingleOutputExtensionCommon(fugue_sqlParser::FugueSingleOutputExtensionCommonContext *ctx);

    antlrcpp::Any visitFugueExtension(fugue_sqlParser::FugueExtensionContext *ctx);

    antlrcpp::Any visitFugueSampleMethod(fugue_sqlParser::FugueSampleMethodContext *ctx);

    antlrcpp::Any visitFugueZipType(fugue_sqlParser::FugueZipTypeContext *ctx);

    antlrcpp::Any visitFuguePrepartition(fugue_sqlParser::FuguePrepartitionContext *ctx);

    antlrcpp::Any visitFuguePartitionAlgo(fugue_sqlParser::FuguePartitionAlgoContext *ctx);

    antlrcpp::Any visitFuguePartitionNum(fugue_sqlParser::FuguePartitionNumContext *ctx);

    antlrcpp::Any visitFuguePartitionNumber(fugue_sqlParser::FuguePartitionNumberContext *ctx);

    antlrcpp::Any visitFugueParamsPairs(fugue_sqlParser::FugueParamsPairsContext *ctx);

    antlrcpp::Any visitFugueParamsObj(fugue_sqlParser::FugueParamsObjContext *ctx);

    antlrcpp::Any visitFugueCols(fugue_sqlParser::FugueColsContext *ctx);

    antlrcpp::Any visitFugueColsSort(fugue_sqlParser::FugueColsSortContext *ctx);

    antlrcpp::Any visitFugueColSort(fugue_sqlParser::FugueColSortContext *ctx);

    antlrcpp::Any visitFugueColumnIdentifier(fugue_sqlParser::FugueColumnIdentifierContext *ctx);

    antlrcpp::Any visitFugueRenameExpression(fugue_sqlParser::FugueRenameExpressionContext *ctx);

    antlrcpp::Any visitFugueWildSchema(fugue_sqlParser::FugueWildSchemaContext *ctx);

    antlrcpp::Any visitFugueWildSchemaPair(fugue_sqlParser::FugueWildSchemaPairContext *ctx);

    antlrcpp::Any visitFugueSchemaOp(fugue_sqlParser::FugueSchemaOpContext *ctx);

    antlrcpp::Any visitFugueSchema(fugue_sqlParser::FugueSchemaContext *ctx);

    antlrcpp::Any visitFugueSchemaPair(fugue_sqlParser::FugueSchemaPairContext *ctx);

    antlrcpp::Any visitFugueSchemaKey(fugue_sqlParser::FugueSchemaKeyContext *ctx);

    antlrcpp::Any visitFugueSchemaSimpleType(fugue_sqlParser::FugueSchemaSimpleTypeContext *ctx);

    antlrcpp::Any visitFugueSchemaStructType(fugue_sqlParser::FugueSchemaStructTypeContext *ctx);

    antlrcpp::Any visitFugueSchemaListType(fugue_sqlParser::FugueSchemaListTypeContext *ctx);

    antlrcpp::Any visitFugueRenamePair(fugue_sqlParser::FugueRenamePairContext *ctx);

    antlrcpp::Any visitFugueJson(fugue_sqlParser::FugueJsonContext *ctx);

    antlrcpp::Any visitFugueJsonObj(fugue_sqlParser::FugueJsonObjContext *ctx);

    antlrcpp::Any visitFugueJsonPairs(fugue_sqlParser::FugueJsonPairsContext *ctx);

    antlrcpp::Any visitFugueJsonPair(fugue_sqlParser::FugueJsonPairContext *ctx);

    antlrcpp::Any visitFugueJsonKey(fugue_sqlParser::FugueJsonKeyContext *ctx);

    antlrcpp::Any visitFugueJsonArray(fugue_sqlParser::FugueJsonArrayContext *ctx);

    antlrcpp::Any visitFugueJsonValue(fugue_sqlParser::FugueJsonValueContext *ctx);

    antlrcpp::Any visitFugueJsonNumber(fugue_sqlParser::FugueJsonNumberContext *ctx);

    antlrcpp::Any visitFugueJsonString(fugue_sqlParser::FugueJsonStringContext *ctx);

    antlrcpp::Any visitFugueJsonBool(fugue_sqlParser::FugueJsonBoolContext *ctx);

    antlrcpp::Any visitFugueJsonNull(fugue_sqlParser::FugueJsonNullContext *ctx);

    antlrcpp::Any visitFugueIdentifier(fugue_sqlParser::FugueIdentifierContext *ctx);

    antlrcpp::Any visitSingleStatement(fugue_sqlParser::SingleStatementContext *ctx);

    antlrcpp::Any visitSingleExpression(fugue_sqlParser::SingleExpressionContext *ctx);

    antlrcpp::Any visitSingleTableIdentifier(fugue_sqlParser::SingleTableIdentifierContext *ctx);

    antlrcpp::Any visitSingleMultipartIdentifier(fugue_sqlParser::SingleMultipartIdentifierContext *ctx);

    antlrcpp::Any visitSingleFunctionIdentifier(fugue_sqlParser::SingleFunctionIdentifierContext *ctx);

    antlrcpp::Any visitSingleDataType(fugue_sqlParser::SingleDataTypeContext *ctx);

    antlrcpp::Any visitSingleTableSchema(fugue_sqlParser::SingleTableSchemaContext *ctx);

    antlrcpp::Any visitExplain(fugue_sqlParser::ExplainContext *ctx);

    antlrcpp::Any visitResetConfiguration(fugue_sqlParser::ResetConfigurationContext *ctx);

    antlrcpp::Any visitAlterViewQuery(fugue_sqlParser::AlterViewQueryContext *ctx);

    antlrcpp::Any visitUse(fugue_sqlParser::UseContext *ctx);

    antlrcpp::Any visitDropNamespace(fugue_sqlParser::DropNamespaceContext *ctx);

    antlrcpp::Any visitCreateTempViewUsing(fugue_sqlParser::CreateTempViewUsingContext *ctx);

    antlrcpp::Any visitRenameTable(fugue_sqlParser::RenameTableContext *ctx);

    antlrcpp::Any visitFailNativeCommand(fugue_sqlParser::FailNativeCommandContext *ctx);

    antlrcpp::Any visitClearCache(fugue_sqlParser::ClearCacheContext *ctx);

    antlrcpp::Any visitDropView(fugue_sqlParser::DropViewContext *ctx);

    antlrcpp::Any visitShowTables(fugue_sqlParser::ShowTablesContext *ctx);

    antlrcpp::Any visitRecoverPartitions(fugue_sqlParser::RecoverPartitionsContext *ctx);

    antlrcpp::Any visitShowCurrentNamespace(fugue_sqlParser::ShowCurrentNamespaceContext *ctx);

    antlrcpp::Any visitRenameTablePartition(fugue_sqlParser::RenameTablePartitionContext *ctx);

    antlrcpp::Any visitRepairTable(fugue_sqlParser::RepairTableContext *ctx);

    antlrcpp::Any visitRefreshResource(fugue_sqlParser::RefreshResourceContext *ctx);

    antlrcpp::Any visitShowCreateTable(fugue_sqlParser::ShowCreateTableContext *ctx);

    antlrcpp::Any visitShowNamespaces(fugue_sqlParser::ShowNamespacesContext *ctx);

    antlrcpp::Any visitShowColumns(fugue_sqlParser::ShowColumnsContext *ctx);

    antlrcpp::Any visitReplaceTable(fugue_sqlParser::ReplaceTableContext *ctx);

    antlrcpp::Any visitAddTablePartition(fugue_sqlParser::AddTablePartitionContext *ctx);

    antlrcpp::Any visitSetNamespaceLocation(fugue_sqlParser::SetNamespaceLocationContext *ctx);

    antlrcpp::Any visitRefreshTable(fugue_sqlParser::RefreshTableContext *ctx);

    antlrcpp::Any visitSetNamespaceProperties(fugue_sqlParser::SetNamespacePropertiesContext *ctx);

    antlrcpp::Any visitManageResource(fugue_sqlParser::ManageResourceContext *ctx);

    antlrcpp::Any visitAnalyze(fugue_sqlParser::AnalyzeContext *ctx);

    antlrcpp::Any visitCreateHiveTable(fugue_sqlParser::CreateHiveTableContext *ctx);

    antlrcpp::Any visitCreateFunction(fugue_sqlParser::CreateFunctionContext *ctx);

    antlrcpp::Any visitShowTable(fugue_sqlParser::ShowTableContext *ctx);

    antlrcpp::Any visitHiveReplaceColumns(fugue_sqlParser::HiveReplaceColumnsContext *ctx);

    antlrcpp::Any visitCommentNamespace(fugue_sqlParser::CommentNamespaceContext *ctx);

    antlrcpp::Any visitCreateTable(fugue_sqlParser::CreateTableContext *ctx);

    antlrcpp::Any visitDmlStatement(fugue_sqlParser::DmlStatementContext *ctx);

    antlrcpp::Any visitCreateTableLike(fugue_sqlParser::CreateTableLikeContext *ctx);

    antlrcpp::Any visitUncacheTable(fugue_sqlParser::UncacheTableContext *ctx);

    antlrcpp::Any visitDropFunction(fugue_sqlParser::DropFunctionContext *ctx);

    antlrcpp::Any visitDescribeRelation(fugue_sqlParser::DescribeRelationContext *ctx);

    antlrcpp::Any visitLoadData(fugue_sqlParser::LoadDataContext *ctx);

    antlrcpp::Any visitShowPartitions(fugue_sqlParser::ShowPartitionsContext *ctx);

    antlrcpp::Any visitDescribeFunction(fugue_sqlParser::DescribeFunctionContext *ctx);

    antlrcpp::Any visitRenameTableColumn(fugue_sqlParser::RenameTableColumnContext *ctx);

    antlrcpp::Any visitStatementDefault(fugue_sqlParser::StatementDefaultContext *ctx);

    antlrcpp::Any visitHiveChangeColumn(fugue_sqlParser::HiveChangeColumnContext *ctx);

    antlrcpp::Any visitDescribeQuery(fugue_sqlParser::DescribeQueryContext *ctx);

    antlrcpp::Any visitTruncateTable(fugue_sqlParser::TruncateTableContext *ctx);

    antlrcpp::Any visitSetTableSerDe(fugue_sqlParser::SetTableSerDeContext *ctx);

    antlrcpp::Any visitCreateView(fugue_sqlParser::CreateViewContext *ctx);

    antlrcpp::Any visitDropTablePartitions(fugue_sqlParser::DropTablePartitionsContext *ctx);

    antlrcpp::Any visitSetConfiguration(fugue_sqlParser::SetConfigurationContext *ctx);

    antlrcpp::Any visitDropTable(fugue_sqlParser::DropTableContext *ctx);

    antlrcpp::Any visitDescribeNamespace(fugue_sqlParser::DescribeNamespaceContext *ctx);

    antlrcpp::Any visitAlterTableAlterColumn(fugue_sqlParser::AlterTableAlterColumnContext *ctx);

    antlrcpp::Any visitCommentTable(fugue_sqlParser::CommentTableContext *ctx);

    antlrcpp::Any visitCreateNamespace(fugue_sqlParser::CreateNamespaceContext *ctx);

    antlrcpp::Any visitShowTblProperties(fugue_sqlParser::ShowTblPropertiesContext *ctx);

    antlrcpp::Any visitUnsetTableProperties(fugue_sqlParser::UnsetTablePropertiesContext *ctx);

    antlrcpp::Any visitSetTableLocation(fugue_sqlParser::SetTableLocationContext *ctx);

    antlrcpp::Any visitDropTableColumns(fugue_sqlParser::DropTableColumnsContext *ctx);

    antlrcpp::Any visitShowViews(fugue_sqlParser::ShowViewsContext *ctx);

    antlrcpp::Any visitShowFunctions(fugue_sqlParser::ShowFunctionsContext *ctx);

    antlrcpp::Any visitCacheTable(fugue_sqlParser::CacheTableContext *ctx);

    antlrcpp::Any visitAddTableColumns(fugue_sqlParser::AddTableColumnsContext *ctx);

    antlrcpp::Any visitSetTableProperties(fugue_sqlParser::SetTablePropertiesContext *ctx);

    antlrcpp::Any visitUnsupportedHiveNativeCommands(fugue_sqlParser::UnsupportedHiveNativeCommandsContext *ctx);

    antlrcpp::Any visitCreateTableHeader(fugue_sqlParser::CreateTableHeaderContext *ctx);

    antlrcpp::Any visitReplaceTableHeader(fugue_sqlParser::ReplaceTableHeaderContext *ctx);

    antlrcpp::Any visitBucketSpec(fugue_sqlParser::BucketSpecContext *ctx);

    antlrcpp::Any visitSkewSpec(fugue_sqlParser::SkewSpecContext *ctx);

    antlrcpp::Any visitLocationSpec(fugue_sqlParser::LocationSpecContext *ctx);

    antlrcpp::Any visitCommentSpec(fugue_sqlParser::CommentSpecContext *ctx);

    antlrcpp::Any visitQuery(fugue_sqlParser::QueryContext *ctx);

    antlrcpp::Any visitInsertOverwriteHiveDir(fugue_sqlParser::InsertOverwriteHiveDirContext *ctx);

    antlrcpp::Any visitInsertOverwriteDir(fugue_sqlParser::InsertOverwriteDirContext *ctx);

    antlrcpp::Any visitInsertOverwriteTable(fugue_sqlParser::InsertOverwriteTableContext *ctx);

    antlrcpp::Any visitInsertIntoTable(fugue_sqlParser::InsertIntoTableContext *ctx);

    antlrcpp::Any visitPartitionSpecLocation(fugue_sqlParser::PartitionSpecLocationContext *ctx);

    antlrcpp::Any visitPartitionSpec(fugue_sqlParser::PartitionSpecContext *ctx);

    antlrcpp::Any visitPartitionVal(fugue_sqlParser::PartitionValContext *ctx);

    antlrcpp::Any visitTheNamespace(fugue_sqlParser::TheNamespaceContext *ctx);

    antlrcpp::Any visitDescribeFuncName(fugue_sqlParser::DescribeFuncNameContext *ctx);

    antlrcpp::Any visitDescribeColName(fugue_sqlParser::DescribeColNameContext *ctx);

    antlrcpp::Any visitCtes(fugue_sqlParser::CtesContext *ctx);

    antlrcpp::Any visitNamedQuery(fugue_sqlParser::NamedQueryContext *ctx);

    antlrcpp::Any visitTableProvider(fugue_sqlParser::TableProviderContext *ctx);

    antlrcpp::Any visitCreateTableClauses(fugue_sqlParser::CreateTableClausesContext *ctx);

    antlrcpp::Any visitTablePropertyList(fugue_sqlParser::TablePropertyListContext *ctx);

    antlrcpp::Any visitTableProperty(fugue_sqlParser::TablePropertyContext *ctx);

    antlrcpp::Any visitTablePropertyKey(fugue_sqlParser::TablePropertyKeyContext *ctx);

    antlrcpp::Any visitTablePropertyValue(fugue_sqlParser::TablePropertyValueContext *ctx);

    antlrcpp::Any visitConstantList(fugue_sqlParser::ConstantListContext *ctx);

    antlrcpp::Any visitNestedConstantList(fugue_sqlParser::NestedConstantListContext *ctx);

    antlrcpp::Any visitCreateFileFormat(fugue_sqlParser::CreateFileFormatContext *ctx);

    antlrcpp::Any visitTableFileFormat(fugue_sqlParser::TableFileFormatContext *ctx);

    antlrcpp::Any visitGenericFileFormat(fugue_sqlParser::GenericFileFormatContext *ctx);

    antlrcpp::Any visitStorageHandler(fugue_sqlParser::StorageHandlerContext *ctx);

    antlrcpp::Any visitResource(fugue_sqlParser::ResourceContext *ctx);

    antlrcpp::Any visitDeleteFromTable(fugue_sqlParser::DeleteFromTableContext *ctx);

    antlrcpp::Any visitSingleInsertQuery(fugue_sqlParser::SingleInsertQueryContext *ctx);

    antlrcpp::Any visitMultiInsertQuery(fugue_sqlParser::MultiInsertQueryContext *ctx);

    antlrcpp::Any visitUpdateTable(fugue_sqlParser::UpdateTableContext *ctx);

    antlrcpp::Any visitMergeIntoTable(fugue_sqlParser::MergeIntoTableContext *ctx);

    antlrcpp::Any visitQueryOrganization(fugue_sqlParser::QueryOrganizationContext *ctx);

    antlrcpp::Any visitMultiInsertQueryBody(fugue_sqlParser::MultiInsertQueryBodyContext *ctx);

    antlrcpp::Any visitQueryTermDefault(fugue_sqlParser::QueryTermDefaultContext *ctx);

    antlrcpp::Any visitFugueTerm(fugue_sqlParser::FugueTermContext *ctx);

    antlrcpp::Any visitSetOperation(fugue_sqlParser::SetOperationContext *ctx);

    antlrcpp::Any visitQueryPrimaryDefault(fugue_sqlParser::QueryPrimaryDefaultContext *ctx);

    antlrcpp::Any visitInlineTableDefault1(fugue_sqlParser::InlineTableDefault1Context *ctx);

    antlrcpp::Any visitFromStmt(fugue_sqlParser::FromStmtContext *ctx);

    antlrcpp::Any visitTable(fugue_sqlParser::TableContext *ctx);

    antlrcpp::Any visitSortItem(fugue_sqlParser::SortItemContext *ctx);

    antlrcpp::Any visitFromStatement(fugue_sqlParser::FromStatementContext *ctx);

    antlrcpp::Any visitFromStatementBody(fugue_sqlParser::FromStatementBodyContext *ctx);

    antlrcpp::Any visitRegularQuerySpecification(fugue_sqlParser::RegularQuerySpecificationContext *ctx);

    antlrcpp::Any visitTransformQuerySpecification(fugue_sqlParser::TransformQuerySpecificationContext *ctx);

    antlrcpp::Any visitOptionalFromClause(fugue_sqlParser::OptionalFromClauseContext *ctx);

    antlrcpp::Any visitTransformClause(fugue_sqlParser::TransformClauseContext *ctx);

    antlrcpp::Any visitSelectClause(fugue_sqlParser::SelectClauseContext *ctx);

    antlrcpp::Any visitSetClause(fugue_sqlParser::SetClauseContext *ctx);

    antlrcpp::Any visitMatchedClause(fugue_sqlParser::MatchedClauseContext *ctx);

    antlrcpp::Any visitNotMatchedClause(fugue_sqlParser::NotMatchedClauseContext *ctx);

    antlrcpp::Any visitMatchedAction(fugue_sqlParser::MatchedActionContext *ctx);

    antlrcpp::Any visitNotMatchedAction(fugue_sqlParser::NotMatchedActionContext *ctx);

    antlrcpp::Any visitAssignmentList(fugue_sqlParser::AssignmentListContext *ctx);

    antlrcpp::Any visitAssignment(fugue_sqlParser::AssignmentContext *ctx);

    antlrcpp::Any visitWhereClause(fugue_sqlParser::WhereClauseContext *ctx);

    antlrcpp::Any visitHavingClause(fugue_sqlParser::HavingClauseContext *ctx);

    antlrcpp::Any visitHint(fugue_sqlParser::HintContext *ctx);

    antlrcpp::Any visitHintStatement(fugue_sqlParser::HintStatementContext *ctx);

    antlrcpp::Any visitFromClause(fugue_sqlParser::FromClauseContext *ctx);

    antlrcpp::Any visitAggregationClause(fugue_sqlParser::AggregationClauseContext *ctx);

    antlrcpp::Any visitGroupingSet(fugue_sqlParser::GroupingSetContext *ctx);

    antlrcpp::Any visitPivotClause(fugue_sqlParser::PivotClauseContext *ctx);

    antlrcpp::Any visitPivotColumn(fugue_sqlParser::PivotColumnContext *ctx);

    antlrcpp::Any visitPivotValue(fugue_sqlParser::PivotValueContext *ctx);

    antlrcpp::Any visitLateralView(fugue_sqlParser::LateralViewContext *ctx);

    antlrcpp::Any visitSetQuantifier(fugue_sqlParser::SetQuantifierContext *ctx);

    antlrcpp::Any visitRelation(fugue_sqlParser::RelationContext *ctx);

    antlrcpp::Any visitJoinRelation(fugue_sqlParser::JoinRelationContext *ctx);

    antlrcpp::Any visitJoinType(fugue_sqlParser::JoinTypeContext *ctx);

    antlrcpp::Any visitJoinCriteria(fugue_sqlParser::JoinCriteriaContext *ctx);

    antlrcpp::Any visitSample(fugue_sqlParser::SampleContext *ctx);

    antlrcpp::Any visitSampleByRows(fugue_sqlParser::SampleByRowsContext *ctx);

    antlrcpp::Any visitSampleByPercentile(fugue_sqlParser::SampleByPercentileContext *ctx);

    antlrcpp::Any visitSampleByBucket(fugue_sqlParser::SampleByBucketContext *ctx);

    antlrcpp::Any visitSampleByBytes(fugue_sqlParser::SampleByBytesContext *ctx);

    antlrcpp::Any visitIdentifierList(fugue_sqlParser::IdentifierListContext *ctx);

    antlrcpp::Any visitIdentifierSeq(fugue_sqlParser::IdentifierSeqContext *ctx);

    antlrcpp::Any visitOrderedIdentifierList(fugue_sqlParser::OrderedIdentifierListContext *ctx);

    antlrcpp::Any visitOrderedIdentifier(fugue_sqlParser::OrderedIdentifierContext *ctx);

    antlrcpp::Any visitIdentifierCommentList(fugue_sqlParser::IdentifierCommentListContext *ctx);

    antlrcpp::Any visitIdentifierComment(fugue_sqlParser::IdentifierCommentContext *ctx);

    antlrcpp::Any visitTableValuedFunction(fugue_sqlParser::TableValuedFunctionContext *ctx);

    antlrcpp::Any visitInlineTableDefault2(fugue_sqlParser::InlineTableDefault2Context *ctx);

    antlrcpp::Any visitAliasedRelation(fugue_sqlParser::AliasedRelationContext *ctx);

    antlrcpp::Any visitAliasedQuery(fugue_sqlParser::AliasedQueryContext *ctx);

    antlrcpp::Any visitTableName(fugue_sqlParser::TableNameContext *ctx);

    antlrcpp::Any visitInlineTable(fugue_sqlParser::InlineTableContext *ctx);

    antlrcpp::Any visitFunctionTable(fugue_sqlParser::FunctionTableContext *ctx);

    antlrcpp::Any visitTableAlias(fugue_sqlParser::TableAliasContext *ctx);

    antlrcpp::Any visitRowFormatSerde(fugue_sqlParser::RowFormatSerdeContext *ctx);

    antlrcpp::Any visitRowFormatDelimited(fugue_sqlParser::RowFormatDelimitedContext *ctx);

    antlrcpp::Any visitMultipartIdentifierList(fugue_sqlParser::MultipartIdentifierListContext *ctx);

    antlrcpp::Any visitMultipartIdentifier(fugue_sqlParser::MultipartIdentifierContext *ctx);

    antlrcpp::Any visitTableIdentifier(fugue_sqlParser::TableIdentifierContext *ctx);

    antlrcpp::Any visitFunctionIdentifier(fugue_sqlParser::FunctionIdentifierContext *ctx);

    antlrcpp::Any visitNamedExpression(fugue_sqlParser::NamedExpressionContext *ctx);

    antlrcpp::Any visitNamedExpressionSeq(fugue_sqlParser::NamedExpressionSeqContext *ctx);

    antlrcpp::Any visitTransformList(fugue_sqlParser::TransformListContext *ctx);

    antlrcpp::Any visitIdentityTransform(fugue_sqlParser::IdentityTransformContext *ctx);

    antlrcpp::Any visitApplyTransform(fugue_sqlParser::ApplyTransformContext *ctx);

    antlrcpp::Any visitTransformArgument(fugue_sqlParser::TransformArgumentContext *ctx);

    antlrcpp::Any visitExpression(fugue_sqlParser::ExpressionContext *ctx);

    antlrcpp::Any visitLogicalNot(fugue_sqlParser::LogicalNotContext *ctx);

    antlrcpp::Any visitPredicated(fugue_sqlParser::PredicatedContext *ctx);

    antlrcpp::Any visitExists(fugue_sqlParser::ExistsContext *ctx);

    antlrcpp::Any visitLogicalBinary(fugue_sqlParser::LogicalBinaryContext *ctx);

    antlrcpp::Any visitPredicate(fugue_sqlParser::PredicateContext *ctx);

    antlrcpp::Any visitValueExpressionDefault(fugue_sqlParser::ValueExpressionDefaultContext *ctx);

    antlrcpp::Any visitComparison(fugue_sqlParser::ComparisonContext *ctx);

    antlrcpp::Any visitArithmeticBinary(fugue_sqlParser::ArithmeticBinaryContext *ctx);

    antlrcpp::Any visitArithmeticUnary(fugue_sqlParser::ArithmeticUnaryContext *ctx);

    antlrcpp::Any visitStruct(fugue_sqlParser::StructContext *ctx);

    antlrcpp::Any visitDereference(fugue_sqlParser::DereferenceContext *ctx);

    antlrcpp::Any visitSimpleCase(fugue_sqlParser::SimpleCaseContext *ctx);

    antlrcpp::Any visitColumnReference(fugue_sqlParser::ColumnReferenceContext *ctx);

    antlrcpp::Any visitRowConstructor(fugue_sqlParser::RowConstructorContext *ctx);

    antlrcpp::Any visitLast(fugue_sqlParser::LastContext *ctx);

    antlrcpp::Any visitStar(fugue_sqlParser::StarContext *ctx);

    antlrcpp::Any visitOverlay(fugue_sqlParser::OverlayContext *ctx);

    antlrcpp::Any visitSubscript(fugue_sqlParser::SubscriptContext *ctx);

    antlrcpp::Any visitSubqueryExpression(fugue_sqlParser::SubqueryExpressionContext *ctx);

    antlrcpp::Any visitSubstring(fugue_sqlParser::SubstringContext *ctx);

    antlrcpp::Any visitCurrentDatetime(fugue_sqlParser::CurrentDatetimeContext *ctx);

    antlrcpp::Any visitCast(fugue_sqlParser::CastContext *ctx);

    antlrcpp::Any visitConstantDefault(fugue_sqlParser::ConstantDefaultContext *ctx);

    antlrcpp::Any visitLambda(fugue_sqlParser::LambdaContext *ctx);

    antlrcpp::Any visitParenthesizedExpression(fugue_sqlParser::ParenthesizedExpressionContext *ctx);

    antlrcpp::Any visitExtract(fugue_sqlParser::ExtractContext *ctx);

    antlrcpp::Any visitTrim(fugue_sqlParser::TrimContext *ctx);

    antlrcpp::Any visitFunctionCall(fugue_sqlParser::FunctionCallContext *ctx);

    antlrcpp::Any visitSearchedCase(fugue_sqlParser::SearchedCaseContext *ctx);

    antlrcpp::Any visitPosition(fugue_sqlParser::PositionContext *ctx);

    antlrcpp::Any visitFirst(fugue_sqlParser::FirstContext *ctx);

    antlrcpp::Any visitNullLiteral(fugue_sqlParser::NullLiteralContext *ctx);

    antlrcpp::Any visitStringLiteral(fugue_sqlParser::StringLiteralContext *ctx);

    antlrcpp::Any visitTypeConstructor(fugue_sqlParser::TypeConstructorContext *ctx);

    antlrcpp::Any visitIntervalLiteral(fugue_sqlParser::IntervalLiteralContext *ctx);

    antlrcpp::Any visitNumericLiteral(fugue_sqlParser::NumericLiteralContext *ctx);

    antlrcpp::Any visitBooleanLiteral(fugue_sqlParser::BooleanLiteralContext *ctx);

    antlrcpp::Any visitComparisonOperator(fugue_sqlParser::ComparisonOperatorContext *ctx);

    antlrcpp::Any visitComparisonEqualOperator(fugue_sqlParser::ComparisonEqualOperatorContext *ctx);

    antlrcpp::Any visitArithmeticOperator(fugue_sqlParser::ArithmeticOperatorContext *ctx);

    antlrcpp::Any visitPredicateOperator(fugue_sqlParser::PredicateOperatorContext *ctx);

    antlrcpp::Any visitBooleanValue(fugue_sqlParser::BooleanValueContext *ctx);

    antlrcpp::Any visitInterval(fugue_sqlParser::IntervalContext *ctx);

    antlrcpp::Any visitErrorCapturingMultiUnitsInterval(fugue_sqlParser::ErrorCapturingMultiUnitsIntervalContext *ctx);

    antlrcpp::Any visitMultiUnitsInterval(fugue_sqlParser::MultiUnitsIntervalContext *ctx);

    antlrcpp::Any visitErrorCapturingUnitToUnitInterval(fugue_sqlParser::ErrorCapturingUnitToUnitIntervalContext *ctx);

    antlrcpp::Any visitUnitToUnitInterval(fugue_sqlParser::UnitToUnitIntervalContext *ctx);

    antlrcpp::Any visitIntervalValue(fugue_sqlParser::IntervalValueContext *ctx);

    antlrcpp::Any visitIntervalUnit(fugue_sqlParser::IntervalUnitContext *ctx);

    antlrcpp::Any visitColPosition(fugue_sqlParser::ColPositionContext *ctx);

    antlrcpp::Any visitComplexDataType(fugue_sqlParser::ComplexDataTypeContext *ctx);

    antlrcpp::Any visitPrimitiveDataType(fugue_sqlParser::PrimitiveDataTypeContext *ctx);

    antlrcpp::Any visitQualifiedColTypeWithPositionList(fugue_sqlParser::QualifiedColTypeWithPositionListContext *ctx);

    antlrcpp::Any visitQualifiedColTypeWithPosition(fugue_sqlParser::QualifiedColTypeWithPositionContext *ctx);

    antlrcpp::Any visitColTypeList(fugue_sqlParser::ColTypeListContext *ctx);

    antlrcpp::Any visitColType(fugue_sqlParser::ColTypeContext *ctx);

    antlrcpp::Any visitComplexColTypeList(fugue_sqlParser::ComplexColTypeListContext *ctx);

    antlrcpp::Any visitComplexColType(fugue_sqlParser::ComplexColTypeContext *ctx);

    antlrcpp::Any visitWhenClause(fugue_sqlParser::WhenClauseContext *ctx);

    antlrcpp::Any visitWindowClause(fugue_sqlParser::WindowClauseContext *ctx);

    antlrcpp::Any visitNamedWindow(fugue_sqlParser::NamedWindowContext *ctx);

    antlrcpp::Any visitWindowRef(fugue_sqlParser::WindowRefContext *ctx);

    antlrcpp::Any visitWindowDef(fugue_sqlParser::WindowDefContext *ctx);

    antlrcpp::Any visitWindowFrame(fugue_sqlParser::WindowFrameContext *ctx);

    antlrcpp::Any visitFrameBound(fugue_sqlParser::FrameBoundContext *ctx);

    antlrcpp::Any visitQualifiedNameList(fugue_sqlParser::QualifiedNameListContext *ctx);

    antlrcpp::Any visitFunctionName(fugue_sqlParser::FunctionNameContext *ctx);

    antlrcpp::Any visitQualifiedName(fugue_sqlParser::QualifiedNameContext *ctx);

    antlrcpp::Any visitErrorCapturingIdentifier(fugue_sqlParser::ErrorCapturingIdentifierContext *ctx);

    antlrcpp::Any visitErrorIdent(fugue_sqlParser::ErrorIdentContext *ctx);

    antlrcpp::Any visitIdentifier(fugue_sqlParser::IdentifierContext *ctx);

    antlrcpp::Any visitQuotedIdentifierAlternative(fugue_sqlParser::QuotedIdentifierAlternativeContext *ctx);

    antlrcpp::Any visitUnquotedIdentifier(fugue_sqlParser::UnquotedIdentifierContext *ctx);

    antlrcpp::Any visitQuotedIdentifier(fugue_sqlParser::QuotedIdentifierContext *ctx);

    antlrcpp::Any visitDecimalLiteral(fugue_sqlParser::DecimalLiteralContext *ctx);

    antlrcpp::Any visitBigIntLiteral(fugue_sqlParser::BigIntLiteralContext *ctx);

    antlrcpp::Any visitTinyIntLiteral(fugue_sqlParser::TinyIntLiteralContext *ctx);

    antlrcpp::Any visitLegacyDecimalLiteral(fugue_sqlParser::LegacyDecimalLiteralContext *ctx);

    antlrcpp::Any visitBigDecimalLiteral(fugue_sqlParser::BigDecimalLiteralContext *ctx);

    antlrcpp::Any visitExponentLiteral(fugue_sqlParser::ExponentLiteralContext *ctx);

    antlrcpp::Any visitDoubleLiteral(fugue_sqlParser::DoubleLiteralContext *ctx);

    antlrcpp::Any visitIntegerLiteral(fugue_sqlParser::IntegerLiteralContext *ctx);

    antlrcpp::Any visitSmallIntLiteral(fugue_sqlParser::SmallIntLiteralContext *ctx);

    antlrcpp::Any visitAlterColumnAction(fugue_sqlParser::AlterColumnActionContext *ctx);

    antlrcpp::Any visitAnsiNonReserved(fugue_sqlParser::AnsiNonReservedContext *ctx);

    antlrcpp::Any visitStrictNonReserved(fugue_sqlParser::StrictNonReservedContext *ctx);

    antlrcpp::Any visitNonReserved(fugue_sqlParser::NonReservedContext *ctx);

};