// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { AIAgg } from "./AIAgg";
import type { AIClassify } from "./AIClassify";
import type { AddPartition } from "./AddPartition";
import type { AggFunc } from "./AggFunc";
import type { AggregateFunction } from "./AggregateFunction";
import type { AlgorithmProperty } from "./AlgorithmProperty";
import type { Alias } from "./Alias";
import type { Aliases } from "./Aliases";
import type { AllowedValuesProperty } from "./AllowedValuesProperty";
import type { AlterColumn } from "./AlterColumn";
import type { AlterIndex } from "./AlterIndex";
import type { AlterSequence } from "./AlterSequence";
import type { AlterSession } from "./AlterSession";
import type { AlterSet } from "./AlterSet";
import type { AlterSortKey } from "./AlterSortKey";
import type { AlterTable } from "./AlterTable";
import type { AlterView } from "./AlterView";
import type { Analyze } from "./Analyze";
import type { AnalyzeDelete } from "./AnalyzeDelete";
import type { AnalyzeHistogram } from "./AnalyzeHistogram";
import type { AnalyzeListChainedRows } from "./AnalyzeListChainedRows";
import type { AnalyzeSample } from "./AnalyzeSample";
import type { AnalyzeStatistics } from "./AnalyzeStatistics";
import type { AnalyzeValidate } from "./AnalyzeValidate";
import type { AnalyzeWith } from "./AnalyzeWith";
import type { Annotated } from "./Annotated";
import type { Anonymous } from "./Anonymous";
import type { AnonymousAggFunc } from "./AnonymousAggFunc";
import type { Apply } from "./Apply";
import type { ApproxPercentileEstimate } from "./ApproxPercentileEstimate";
import type { ApproxPercentileFunc } from "./ApproxPercentileFunc";
import type { ApproxQuantile } from "./ApproxQuantile";
import type { ApproxQuantiles } from "./ApproxQuantiles";
import type { ApproxTopK } from "./ApproxTopK";
import type { ApproxTopKAccumulate } from "./ApproxTopKAccumulate";
import type { ApproxTopKCombine } from "./ApproxTopKCombine";
import type { ApproxTopKEstimate } from "./ApproxTopKEstimate";
import type { ApproxTopSum } from "./ApproxTopSum";
import type { ArgMax } from "./ArgMax";
import type { ArgMin } from "./ArgMin";
import type { ArrayAll } from "./ArrayAll";
import type { ArrayAny } from "./ArrayAny";
import type { ArrayConstructCompact } from "./ArrayConstructCompact";
import type { ArrayConstructor } from "./ArrayConstructor";
import type { ArrayFilterFunc } from "./ArrayFilterFunc";
import type { ArrayJoinFunc } from "./ArrayJoinFunc";
import type { ArraySlice } from "./ArraySlice";
import type { ArraySortFunc } from "./ArraySortFunc";
import type { ArraySum } from "./ArraySum";
import type { ArrayTransformFunc } from "./ArrayTransformFunc";
import type { AtIndex } from "./AtIndex";
import type { AtTimeZone } from "./AtTimeZone";
import type { Attach } from "./Attach";
import type { AttachOption } from "./AttachOption";
import type { AutoIncrementColumnConstraint } from "./AutoIncrementColumnConstraint";
import type { AutoIncrementProperty } from "./AutoIncrementProperty";
import type { AutoRefreshProperty } from "./AutoRefreshProperty";
import type { BackupProperty } from "./BackupProperty";
import type { Base64DecodeBinary } from "./Base64DecodeBinary";
import type { Base64DecodeString } from "./Base64DecodeString";
import type { Base64Encode } from "./Base64Encode";
import type { Between } from "./Between";
import type { BinaryFunc } from "./BinaryFunc";
import type { BinaryOp } from "./BinaryOp";
import type { BlockCompressionProperty } from "./BlockCompressionProperty";
import type { Booland } from "./Booland";
import type { BooleanLiteral } from "./BooleanLiteral";
import type { Boolor } from "./Boolor";
import type { BuildProperty } from "./BuildProperty";
import type { ByteString } from "./ByteString";
import type { Cache } from "./Cache";
import type { Case } from "./Case";
import type { CaseSpecificColumnConstraint } from "./CaseSpecificColumnConstraint";
import type { Cast } from "./Cast";
import type { CastToStrType } from "./CastToStrType";
import type { CeilFunc } from "./CeilFunc";
import type { Changes } from "./Changes";
import type { CharFunc } from "./CharFunc";
import type { CharacterSetColumnConstraint } from "./CharacterSetColumnConstraint";
import type { CharacterSetProperty } from "./CharacterSetProperty";
import type { CheckColumnConstraint } from "./CheckColumnConstraint";
import type { CheckJson } from "./CheckJson";
import type { CheckXml } from "./CheckXml";
import type { ChecksumProperty } from "./ChecksumProperty";
import type { Clone } from "./Clone";
import type { ClusterBy } from "./ClusterBy";
import type { ClusteredByProperty } from "./ClusteredByProperty";
import type { CollateProperty } from "./CollateProperty";
import type { CollationExpr } from "./CollationExpr";
import type { Column } from "./Column";
import type { ColumnConstraint } from "./ColumnConstraint";
import type { ColumnDef } from "./ColumnDef";
import type { ColumnPosition } from "./ColumnPosition";
import type { ColumnPrefix } from "./ColumnPrefix";
import type { Columns } from "./Columns";
import type { CombinedAggFunc } from "./CombinedAggFunc";
import type { CombinedParameterizedAgg } from "./CombinedParameterizedAgg";
import type { Command } from "./Command";
import type { Comment } from "./Comment";
import type { CommentColumnConstraint } from "./CommentColumnConstraint";
import type { Commit } from "./Commit";
import type { Comprehension } from "./Comprehension";
import type { Compress } from "./Compress";
import type { CompressColumnConstraint } from "./CompressColumnConstraint";
import type { ComputedColumnConstraint } from "./ComputedColumnConstraint";
import type { ConcatWs } from "./ConcatWs";
import type { ConditionalInsert } from "./ConditionalInsert";
import type { Connect } from "./Connect";
import type { ConnectByRoot } from "./ConnectByRoot";
import type { Constraint } from "./Constraint";
import type { ConvertFunc } from "./ConvertFunc";
import type { ConvertTimezone } from "./ConvertTimezone";
import type { ConvertToCharset } from "./ConvertToCharset";
import type { CopyParameter } from "./CopyParameter";
import type { CopyStmt } from "./CopyStmt";
import type { Corr } from "./Corr";
import type { CosineDistance } from "./CosineDistance";
import type { CountFunc } from "./CountFunc";
import type { CovarPop } from "./CovarPop";
import type { CovarSamp } from "./CovarSamp";
import type { CreateDatabase } from "./CreateDatabase";
import type { CreateFunction } from "./CreateFunction";
import type { CreateIndex } from "./CreateIndex";
import type { CreateProcedure } from "./CreateProcedure";
import type { CreateSchema } from "./CreateSchema";
import type { CreateSequence } from "./CreateSequence";
import type { CreateTable } from "./CreateTable";
import type { CreateTrigger } from "./CreateTrigger";
import type { CreateType } from "./CreateType";
import type { CreateView } from "./CreateView";
import type { Credentials } from "./Credentials";
import type { CredentialsProperty } from "./CredentialsProperty";
import type { Cte } from "./Cte";
import type { Cube } from "./Cube";
import type { CumeDist } from "./CumeDist";
import type { CurrentDate } from "./CurrentDate";
import type { CurrentDatetime } from "./CurrentDatetime";
import type { CurrentSchema } from "./CurrentSchema";
import type { CurrentSchemas } from "./CurrentSchemas";
import type { CurrentTime } from "./CurrentTime";
import type { CurrentTimestamp } from "./CurrentTimestamp";
import type { CurrentTimestampLTZ } from "./CurrentTimestampLTZ";
import type { CurrentUser } from "./CurrentUser";
import type { DPipe } from "./DPipe";
import type { DataBlocksizeProperty } from "./DataBlocksizeProperty";
import type { DataDeletionProperty } from "./DataDeletionProperty";
import type { DataType } from "./DataType";
import type { DateAddFunc } from "./DateAddFunc";
import type { DateBin } from "./DateBin";
import type { DateDiffFunc } from "./DateDiffFunc";
import type { DateFormatColumnConstraint } from "./DateFormatColumnConstraint";
import type { DateFormatFunc } from "./DateFormatFunc";
import type { DateFromParts } from "./DateFromParts";
import type { DateTruncFunc } from "./DateTruncFunc";
import type { Datetime } from "./Datetime";
import type { DatetimeAdd } from "./DatetimeAdd";
import type { DatetimeDiff } from "./DatetimeDiff";
import type { DatetimeSub } from "./DatetimeSub";
import type { DatetimeTrunc } from "./DatetimeTrunc";
import type { Dayname } from "./Dayname";
import type { Declare } from "./Declare";
import type { DeclareItem } from "./DeclareItem";
import type { DecodeCase } from "./DecodeCase";
import type { DecodeFunc } from "./DecodeFunc";
import type { DecompressBinary } from "./DecompressBinary";
import type { DecompressString } from "./DecompressString";
import type { Decrypt } from "./Decrypt";
import type { DecryptRaw } from "./DecryptRaw";
import type { DefaultColumnConstraint } from "./DefaultColumnConstraint";
import type { DefinerProperty } from "./DefinerProperty";
import type { Delete } from "./Delete";
import type { DenseRank } from "./DenseRank";
import type { Describe } from "./Describe";
import type { Detach } from "./Detach";
import type { DictProperty } from "./DictProperty";
import type { DictRange } from "./DictRange";
import type { Directory } from "./Directory";
import type { DistKeyProperty } from "./DistKeyProperty";
import type { DistStyleProperty } from "./DistStyleProperty";
import type { DistributeBy } from "./DistributeBy";
import type { DistributedByProperty } from "./DistributedByProperty";
import type { DotAccess } from "./DotAccess";
import type { DotProduct } from "./DotProduct";
import type { DropDatabase } from "./DropDatabase";
import type { DropFunction } from "./DropFunction";
import type { DropIndex } from "./DropIndex";
import type { DropNamespace } from "./DropNamespace";
import type { DropPartition } from "./DropPartition";
import type { DropProcedure } from "./DropProcedure";
import type { DropSchema } from "./DropSchema";
import type { DropSequence } from "./DropSequence";
import type { DropTable } from "./DropTable";
import type { DropTrigger } from "./DropTrigger";
import type { DropType } from "./DropType";
import type { DropView } from "./DropView";
import type { DuplicateKeyProperty } from "./DuplicateKeyProperty";
import type { Elt } from "./Elt";
import type { Encode } from "./Encode";
import type { EncodeProperty } from "./EncodeProperty";
import type { Encrypt } from "./Encrypt";
import type { EncryptRaw } from "./EncryptRaw";
import type { EngineProperty } from "./EngineProperty";
import type { EnviromentProperty } from "./EnviromentProperty";
import type { EphemeralColumnConstraint } from "./EphemeralColumnConstraint";
import type { EqualNull } from "./EqualNull";
import type { EuclideanDistance } from "./EuclideanDistance";
import type { Except } from "./Except";
import type { ExecuteAsProperty } from "./ExecuteAsProperty";
import type { ExecuteStatement } from "./ExecuteStatement";
import type { Exists } from "./Exists";
import type { Export } from "./Export";
import type { ExternalProperty } from "./ExternalProperty";
import type { ExtractFunc } from "./ExtractFunc";
import type { FallbackProperty } from "./FallbackProperty";
import type { FarmFingerprint } from "./FarmFingerprint";
import type { FeaturesAtTime } from "./FeaturesAtTime";
import type { Fetch } from "./Fetch";
import type { FileFormatProperty } from "./FileFormatProperty";
import type { Filter } from "./Filter";
import type { Float64 } from "./Float64";
import type { FloorFunc } from "./FloorFunc";
import type { ForIn } from "./ForIn";
import type { ForeignKey } from "./ForeignKey";
import type { Format } from "./Format";
import type { FormatPhrase } from "./FormatPhrase";
import type { FreespaceProperty } from "./FreespaceProperty";
import type { From } from "./From";
import type { FromBase } from "./FromBase";
import type { FromTimeZone } from "./FromTimeZone";
import type { FromUnixtimeFunc } from "./FromUnixtimeFunc";
import type { Function } from "./Function";
import type { GapFill } from "./GapFill";
import type { GenerateDateArray } from "./GenerateDateArray";
import type { GenerateEmbedding } from "./GenerateEmbedding";
import type { GenerateSeries } from "./GenerateSeries";
import type { GenerateTimestampArray } from "./GenerateTimestampArray";
import type { GeneratedAsIdentityColumnConstraint } from "./GeneratedAsIdentityColumnConstraint";
import type { GeneratedAsRowColumnConstraint } from "./GeneratedAsRowColumnConstraint";
import type { Get } from "./Get";
import type { GetExtract } from "./GetExtract";
import type { Getbit } from "./Getbit";
import type { Grant } from "./Grant";
import type { GrantPrincipal } from "./GrantPrincipal";
import type { GrantPrivilege } from "./GrantPrivilege";
import type { Group } from "./Group";
import type { GroupBy } from "./GroupBy";
import type { GroupConcatFunc } from "./GroupConcatFunc";
import type { Grouping } from "./Grouping";
import type { GroupingId } from "./GroupingId";
import type { GroupingSets } from "./GroupingSets";
import type { HashAgg } from "./HashAgg";
import type { Having } from "./Having";
import type { HavingMax } from "./HavingMax";
import type { Heredoc } from "./Heredoc";
import type { HexEncode } from "./HexEncode";
import type { HexStringExpr } from "./HexStringExpr";
import type { Hint } from "./Hint";
import type { HistoricalData } from "./HistoricalData";
import type { Hll } from "./Hll";
import type { Identifier } from "./Identifier";
import type { IfFunc } from "./IfFunc";
import type { In } from "./In";
import type { InOutColumnConstraint } from "./InOutColumnConstraint";
import type { IncludeProperty } from "./IncludeProperty";
import type { Index } from "./Index";
import type { IndexColumnConstraint } from "./IndexColumnConstraint";
import type { IndexConstraintOption } from "./IndexConstraintOption";
import type { IndexParameters } from "./IndexParameters";
import type { IndexTableHint } from "./IndexTableHint";
import type { InheritsProperty } from "./InheritsProperty";
import type { InputModelProperty } from "./InputModelProperty";
import type { InputOutputFormat } from "./InputOutputFormat";
import type { Insert } from "./Insert";
import type { Install } from "./Install";
import type { Intersect } from "./Intersect";
import type { Interval } from "./Interval";
import type { IntervalOp } from "./IntervalOp";
import type { IntervalSpan } from "./IntervalSpan";
import type { IntoClause } from "./IntoClause";
import type { Introducer } from "./Introducer";
import type { IsJson } from "./IsJson";
import type { IsNull } from "./IsNull";
import type { IsTrueFalse } from "./IsTrueFalse";
import type { IsolatedLoadingProperty } from "./IsolatedLoadingProperty";
import type { JSON } from "./JSON";
import type { JSONArray } from "./JSONArray";
import type { JSONArrayAgg } from "./JSONArrayAgg";
import type { JSONArrayAppend } from "./JSONArrayAppend";
import type { JSONArrayContains } from "./JSONArrayContains";
import type { JSONArrayInsert } from "./JSONArrayInsert";
import type { JSONBExists } from "./JSONBExists";
import type { JSONBExtractScalar } from "./JSONBExtractScalar";
import type { JSONBObjectAgg } from "./JSONBObjectAgg";
import type { JSONCast } from "./JSONCast";
import type { JSONColumnDef } from "./JSONColumnDef";
import type { JSONExists } from "./JSONExists";
import type { JSONExtract } from "./JSONExtract";
import type { JSONExtractArray } from "./JSONExtractArray";
import type { JSONExtractQuote } from "./JSONExtractQuote";
import type { JSONExtractScalar } from "./JSONExtractScalar";
import type { JSONFormat } from "./JSONFormat";
import type { JSONKeyValue } from "./JSONKeyValue";
import type { JSONKeys } from "./JSONKeys";
import type { JSONKeysAtDepth } from "./JSONKeysAtDepth";
import type { JSONObject } from "./JSONObject";
import type { JSONObjectAgg } from "./JSONObjectAgg";
import type { JSONPath } from "./JSONPath";
import type { JSONPathFilter } from "./JSONPathFilter";
import type { JSONPathKey } from "./JSONPathKey";
import type { JSONPathRecursive } from "./JSONPathRecursive";
import type { JSONPathRoot } from "./JSONPathRoot";
import type { JSONPathScript } from "./JSONPathScript";
import type { JSONPathSelector } from "./JSONPathSelector";
import type { JSONPathSlice } from "./JSONPathSlice";
import type { JSONPathSubscript } from "./JSONPathSubscript";
import type { JSONPathUnion } from "./JSONPathUnion";
import type { JSONRemove } from "./JSONRemove";
import type { JSONSchema } from "./JSONSchema";
import type { JSONSet } from "./JSONSet";
import type { JSONStripNulls } from "./JSONStripNulls";
import type { JSONTable } from "./JSONTable";
import type { JSONType } from "./JSONType";
import type { JSONValue } from "./JSONValue";
import type { JSONValueArray } from "./JSONValueArray";
import type { JarowinklerSimilarity } from "./JarowinklerSimilarity";
import type { Join } from "./Join";
import type { JoinHint } from "./JoinHint";
import type { JoinedTable } from "./JoinedTable";
import type { JournalProperty } from "./JournalProperty";
import type { JsonArrayAggFunc } from "./JsonArrayAggFunc";
import type { JsonExtractFunc } from "./JsonExtractFunc";
import type { JsonModifyFunc } from "./JsonModifyFunc";
import type { JsonObjectAggFunc } from "./JsonObjectAggFunc";
import type { JsonObjectFunc } from "./JsonObjectFunc";
import type { JsonPathFunc } from "./JsonPathFunc";
import type { Kill } from "./Kill";
import type { LambdaExpr } from "./LambdaExpr";
import type { LanguageProperty } from "./LanguageProperty";
import type { LastDayFunc } from "./LastDayFunc";
import type { Lateral } from "./Lateral";
import type { LateralView } from "./LateralView";
import type { LeadLagFunc } from "./LeadLagFunc";
import type { LeftRightFunc } from "./LeftRightFunc";
import type { LikeOp } from "./LikeOp";
import type { LikeProperty } from "./LikeProperty";
import type { Limit } from "./Limit";
import type { LimitOptions } from "./LimitOptions";
import type { List } from "./List";
import type { ListAggFunc } from "./ListAggFunc";
import type { Literal } from "./Literal";
import type { LoadData } from "./LoadData";
import type { Localtime } from "./Localtime";
import type { Localtimestamp } from "./Localtimestamp";
import type { LocationProperty } from "./LocationProperty";
import type { Lock } from "./Lock";
import type { LockProperty } from "./LockProperty";
import type { LockingProperty } from "./LockingProperty";
import type { LockingStatement } from "./LockingStatement";
import type { LogFunc } from "./LogFunc";
import type { LogProperty } from "./LogProperty";
import type { MD5Digest } from "./MD5Digest";
import type { MLForecast } from "./MLForecast";
import type { MLTranslate } from "./MLTranslate";
import type { MakeDateFunc } from "./MakeDateFunc";
import type { MakeInterval } from "./MakeInterval";
import type { MakeTimestampFunc } from "./MakeTimestampFunc";
import type { ManhattanDistance } from "./ManhattanDistance";
import type { Map } from "./Map";
import type { MapCat } from "./MapCat";
import type { MapConstructor } from "./MapConstructor";
import type { MapDelete } from "./MapDelete";
import type { MapInsert } from "./MapInsert";
import type { MapPick } from "./MapPick";
import type { MaskingPolicyColumnConstraint } from "./MaskingPolicyColumnConstraint";
import type { MatchAgainst } from "./MatchAgainst";
import type { MatchRecognize } from "./MatchRecognize";
import type { MatchRecognizeMeasure } from "./MatchRecognizeMeasure";
import type { MaterializedProperty } from "./MaterializedProperty";
import type { Merge } from "./Merge";
import type { MergeBlockRatioProperty } from "./MergeBlockRatioProperty";
import type { MergeTreeTTL } from "./MergeTreeTTL";
import type { MergeTreeTTLAction } from "./MergeTreeTTLAction";
import type { MethodCall } from "./MethodCall";
import type { Minhash } from "./Minhash";
import type { ModelAttribute } from "./ModelAttribute";
import type { Monthname } from "./Monthname";
import type { MultitableInserts } from "./MultitableInserts";
import type { NTileFunc } from "./NTileFunc";
import type { NamedArgument } from "./NamedArgument";
import type { NamedStructFunc } from "./NamedStructFunc";
import type { NextValueFor } from "./NextValueFor";
import type { Normal } from "./Normal";
import type { Normalize } from "./Normalize";
import type { NotNullColumnConstraint } from "./NotNullColumnConstraint";
import type { NthValueFunc } from "./NthValueFunc";
import type { Ntile } from "./Ntile";
import type { Null } from "./Null";
import type { Nullif } from "./Nullif";
import type { NumberToStr } from "./NumberToStr";
import type { Nvl2Func } from "./Nvl2Func";
import type { ObjectAgg } from "./ObjectAgg";
import type { ObjectIdentifier } from "./ObjectIdentifier";
import type { ObjectInsert } from "./ObjectInsert";
import type { Offset } from "./Offset";
import type { OnCluster } from "./OnCluster";
import type { OnCommitProperty } from "./OnCommitProperty";
import type { OnCondition } from "./OnCondition";
import type { OnConflict } from "./OnConflict";
import type { OnProperty } from "./OnProperty";
import type { Opclass } from "./Opclass";
import type { OpenJSON } from "./OpenJSON";
import type { OpenJSONColumnDef } from "./OpenJSONColumnDef";
import type { Operator } from "./Operator";
import type { OrderBy } from "./OrderBy";
import type { Ordered } from "./Ordered";
import type { OutputModelProperty } from "./OutputModelProperty";
import type { Over } from "./Over";
import type { OverflowTruncateBehavior } from "./OverflowTruncateBehavior";
import type { OverlapsExpr } from "./OverlapsExpr";
import type { OverlayFunc } from "./OverlayFunc";
import type { Pad } from "./Pad";
import type { PadFunc } from "./PadFunc";
import type { Parameter } from "./Parameter";
import type { ParameterizedAgg } from "./ParameterizedAgg";
import type { Paren } from "./Paren";
import type { ParseDatetime } from "./ParseDatetime";
import type { ParseIp } from "./ParseIp";
import type { ParseJSON } from "./ParseJSON";
import type { ParseTime } from "./ParseTime";
import type { ParseUrl } from "./ParseUrl";
import type { Partition } from "./Partition";
import type { PartitionBoundSpec } from "./PartitionBoundSpec";
import type { PartitionByListProperty } from "./PartitionByListProperty";
import type { PartitionByRangeProperty } from "./PartitionByRangeProperty";
import type { PartitionByRangePropertyDynamic } from "./PartitionByRangePropertyDynamic";
import type { PartitionByTruncate } from "./PartitionByTruncate";
import type { PartitionList } from "./PartitionList";
import type { PartitionRange } from "./PartitionRange";
import type { PartitionedByBucket } from "./PartitionedByBucket";
import type { PartitionedByProperty } from "./PartitionedByProperty";
import type { PartitionedOfProperty } from "./PartitionedOfProperty";
import type { PathColumnConstraint } from "./PathColumnConstraint";
import type { PercentRank } from "./PercentRank";
import type { PercentileFunc } from "./PercentileFunc";
import type { PeriodForSystemTimeConstraint } from "./PeriodForSystemTimeConstraint";
import type { Pi } from "./Pi";
import type { Pivot } from "./Pivot";
import type { PivotAlias } from "./PivotAlias";
import type { PivotAny } from "./PivotAny";
import type { Placeholder } from "./Placeholder";
import type { PositionFunc } from "./PositionFunc";
import type { Pragma } from "./Pragma";
import type { PreWhere } from "./PreWhere";
import type { Predict } from "./Predict";
import type { PreviousDay } from "./PreviousDay";
import type { PrimaryKey } from "./PrimaryKey";
import type { PrimaryKeyColumnConstraint } from "./PrimaryKeyColumnConstraint";
import type { Prior } from "./Prior";
import type { ProjectionDef } from "./ProjectionDef";
import type { Properties } from "./Properties";
import type { Property } from "./Property";
import type { PseudoType } from "./PseudoType";
import type { Pseudocolumn } from "./Pseudocolumn";
import type { PutStmt } from "./PutStmt";
import type { Qualify } from "./Qualify";
import type { QuantifiedExpr } from "./QuantifiedExpr";
import type { Quantile } from "./Quantile";
import type { QueryBand } from "./QueryBand";
import type { QueryOption } from "./QueryOption";
import type { QueryTransform } from "./QueryTransform";
import type { Rand } from "./Rand";
import type { Randn } from "./Randn";
import type { Random } from "./Random";
import type { Randstr } from "./Randstr";
import type { RangeBucket } from "./RangeBucket";
import type { RangeN } from "./RangeN";
import type { Rank } from "./Rank";
import type { Raw } from "./Raw";
import type { ReadCSV } from "./ReadCSV";
import type { ReadParquet } from "./ReadParquet";
import type { RecursiveWithSearch } from "./RecursiveWithSearch";
import type { Reduce } from "./Reduce";
import type { Reference } from "./Reference";
import type { Refresh } from "./Refresh";
import type { RefreshTriggerProperty } from "./RefreshTriggerProperty";
import type { RegexpCount } from "./RegexpCount";
import type { RegexpExtractAll } from "./RegexpExtractAll";
import type { RegexpExtractFunc } from "./RegexpExtractFunc";
import type { RegexpFullMatch } from "./RegexpFullMatch";
import type { RegexpFunc } from "./RegexpFunc";
import type { RegexpILike } from "./RegexpILike";
import type { RegexpInstr } from "./RegexpInstr";
import type { RegexpReplaceFunc } from "./RegexpReplaceFunc";
import type { RegexpSplit } from "./RegexpSplit";
import type { RegrAvgx } from "./RegrAvgx";
import type { RegrAvgy } from "./RegrAvgy";
import type { RegrCount } from "./RegrCount";
import type { RegrIntercept } from "./RegrIntercept";
import type { RegrR2 } from "./RegrR2";
import type { RegrSlope } from "./RegrSlope";
import type { RegrSxx } from "./RegrSxx";
import type { RegrSxy } from "./RegrSxy";
import type { RegrSyy } from "./RegrSyy";
import type { RegrValx } from "./RegrValx";
import type { RegrValy } from "./RegrValy";
import type { RemoteWithConnectionModelProperty } from "./RemoteWithConnectionModelProperty";
import type { RenameColumn } from "./RenameColumn";
import type { RepeatFunc } from "./RepeatFunc";
import type { ReplaceFunc } from "./ReplaceFunc";
import type { ReplacePartition } from "./ReplacePartition";
import type { Returning } from "./Returning";
import type { ReturnsProperty } from "./ReturnsProperty";
import type { Revoke } from "./Revoke";
import type { Rollback } from "./Rollback";
import type { Rollup } from "./Rollup";
import type { RollupProperty } from "./RollupProperty";
import type { RoundFunc } from "./RoundFunc";
import type { RowFormatDelimitedProperty } from "./RowFormatDelimitedProperty";
import type { RowFormatProperty } from "./RowFormatProperty";
import type { RowFormatSerdeProperty } from "./RowFormatSerdeProperty";
import type { RowNumber } from "./RowNumber";
import type { RowsFrom } from "./RowsFrom";
import type { SHA2 } from "./SHA2";
import type { SHA2Digest } from "./SHA2Digest";
import type { SafeAdd } from "./SafeAdd";
import type { SafeDivide } from "./SafeDivide";
import type { SafeMultiply } from "./SafeMultiply";
import type { SafeSubtract } from "./SafeSubtract";
import type { SampleProperty } from "./SampleProperty";
import type { Schema } from "./Schema";
import type { SchemaCommentProperty } from "./SchemaCommentProperty";
import type { ScopeResolution } from "./ScopeResolution";
import type { Search } from "./Search";
import type { SearchIp } from "./SearchIp";
import type { SecurityProperty } from "./SecurityProperty";
import type { Select } from "./Select";
import type { SemanticView } from "./SemanticView";
import type { SequenceFunc } from "./SequenceFunc";
import type { SequenceProperties } from "./SequenceProperties";
import type { SerdeProperties } from "./SerdeProperties";
import type { SessionParameter } from "./SessionParameter";
import type { SessionUser } from "./SessionUser";
import type { Set } from "./Set";
import type { SetConfigProperty } from "./SetConfigProperty";
import type { SetItem } from "./SetItem";
import type { SetOperation } from "./SetOperation";
import type { SetProperty } from "./SetProperty";
import type { SetStatement } from "./SetStatement";
import type { SettingsProperty } from "./SettingsProperty";
import type { SharingProperty } from "./SharingProperty";
import type { Show } from "./Show";
import type { SimilarToExpr } from "./SimilarToExpr";
import type { Slice } from "./Slice";
import type { SortArray } from "./SortArray";
import type { SortBy } from "./SortBy";
import type { SortKeyProperty } from "./SortKeyProperty";
import type { SplitFunc } from "./SplitFunc";
import type { SplitPart } from "./SplitPart";
import type { SqlArray } from "./SqlArray";
import type { SqlComment } from "./SqlComment";
import type { SqlReadWriteProperty } from "./SqlReadWriteProperty";
import type { SqlSecurityProperty } from "./SqlSecurityProperty";
import type { StDistance } from "./StDistance";
import type { StPoint } from "./StPoint";
import type { StabilityProperty } from "./StabilityProperty";
import type { StageReference } from "./StageReference";
import type { StandardHash } from "./StandardHash";
import type { Star } from "./Star";
import type { StorageHandlerProperty } from "./StorageHandlerProperty";
import type { StrPosition } from "./StrPosition";
import type { StrToDate } from "./StrToDate";
import type { StrToMap } from "./StrToMap";
import type { StrToTime } from "./StrToTime";
import type { StrToUnix } from "./StrToUnix";
import type { Stream } from "./Stream";
import type { StringAggFunc } from "./StringAggFunc";
import type { StringFunc } from "./StringFunc";
import type { StringToArray } from "./StringToArray";
import type { Struct } from "./Struct";
import type { StructConstructor } from "./StructConstructor";
import type { StructExtractFunc } from "./StructExtractFunc";
import type { Stuff } from "./Stuff";
import type { Subquery } from "./Subquery";
import type { Subscript } from "./Subscript";
import type { SubstringFunc } from "./SubstringFunc";
import type { SubstringIndex } from "./SubstringIndex";
import type { SumIfFunc } from "./SumIfFunc";
import type { Summarize } from "./Summarize";
import type { Systimestamp } from "./Systimestamp";
import type { TableAlias } from "./TableAlias";
import type { TableArgument } from "./TableArgument";
import type { TableFromRows } from "./TableFromRows";
import type { TableRef } from "./TableRef";
import type { TableSample } from "./TableSample";
import type { Tag } from "./Tag";
import type { Tags } from "./Tags";
import type { TemporaryProperty } from "./TemporaryProperty";
import type { TimeAdd } from "./TimeAdd";
import type { TimeDiff } from "./TimeDiff";
import type { TimeFromParts } from "./TimeFromParts";
import type { TimeSlice } from "./TimeSlice";
import type { TimeStrToTime } from "./TimeStrToTime";
import type { TimeSub } from "./TimeSub";
import type { TimeToStr } from "./TimeToStr";
import type { TimeTrunc } from "./TimeTrunc";
import type { TimeUnit } from "./TimeUnit";
import type { TimestampAdd } from "./TimestampAdd";
import type { TimestampDiff } from "./TimestampDiff";
import type { TimestampFromParts } from "./TimestampFromParts";
import type { TimestampFunc } from "./TimestampFunc";
import type { TimestampSub } from "./TimestampSub";
import type { TimestampTzFromParts } from "./TimestampTzFromParts";
import type { ToBinary } from "./ToBinary";
import type { ToBoolean } from "./ToBoolean";
import type { ToChar } from "./ToChar";
import type { ToDateFunc } from "./ToDateFunc";
import type { ToDecfloat } from "./ToDecfloat";
import type { ToDouble } from "./ToDouble";
import type { ToFile } from "./ToFile";
import type { ToMap } from "./ToMap";
import type { ToNumber } from "./ToNumber";
import type { ToTableProperty } from "./ToTableProperty";
import type { ToTimestampFunc } from "./ToTimestampFunc";
import type { Transaction } from "./Transaction";
import type { Transform } from "./Transform";
import type { TransformFunc } from "./TransformFunc";
import type { TransformModelProperty } from "./TransformModelProperty";
import type { TransientProperty } from "./TransientProperty";
import type { Translate } from "./Translate";
import type { TranslateCharacters } from "./TranslateCharacters";
import type { TrimFunc } from "./TrimFunc";
import type { Truncate } from "./Truncate";
import type { TruncateFunc } from "./TruncateFunc";
import type { TruncateTable } from "./TruncateTable";
import type { TryBase64DecodeBinary } from "./TryBase64DecodeBinary";
import type { TryBase64DecodeString } from "./TryBase64DecodeString";
import type { TryToDecfloat } from "./TryToDecfloat";
import type { TsOrDsAdd } from "./TsOrDsAdd";
import type { TsOrDsDiff } from "./TsOrDsDiff";
import type { TsOrDsToDate } from "./TsOrDsToDate";
import type { TsOrDsToTime } from "./TsOrDsToTime";
import type { Tuple } from "./Tuple";
import type { UnaryFunc } from "./UnaryFunc";
import type { UnaryOp } from "./UnaryOp";
import type { Uncache } from "./Uncache";
import type { Unhex } from "./Unhex";
import type { UnicodeString } from "./UnicodeString";
import type { Uniform } from "./Uniform";
import type { Union } from "./Union";
import type { UniqueColumnConstraint } from "./UniqueColumnConstraint";
import type { UniqueKeyProperty } from "./UniqueKeyProperty";
import type { UnixTimestampFunc } from "./UnixTimestampFunc";
import type { UnixToStr } from "./UnixToStr";
import type { UnixToTime } from "./UnixToTime";
import type { UnnestFunc } from "./UnnestFunc";
import type { Unpivot } from "./Unpivot";
import type { UnpivotColumns } from "./UnpivotColumns";
import type { Update } from "./Update";
import type { Use } from "./Use";
import type { UserDefinedFunction } from "./UserDefinedFunction";
import type { UsingData } from "./UsingData";
import type { UsingTemplateProperty } from "./UsingTemplateProperty";
import type { UtcTime } from "./UtcTime";
import type { UtcTimestamp } from "./UtcTimestamp";
import type { Uuid } from "./Uuid";
import type { ValueFunc } from "./ValueFunc";
import type { Values } from "./Values";
import type { Var } from "./Var";
import type { VarArgFunc } from "./VarArgFunc";
import type { VarMap } from "./VarMap";
import type { VectorSearch } from "./VectorSearch";
import type { Version } from "./Version";
import type { ViewAttributeProperty } from "./ViewAttributeProperty";
import type { VolatileProperty } from "./VolatileProperty";
import type { WatermarkColumnConstraint } from "./WatermarkColumnConstraint";
import type { Week } from "./Week";
import type { When } from "./When";
import type { Whens } from "./Whens";
import type { Where } from "./Where";
import type { WidthBucket } from "./WidthBucket";
import type { WindowFunction } from "./WindowFunction";
import type { WindowSpec } from "./WindowSpec";
import type { With } from "./With";
import type { WithDataProperty } from "./WithDataProperty";
import type { WithFill } from "./WithFill";
import type { WithJournalTableProperty } from "./WithJournalTableProperty";
import type { WithOperator } from "./WithOperator";
import type { WithProcedureOptions } from "./WithProcedureOptions";
import type { WithSchemaBindingProperty } from "./WithSchemaBindingProperty";
import type { WithSystemVersioningProperty } from "./WithSystemVersioningProperty";
import type { WithTableHint } from "./WithTableHint";
import type { WithinGroup } from "./WithinGroup";
import type { XMLElement } from "./XMLElement";
import type { XMLGet } from "./XMLGet";
import type { XMLKeyValueOption } from "./XMLKeyValueOption";
import type { XMLTable } from "./XMLTable";
import type { XmlNamespace } from "./XmlNamespace";
import type { Xor } from "./Xor";
import type { Zipf } from "./Zipf";

/**
 * Represent any SQL expression or statement as a single, recursive AST node.
 *
 * `Expression` is the root type of the polyglot AST. Every parsed SQL
 * construct -- from a simple integer literal to a multi-CTE query with
 * window functions -- is represented as a variant of this enum.
 *
 * Variants are organized into logical groups (see the module-level docs).
 * Most non-trivial variants box their payload so that `size_of::<Expression>()`
 * stays small (currently two words: tag + pointer).
 *
 * # Constructing Expressions
 *
 * Use the convenience constructors on `impl Expression` for common cases:
 *
 * ```rust,ignore
 * use polyglot_sql::expressions::Expression;
 *
 * let col  = Expression::column("id");
 * let lit  = Expression::number(42);
 * let star = Expression::star();
 * ```
 *
 * # Generating SQL
 *
 * ```rust,ignore
 * let expr = Expression::column("name");
 * assert_eq!(expr.sql(), "name");
 * ```
 */
export type Expression = { "literal": Literal } | { "boolean": BooleanLiteral } | { "null": Null } | { "identifier": Identifier } | { "column": Column } | { "table": TableRef } | { "star": Star } | { "braced_wildcard": Expression } | { "select": Select } | { "union": Union } | { "intersect": Intersect } | { "except": Except } | { "subquery": Subquery } | { "pivot": Pivot } | { "pivot_alias": PivotAlias } | { "unpivot": Unpivot } | { "values": Values } | { "pre_where": PreWhere } | { "stream": Stream } | { "using_data": UsingData } | { "xml_namespace": XmlNamespace } | { "insert": Insert } | { "update": Update } | { "delete": Delete } | { "copy": CopyStmt } | { "put": PutStmt } | { "stage_reference": StageReference } | { "alias": Alias } | { "cast": Cast } | { "collation": CollationExpr } | { "case": Case } | { "and": BinaryOp } | { "or": BinaryOp } | { "add": BinaryOp } | { "sub": BinaryOp } | { "mul": BinaryOp } | { "div": BinaryOp } | { "mod": BinaryOp } | { "eq": BinaryOp } | { "neq": BinaryOp } | { "lt": BinaryOp } | { "lte": BinaryOp } | { "gt": BinaryOp } | { "gte": BinaryOp } | { "like": LikeOp } | { "i_like": LikeOp } | { "match": BinaryOp } | { "bitwise_and": BinaryOp } | { "bitwise_or": BinaryOp } | { "bitwise_xor": BinaryOp } | { "concat": BinaryOp } | { "adjacent": BinaryOp } | { "ts_match": BinaryOp } | { "property_e_q": BinaryOp } | { "array_contains_all": BinaryOp } | { "array_contained_by": BinaryOp } | { "array_overlaps": BinaryOp } | { "j_s_o_n_b_contains_all_top_keys": BinaryOp } | { "j_s_o_n_b_contains_any_top_keys": BinaryOp } | { "j_s_o_n_b_delete_at_path": BinaryOp } | { "extends_left": BinaryOp } | { "extends_right": BinaryOp } | { "not": UnaryOp } | { "neg": UnaryOp } | { "bitwise_not": UnaryOp } | { "in": In } | { "between": Between } | { "is_null": IsNull } | { "is_true": IsTrueFalse } | { "is_false": IsTrueFalse } | { "is_json": IsJson } | { "is": BinaryOp } | { "exists": Exists } | { "member_of": BinaryOp } | { "function": Function } | { "aggregate_function": AggregateFunction } | { "window_function": WindowFunction } | { "from": From } | { "join": Join } | { "joined_table": JoinedTable } | { "where": Where } | { "group_by": GroupBy } | { "having": Having } | { "order_by": OrderBy } | { "limit": Limit } | { "offset": Offset } | { "qualify": Qualify } | { "with": With } | { "cte": Cte } | { "distribute_by": DistributeBy } | { "cluster_by": ClusterBy } | { "sort_by": SortBy } | { "lateral_view": LateralView } | { "hint": Hint } | { "pseudocolumn": Pseudocolumn } | { "connect": Connect } | { "prior": Prior } | { "connect_by_root": ConnectByRoot } | { "match_recognize": MatchRecognize } | { "ordered": Ordered } | { "window": WindowSpec } | { "over": Over } | { "within_group": WithinGroup } | { "data_type": DataType } | { "array": SqlArray } | { "struct": Struct } | { "tuple": Tuple } | { "interval": Interval } | { "concat_ws": ConcatWs } | { "substring": SubstringFunc } | { "upper": UnaryFunc } | { "lower": UnaryFunc } | { "length": UnaryFunc } | { "trim": TrimFunc } | { "l_trim": UnaryFunc } | { "r_trim": UnaryFunc } | { "replace": ReplaceFunc } | { "reverse": UnaryFunc } | { "left": LeftRightFunc } | { "right": LeftRightFunc } | { "repeat": RepeatFunc } | { "lpad": PadFunc } | { "rpad": PadFunc } | { "split": SplitFunc } | { "regexp_like": RegexpFunc } | { "regexp_replace": RegexpReplaceFunc } | { "regexp_extract": RegexpExtractFunc } | { "overlay": OverlayFunc } | { "abs": UnaryFunc } | { "round": RoundFunc } | { "floor": FloorFunc } | { "ceil": CeilFunc } | { "power": BinaryFunc } | { "sqrt": UnaryFunc } | { "cbrt": UnaryFunc } | { "ln": UnaryFunc } | { "log": LogFunc } | { "exp": UnaryFunc } | { "sign": UnaryFunc } | { "greatest": VarArgFunc } | { "least": VarArgFunc } | { "current_date": CurrentDate } | { "current_time": CurrentTime } | { "current_timestamp": CurrentTimestamp } | { "current_timestamp_l_t_z": CurrentTimestampLTZ } | { "at_time_zone": AtTimeZone } | { "date_add": DateAddFunc } | { "date_sub": DateAddFunc } | { "date_diff": DateDiffFunc } | { "date_trunc": DateTruncFunc } | { "extract": ExtractFunc } | { "to_date": ToDateFunc } | { "to_timestamp": ToTimestampFunc } | { "date": UnaryFunc } | { "time": UnaryFunc } | { "date_from_unix_date": UnaryFunc } | { "unix_date": UnaryFunc } | { "unix_seconds": UnaryFunc } | { "unix_millis": UnaryFunc } | { "unix_micros": UnaryFunc } | { "unix_to_time_str": BinaryFunc } | { "time_str_to_date": UnaryFunc } | { "date_to_di": UnaryFunc } | { "di_to_date": UnaryFunc } | { "ts_or_di_to_di": UnaryFunc } | { "ts_or_ds_to_datetime": UnaryFunc } | { "ts_or_ds_to_timestamp": UnaryFunc } | { "year_of_week": UnaryFunc } | { "year_of_week_iso": UnaryFunc } | { "coalesce": VarArgFunc } | { "null_if": BinaryFunc } | { "if_func": IfFunc } | { "if_null": BinaryFunc } | { "nvl": BinaryFunc } | { "nvl2": Nvl2Func } | { "try_cast": Cast } | { "safe_cast": Cast } | { "count": CountFunc } | { "sum": AggFunc } | { "avg": AggFunc } | { "min": AggFunc } | { "max": AggFunc } | { "group_concat": GroupConcatFunc } | { "string_agg": StringAggFunc } | { "list_agg": ListAggFunc } | { "array_agg": AggFunc } | { "count_if": AggFunc } | { "sum_if": SumIfFunc } | { "stddev": AggFunc } | { "stddev_pop": AggFunc } | { "stddev_samp": AggFunc } | { "variance": AggFunc } | { "var_pop": AggFunc } | { "var_samp": AggFunc } | { "median": AggFunc } | { "mode": AggFunc } | { "first": AggFunc } | { "last": AggFunc } | { "any_value": AggFunc } | { "approx_distinct": AggFunc } | { "approx_count_distinct": AggFunc } | { "approx_percentile": ApproxPercentileFunc } | { "percentile": PercentileFunc } | { "logical_and": AggFunc } | { "logical_or": AggFunc } | { "skewness": AggFunc } | { "bitwise_count": UnaryFunc } | { "array_concat_agg": AggFunc } | { "array_unique_agg": AggFunc } | { "bool_xor_agg": AggFunc } | { "row_number": RowNumber } | { "rank": Rank } | { "dense_rank": DenseRank } | { "n_tile": NTileFunc } | { "lead": LeadLagFunc } | { "lag": LeadLagFunc } | { "first_value": ValueFunc } | { "last_value": ValueFunc } | { "nth_value": NthValueFunc } | { "percent_rank": PercentRank } | { "cume_dist": CumeDist } | { "percentile_cont": PercentileFunc } | { "percentile_disc": PercentileFunc } | { "contains": BinaryFunc } | { "starts_with": BinaryFunc } | { "ends_with": BinaryFunc } | { "position": PositionFunc } | { "initcap": UnaryFunc } | { "ascii": UnaryFunc } | { "chr": UnaryFunc } | { "char_func": CharFunc } | { "soundex": UnaryFunc } | { "levenshtein": BinaryFunc } | { "byte_length": UnaryFunc } | { "hex": UnaryFunc } | { "lower_hex": UnaryFunc } | { "unicode": UnaryFunc } | { "mod_func": BinaryFunc } | { "random": Random } | { "rand": Rand } | { "trunc_func": TruncateFunc } | { "pi": Pi } | { "radians": UnaryFunc } | { "degrees": UnaryFunc } | { "sin": UnaryFunc } | { "cos": UnaryFunc } | { "tan": UnaryFunc } | { "asin": UnaryFunc } | { "acos": UnaryFunc } | { "atan": UnaryFunc } | { "atan2": BinaryFunc } | { "is_nan": UnaryFunc } | { "is_inf": UnaryFunc } | { "int_div": BinaryFunc } | { "decode": DecodeFunc } | { "date_format": DateFormatFunc } | { "format_date": DateFormatFunc } | { "year": UnaryFunc } | { "month": UnaryFunc } | { "day": UnaryFunc } | { "hour": UnaryFunc } | { "minute": UnaryFunc } | { "second": UnaryFunc } | { "day_of_week": UnaryFunc } | { "day_of_week_iso": UnaryFunc } | { "day_of_month": UnaryFunc } | { "day_of_year": UnaryFunc } | { "week_of_year": UnaryFunc } | { "quarter": UnaryFunc } | { "add_months": BinaryFunc } | { "months_between": BinaryFunc } | { "last_day": LastDayFunc } | { "next_day": BinaryFunc } | { "epoch": UnaryFunc } | { "epoch_ms": UnaryFunc } | { "from_unixtime": FromUnixtimeFunc } | { "unix_timestamp": UnixTimestampFunc } | { "make_date": MakeDateFunc } | { "make_timestamp": MakeTimestampFunc } | { "timestamp_trunc": DateTruncFunc } | { "time_str_to_unix": UnaryFunc } | { "session_user": SessionUser } | { "s_h_a": UnaryFunc } | { "s_h_a1_digest": UnaryFunc } | { "time_to_unix": UnaryFunc } | { "array_func": ArrayConstructor } | { "array_length": UnaryFunc } | { "array_size": UnaryFunc } | { "cardinality": UnaryFunc } | { "array_contains": BinaryFunc } | { "array_position": BinaryFunc } | { "array_append": BinaryFunc } | { "array_prepend": BinaryFunc } | { "array_concat": VarArgFunc } | { "array_sort": ArraySortFunc } | { "array_reverse": UnaryFunc } | { "array_distinct": UnaryFunc } | { "array_join": ArrayJoinFunc } | { "array_to_string": ArrayJoinFunc } | { "unnest": UnnestFunc } | { "explode": UnaryFunc } | { "explode_outer": UnaryFunc } | { "array_filter": ArrayFilterFunc } | { "array_transform": ArrayTransformFunc } | { "array_flatten": UnaryFunc } | { "array_compact": UnaryFunc } | { "array_intersect": BinaryFunc } | { "array_union": BinaryFunc } | { "array_except": BinaryFunc } | { "array_remove": BinaryFunc } | { "array_zip": VarArgFunc } | { "sequence": SequenceFunc } | { "generate": SequenceFunc } | { "exploding_generate_series": SequenceFunc } | { "to_array": UnaryFunc } | { "star_map": BinaryFunc } | { "struct_func": StructConstructor } | { "struct_extract": StructExtractFunc } | { "named_struct": NamedStructFunc } | { "map_func": MapConstructor } | { "map_from_entries": UnaryFunc } | { "map_from_arrays": BinaryFunc } | { "map_keys": UnaryFunc } | { "map_values": UnaryFunc } | { "map_contains_key": BinaryFunc } | { "map_concat": VarArgFunc } | { "element_at": BinaryFunc } | { "transform_keys": TransformFunc } | { "transform_values": TransformFunc } | { "json_extract": JsonExtractFunc } | { "json_extract_scalar": JsonExtractFunc } | { "json_extract_path": JsonPathFunc } | { "json_array": VarArgFunc } | { "json_object": JsonObjectFunc } | { "json_query": JsonExtractFunc } | { "json_value": JsonExtractFunc } | { "json_array_length": UnaryFunc } | { "json_keys": UnaryFunc } | { "json_type": UnaryFunc } | { "parse_json": UnaryFunc } | { "to_json": UnaryFunc } | { "json_set": JsonModifyFunc } | { "json_insert": JsonModifyFunc } | { "json_remove": JsonPathFunc } | { "json_merge_patch": BinaryFunc } | { "json_array_agg": JsonArrayAggFunc } | { "json_object_agg": JsonObjectAggFunc } | { "convert": ConvertFunc } | { "typeof": UnaryFunc } | { "lambda": LambdaExpr } | { "parameter": Parameter } | { "placeholder": Placeholder } | { "named_argument": NamedArgument } | { "table_argument": TableArgument } | { "sql_comment": SqlComment } | { "null_safe_eq": BinaryOp } | { "null_safe_neq": BinaryOp } | { "glob": BinaryOp } | { "similar_to": SimilarToExpr } | { "any": QuantifiedExpr } | { "all": QuantifiedExpr } | { "overlaps": OverlapsExpr } | { "bitwise_left_shift": BinaryOp } | { "bitwise_right_shift": BinaryOp } | { "bitwise_and_agg": AggFunc } | { "bitwise_or_agg": AggFunc } | { "bitwise_xor_agg": AggFunc } | { "subscript": Subscript } | { "dot": DotAccess } | { "method_call": MethodCall } | { "array_slice": ArraySlice } | { "create_table": CreateTable } | { "drop_table": DropTable } | { "alter_table": AlterTable } | { "create_index": CreateIndex } | { "drop_index": DropIndex } | { "create_view": CreateView } | { "drop_view": DropView } | { "alter_view": AlterView } | { "alter_index": AlterIndex } | { "truncate": Truncate } | { "use": Use } | { "cache": Cache } | { "uncache": Uncache } | { "load_data": LoadData } | { "pragma": Pragma } | { "grant": Grant } | { "revoke": Revoke } | { "comment": Comment } | { "set_statement": SetStatement } | { "create_schema": CreateSchema } | { "drop_schema": DropSchema } | { "drop_namespace": DropNamespace } | { "create_database": CreateDatabase } | { "drop_database": DropDatabase } | { "create_function": CreateFunction } | { "drop_function": DropFunction } | { "create_procedure": CreateProcedure } | { "drop_procedure": DropProcedure } | { "create_sequence": CreateSequence } | { "drop_sequence": DropSequence } | { "alter_sequence": AlterSequence } | { "create_trigger": CreateTrigger } | { "drop_trigger": DropTrigger } | { "create_type": CreateType } | { "drop_type": DropType } | { "describe": Describe } | { "show": Show } | { "command": Command } | { "kill": Kill } | { "execute": ExecuteStatement } | { "raw": Raw } | { "paren": Paren } | { "annotated": Annotated } | { "refresh": Refresh } | { "locking_statement": LockingStatement } | { "sequence_properties": SequenceProperties } | { "truncate_table": TruncateTable } | { "clone": Clone } | { "attach": Attach } | { "detach": Detach } | { "install": Install } | { "summarize": Summarize } | { "declare": Declare } | { "declare_item": DeclareItem } | { "set": Set } | { "heredoc": Heredoc } | { "set_item": SetItem } | { "query_band": QueryBand } | { "user_defined_function": UserDefinedFunction } | { "recursive_with_search": RecursiveWithSearch } | { "projection_def": ProjectionDef } | { "table_alias": TableAlias } | { "byte_string": ByteString } | { "hex_string_expr": HexStringExpr } | { "unicode_string": UnicodeString } | { "column_position": ColumnPosition } | { "column_def": ColumnDef } | { "alter_column": AlterColumn } | { "alter_sort_key": AlterSortKey } | { "alter_set": AlterSet } | { "rename_column": RenameColumn } | { "comprehension": Comprehension } | { "merge_tree_t_t_l_action": MergeTreeTTLAction } | { "merge_tree_t_t_l": MergeTreeTTL } | { "index_constraint_option": IndexConstraintOption } | { "column_constraint": ColumnConstraint } | { "period_for_system_time_constraint": PeriodForSystemTimeConstraint } | { "case_specific_column_constraint": CaseSpecificColumnConstraint } | { "character_set_column_constraint": CharacterSetColumnConstraint } | { "check_column_constraint": CheckColumnConstraint } | { "compress_column_constraint": CompressColumnConstraint } | { "date_format_column_constraint": DateFormatColumnConstraint } | { "ephemeral_column_constraint": EphemeralColumnConstraint } | { "with_operator": WithOperator } | { "generated_as_identity_column_constraint": GeneratedAsIdentityColumnConstraint } | { "auto_increment_column_constraint": AutoIncrementColumnConstraint } | { "comment_column_constraint": CommentColumnConstraint } | { "generated_as_row_column_constraint": GeneratedAsRowColumnConstraint } | { "index_column_constraint": IndexColumnConstraint } | { "masking_policy_column_constraint": MaskingPolicyColumnConstraint } | { "not_null_column_constraint": NotNullColumnConstraint } | { "primary_key_column_constraint": PrimaryKeyColumnConstraint } | { "unique_column_constraint": UniqueColumnConstraint } | { "watermark_column_constraint": WatermarkColumnConstraint } | { "computed_column_constraint": ComputedColumnConstraint } | { "in_out_column_constraint": InOutColumnConstraint } | { "default_column_constraint": DefaultColumnConstraint } | { "path_column_constraint": PathColumnConstraint } | { "constraint": Constraint } | { "export": Export } | { "filter": Filter } | { "changes": Changes } | { "copy_parameter": CopyParameter } | { "credentials": Credentials } | { "directory": Directory } | { "foreign_key": ForeignKey } | { "column_prefix": ColumnPrefix } | { "primary_key": PrimaryKey } | { "into_clause": IntoClause } | { "join_hint": JoinHint } | { "opclass": Opclass } | { "index": Index } | { "index_parameters": IndexParameters } | { "conditional_insert": ConditionalInsert } | { "multitable_inserts": MultitableInserts } | { "on_conflict": OnConflict } | { "on_condition": OnCondition } | { "returning": Returning } | { "introducer": Introducer } | { "partition_range": PartitionRange } | { "fetch": Fetch } | { "group": Group } | { "cube": Cube } | { "rollup": Rollup } | { "grouping_sets": GroupingSets } | { "limit_options": LimitOptions } | { "lateral": Lateral } | { "table_from_rows": TableFromRows } | { "rows_from": RowsFrom } | { "match_recognize_measure": MatchRecognizeMeasure } | { "with_fill": WithFill } | { "property": Property } | { "grant_privilege": GrantPrivilege } | { "grant_principal": GrantPrincipal } | { "allowed_values_property": AllowedValuesProperty } | { "algorithm_property": AlgorithmProperty } | { "auto_increment_property": AutoIncrementProperty } | { "auto_refresh_property": AutoRefreshProperty } | { "backup_property": BackupProperty } | { "build_property": BuildProperty } | { "block_compression_property": BlockCompressionProperty } | { "character_set_property": CharacterSetProperty } | { "checksum_property": ChecksumProperty } | { "collate_property": CollateProperty } | { "data_blocksize_property": DataBlocksizeProperty } | { "data_deletion_property": DataDeletionProperty } | { "definer_property": DefinerProperty } | { "dist_key_property": DistKeyProperty } | { "distributed_by_property": DistributedByProperty } | { "dist_style_property": DistStyleProperty } | { "duplicate_key_property": DuplicateKeyProperty } | { "engine_property": EngineProperty } | { "to_table_property": ToTableProperty } | { "execute_as_property": ExecuteAsProperty } | { "external_property": ExternalProperty } | { "fallback_property": FallbackProperty } | { "file_format_property": FileFormatProperty } | { "credentials_property": CredentialsProperty } | { "freespace_property": FreespaceProperty } | { "inherits_property": InheritsProperty } | { "input_model_property": InputModelProperty } | { "output_model_property": OutputModelProperty } | { "isolated_loading_property": IsolatedLoadingProperty } | { "journal_property": JournalProperty } | { "language_property": LanguageProperty } | { "enviroment_property": EnviromentProperty } | { "clustered_by_property": ClusteredByProperty } | { "dict_property": DictProperty } | { "dict_range": DictRange } | { "on_cluster": OnCluster } | { "like_property": LikeProperty } | { "location_property": LocationProperty } | { "lock_property": LockProperty } | { "locking_property": LockingProperty } | { "log_property": LogProperty } | { "materialized_property": MaterializedProperty } | { "merge_block_ratio_property": MergeBlockRatioProperty } | { "on_property": OnProperty } | { "on_commit_property": OnCommitProperty } | { "partitioned_by_property": PartitionedByProperty } | { "partitioned_by_bucket": PartitionedByBucket } | { "partition_by_truncate": PartitionByTruncate } | { "partition_by_range_property": PartitionByRangeProperty } | { "partition_by_range_property_dynamic": PartitionByRangePropertyDynamic } | { "partition_by_list_property": PartitionByListProperty } | { "partition_list": PartitionList } | { "partition": Partition } | { "refresh_trigger_property": RefreshTriggerProperty } | { "unique_key_property": UniqueKeyProperty } | { "rollup_property": RollupProperty } | { "partition_bound_spec": PartitionBoundSpec } | { "partitioned_of_property": PartitionedOfProperty } | { "remote_with_connection_model_property": RemoteWithConnectionModelProperty } | { "returns_property": ReturnsProperty } | { "row_format_property": RowFormatProperty } | { "row_format_delimited_property": RowFormatDelimitedProperty } | { "row_format_serde_property": RowFormatSerdeProperty } | { "query_transform": QueryTransform } | { "sample_property": SampleProperty } | { "security_property": SecurityProperty } | { "schema_comment_property": SchemaCommentProperty } | { "semantic_view": SemanticView } | { "serde_properties": SerdeProperties } | { "set_property": SetProperty } | { "sharing_property": SharingProperty } | { "set_config_property": SetConfigProperty } | { "settings_property": SettingsProperty } | { "sort_key_property": SortKeyProperty } | { "sql_read_write_property": SqlReadWriteProperty } | { "sql_security_property": SqlSecurityProperty } | { "stability_property": StabilityProperty } | { "storage_handler_property": StorageHandlerProperty } | { "temporary_property": TemporaryProperty } | { "tags": Tags } | { "transform_model_property": TransformModelProperty } | { "transient_property": TransientProperty } | { "using_template_property": UsingTemplateProperty } | { "view_attribute_property": ViewAttributeProperty } | { "volatile_property": VolatileProperty } | { "with_data_property": WithDataProperty } | { "with_journal_table_property": WithJournalTableProperty } | { "with_schema_binding_property": WithSchemaBindingProperty } | { "with_system_versioning_property": WithSystemVersioningProperty } | { "with_procedure_options": WithProcedureOptions } | { "encode_property": EncodeProperty } | { "include_property": IncludeProperty } | { "properties": Properties } | { "input_output_format": InputOutputFormat } | { "reference": Reference } | { "query_option": QueryOption } | { "with_table_hint": WithTableHint } | { "index_table_hint": IndexTableHint } | { "historical_data": HistoricalData } | { "get": Get } | { "set_operation": SetOperation } | { "var": Var } | { "version": Version } | { "schema": Schema } | { "lock": Lock } | { "table_sample": TableSample } | { "tag": Tag } | { "unpivot_columns": UnpivotColumns } | { "window_spec": WindowSpec } | { "session_parameter": SessionParameter } | { "pseudo_type": PseudoType } | { "object_identifier": ObjectIdentifier } | { "transaction": Transaction } | { "commit": Commit } | { "rollback": Rollback } | { "alter_session": AlterSession } | { "analyze": Analyze } | { "analyze_statistics": AnalyzeStatistics } | { "analyze_histogram": AnalyzeHistogram } | { "analyze_sample": AnalyzeSample } | { "analyze_list_chained_rows": AnalyzeListChainedRows } | { "analyze_delete": AnalyzeDelete } | { "analyze_with": AnalyzeWith } | { "analyze_validate": AnalyzeValidate } | { "add_partition": AddPartition } | { "attach_option": AttachOption } | { "drop_partition": DropPartition } | { "replace_partition": ReplacePartition } | { "d_pipe": DPipe } | { "operator": Operator } | { "pivot_any": PivotAny } | { "aliases": Aliases } | { "at_index": AtIndex } | { "from_time_zone": FromTimeZone } | { "format_phrase": FormatPhrase } | { "for_in": ForIn } | { "time_unit": TimeUnit } | { "interval_op": IntervalOp } | { "interval_span": IntervalSpan } | { "having_max": HavingMax } | { "cosine_distance": CosineDistance } | { "dot_product": DotProduct } | { "euclidean_distance": EuclideanDistance } | { "manhattan_distance": ManhattanDistance } | { "jarowinkler_similarity": JarowinklerSimilarity } | { "booland": Booland } | { "boolor": Boolor } | { "parameterized_agg": ParameterizedAgg } | { "arg_max": ArgMax } | { "arg_min": ArgMin } | { "approx_top_k": ApproxTopK } | { "approx_top_k_accumulate": ApproxTopKAccumulate } | { "approx_top_k_combine": ApproxTopKCombine } | { "approx_top_k_estimate": ApproxTopKEstimate } | { "approx_top_sum": ApproxTopSum } | { "approx_quantiles": ApproxQuantiles } | { "minhash": Minhash } | { "farm_fingerprint": FarmFingerprint } | { "float64": Float64 } | { "transform": Transform } | { "translate": Translate } | { "grouping": Grouping } | { "grouping_id": GroupingId } | { "anonymous": Anonymous } | { "anonymous_agg_func": AnonymousAggFunc } | { "combined_agg_func": CombinedAggFunc } | { "combined_parameterized_agg": CombinedParameterizedAgg } | { "hash_agg": HashAgg } | { "hll": Hll } | { "apply": Apply } | { "to_boolean": ToBoolean } | { "list": List } | { "to_map": ToMap } | { "pad": Pad } | { "to_char": ToChar } | { "to_number": ToNumber } | { "to_double": ToDouble } | { "int64": UnaryFunc } | { "string_func": StringFunc } | { "to_decfloat": ToDecfloat } | { "try_to_decfloat": TryToDecfloat } | { "to_file": ToFile } | { "columns": Columns } | { "convert_to_charset": ConvertToCharset } | { "convert_timezone": ConvertTimezone } | { "generate_series": GenerateSeries } | { "a_i_agg": AIAgg } | { "a_i_classify": AIClassify } | { "array_all": ArrayAll } | { "array_any": ArrayAny } | { "array_construct_compact": ArrayConstructCompact } | { "st_point": StPoint } | { "st_distance": StDistance } | { "string_to_array": StringToArray } | { "array_sum": ArraySum } | { "object_agg": ObjectAgg } | { "cast_to_str_type": CastToStrType } | { "check_json": CheckJson } | { "check_xml": CheckXml } | { "translate_characters": TranslateCharacters } | { "current_schemas": CurrentSchemas } | { "current_datetime": CurrentDatetime } | { "localtime": Localtime } | { "localtimestamp": Localtimestamp } | { "systimestamp": Systimestamp } | { "current_schema": CurrentSchema } | { "current_user": CurrentUser } | { "utc_time": UtcTime } | { "utc_timestamp": UtcTimestamp } | { "timestamp": TimestampFunc } | { "date_bin": DateBin } | { "datetime": Datetime } | { "datetime_add": DatetimeAdd } | { "datetime_sub": DatetimeSub } | { "datetime_diff": DatetimeDiff } | { "datetime_trunc": DatetimeTrunc } | { "dayname": Dayname } | { "make_interval": MakeInterval } | { "previous_day": PreviousDay } | { "elt": Elt } | { "timestamp_add": TimestampAdd } | { "timestamp_sub": TimestampSub } | { "timestamp_diff": TimestampDiff } | { "time_slice": TimeSlice } | { "time_add": TimeAdd } | { "time_sub": TimeSub } | { "time_diff": TimeDiff } | { "time_trunc": TimeTrunc } | { "date_from_parts": DateFromParts } | { "time_from_parts": TimeFromParts } | { "decode_case": DecodeCase } | { "decrypt": Decrypt } | { "decrypt_raw": DecryptRaw } | { "encode": Encode } | { "encrypt": Encrypt } | { "encrypt_raw": EncryptRaw } | { "equal_null": EqualNull } | { "to_binary": ToBinary } | { "base64_decode_binary": Base64DecodeBinary } | { "base64_decode_string": Base64DecodeString } | { "base64_encode": Base64Encode } | { "try_base64_decode_binary": TryBase64DecodeBinary } | { "try_base64_decode_string": TryBase64DecodeString } | { "gap_fill": GapFill } | { "generate_date_array": GenerateDateArray } | { "generate_timestamp_array": GenerateTimestampArray } | { "get_extract": GetExtract } | { "getbit": Getbit } | { "overflow_truncate_behavior": OverflowTruncateBehavior } | { "hex_encode": HexEncode } | { "compress": Compress } | { "decompress_binary": DecompressBinary } | { "decompress_string": DecompressString } | { "xor": Xor } | { "nullif": Nullif } | { "j_s_o_n": JSON } | { "j_s_o_n_path": JSONPath } | { "j_s_o_n_path_filter": JSONPathFilter } | { "j_s_o_n_path_key": JSONPathKey } | { "j_s_o_n_path_recursive": JSONPathRecursive } | { "j_s_o_n_path_script": JSONPathScript } | { "j_s_o_n_path_slice": JSONPathSlice } | { "j_s_o_n_path_selector": JSONPathSelector } | { "j_s_o_n_path_subscript": JSONPathSubscript } | { "j_s_o_n_path_union": JSONPathUnion } | { "format": Format } | { "j_s_o_n_keys": JSONKeys } | { "j_s_o_n_key_value": JSONKeyValue } | { "j_s_o_n_keys_at_depth": JSONKeysAtDepth } | { "j_s_o_n_object": JSONObject } | { "j_s_o_n_object_agg": JSONObjectAgg } | { "j_s_o_n_b_object_agg": JSONBObjectAgg } | { "j_s_o_n_array": JSONArray } | { "j_s_o_n_array_agg": JSONArrayAgg } | { "j_s_o_n_exists": JSONExists } | { "j_s_o_n_column_def": JSONColumnDef } | { "j_s_o_n_schema": JSONSchema } | { "j_s_o_n_set": JSONSet } | { "j_s_o_n_strip_nulls": JSONStripNulls } | { "j_s_o_n_value": JSONValue } | { "j_s_o_n_value_array": JSONValueArray } | { "j_s_o_n_remove": JSONRemove } | { "j_s_o_n_table": JSONTable } | { "j_s_o_n_type": JSONType } | { "object_insert": ObjectInsert } | { "open_j_s_o_n_column_def": OpenJSONColumnDef } | { "open_j_s_o_n": OpenJSON } | { "j_s_o_n_b_exists": JSONBExists } | { "j_s_o_n_b_contains": BinaryFunc } | { "j_s_o_n_b_extract": BinaryFunc } | { "j_s_o_n_cast": JSONCast } | { "j_s_o_n_extract": JSONExtract } | { "j_s_o_n_extract_quote": JSONExtractQuote } | { "j_s_o_n_extract_array": JSONExtractArray } | { "j_s_o_n_extract_scalar": JSONExtractScalar } | { "j_s_o_n_b_extract_scalar": JSONBExtractScalar } | { "j_s_o_n_format": JSONFormat } | { "j_s_o_n_bool": UnaryFunc } | { "j_s_o_n_path_root": JSONPathRoot } | { "j_s_o_n_array_append": JSONArrayAppend } | { "j_s_o_n_array_contains": JSONArrayContains } | { "j_s_o_n_array_insert": JSONArrayInsert } | { "parse_j_s_o_n": ParseJSON } | { "parse_url": ParseUrl } | { "parse_ip": ParseIp } | { "parse_time": ParseTime } | { "parse_datetime": ParseDatetime } | { "map": Map } | { "map_cat": MapCat } | { "map_delete": MapDelete } | { "map_insert": MapInsert } | { "map_pick": MapPick } | { "scope_resolution": ScopeResolution } | { "slice": Slice } | { "var_map": VarMap } | { "match_against": MatchAgainst } | { "m_d5_digest": MD5Digest } | { "m_d5_number_lower64": UnaryFunc } | { "m_d5_number_upper64": UnaryFunc } | { "monthname": Monthname } | { "ntile": Ntile } | { "normalize": Normalize } | { "normal": Normal } | { "predict": Predict } | { "m_l_translate": MLTranslate } | { "features_at_time": FeaturesAtTime } | { "generate_embedding": GenerateEmbedding } | { "m_l_forecast": MLForecast } | { "model_attribute": ModelAttribute } | { "vector_search": VectorSearch } | { "quantile": Quantile } | { "approx_quantile": ApproxQuantile } | { "approx_percentile_estimate": ApproxPercentileEstimate } | { "randn": Randn } | { "randstr": Randstr } | { "range_n": RangeN } | { "range_bucket": RangeBucket } | { "read_c_s_v": ReadCSV } | { "read_parquet": ReadParquet } | { "reduce": Reduce } | { "regexp_extract_all": RegexpExtractAll } | { "regexp_i_like": RegexpILike } | { "regexp_full_match": RegexpFullMatch } | { "regexp_instr": RegexpInstr } | { "regexp_split": RegexpSplit } | { "regexp_count": RegexpCount } | { "regr_valx": RegrValx } | { "regr_valy": RegrValy } | { "regr_avgy": RegrAvgy } | { "regr_avgx": RegrAvgx } | { "regr_count": RegrCount } | { "regr_intercept": RegrIntercept } | { "regr_r2": RegrR2 } | { "regr_sxx": RegrSxx } | { "regr_sxy": RegrSxy } | { "regr_syy": RegrSyy } | { "regr_slope": RegrSlope } | { "safe_add": SafeAdd } | { "safe_divide": SafeDivide } | { "safe_multiply": SafeMultiply } | { "safe_subtract": SafeSubtract } | { "s_h_a2": SHA2 } | { "s_h_a2_digest": SHA2Digest } | { "sort_array": SortArray } | { "split_part": SplitPart } | { "substring_index": SubstringIndex } | { "standard_hash": StandardHash } | { "str_position": StrPosition } | { "search": Search } | { "search_ip": SearchIp } | { "str_to_date": StrToDate } | { "date_str_to_date": UnaryFunc } | { "date_to_date_str": UnaryFunc } | { "str_to_time": StrToTime } | { "str_to_unix": StrToUnix } | { "str_to_map": StrToMap } | { "number_to_str": NumberToStr } | { "from_base": FromBase } | { "stuff": Stuff } | { "time_to_str": TimeToStr } | { "time_str_to_time": TimeStrToTime } | { "ts_or_ds_add": TsOrDsAdd } | { "ts_or_ds_diff": TsOrDsDiff } | { "ts_or_ds_to_date": TsOrDsToDate } | { "ts_or_ds_to_time": TsOrDsToTime } | { "unhex": Unhex } | { "uniform": Uniform } | { "unix_to_str": UnixToStr } | { "unix_to_time": UnixToTime } | { "uuid": Uuid } | { "timestamp_from_parts": TimestampFromParts } | { "timestamp_tz_from_parts": TimestampTzFromParts } | { "corr": Corr } | { "width_bucket": WidthBucket } | { "covar_samp": CovarSamp } | { "covar_pop": CovarPop } | { "week": Week } | { "x_m_l_element": XMLElement } | { "x_m_l_get": XMLGet } | { "x_m_l_table": XMLTable } | { "x_m_l_key_value_option": XMLKeyValueOption } | { "zipf": Zipf } | { "merge": Merge } | { "when": When } | { "whens": Whens } | { "next_value_for": NextValueFor } | { "return_stmt": Expression };
