Exprs
Every AST node in SQLGlot is represented by a subclass of Expr.
This module contains the implementation of all supported Expr types. Additionally,
it exposes a number of helper functions, which are mainly used to programmatically build
SQL expressions, such as sqlglot.expressions.select.
1# ruff: noqa: F405 2""" 3## Exprs 4 5Every AST node in SQLGlot is represented by a subclass of `Expr`. 6 7This module contains the implementation of all supported `Expr` types. Additionally, 8it exposes a number of helper functions, which are mainly used to programmatically build 9SQL expressions, such as `sqlglot.expressions.select`. 10 11---- 12""" 13 14from sqlglot.expressions.core import * # noqa: F401,F403 15from sqlglot.expressions.datatypes import * # noqa: F401,F403 16from sqlglot.expressions.constraints import * # noqa: F401,F403 17from sqlglot.expressions.properties import * # noqa: F401,F403 18from sqlglot.expressions.query import * # noqa: F401,F403 19from sqlglot.expressions.ddl import * # noqa: F401,F403 20from sqlglot.expressions.dml import * # noqa: F401,F403 21from sqlglot.expressions.math import * # noqa: F401,F403 22from sqlglot.expressions.string import * # noqa: F401,F403 23from sqlglot.expressions.temporal import * # noqa: F401,F403 24from sqlglot.expressions.aggregate import * # noqa: F401,F403 25from sqlglot.expressions.array import * # noqa: F401,F403 26from sqlglot.expressions.json import * # noqa: F401,F403 27from sqlglot.expressions.functions import * # noqa: F401,F403 28from sqlglot.expressions.builders import * # noqa: F401,F403 29 30# Explicitly import private helpers (not exported by star imports) 31from sqlglot.expressions.core import ( # noqa: F401,E402 32 Expression, 33 _apply_builder, 34 _apply_child_list_builder, 35 _apply_list_builder, 36 _apply_conjunction_builder, 37 _apply_set_operation, 38 _combine, 39 _wrap, 40 _is_wrong_expression, 41 _to_s, 42) 43from sqlglot.expressions.query import _apply_cte_builder # noqa: F401,E402 44from sqlglot.expressions.dml import DML # noqa: F401,E402 45from sqlglot.expressions.array import _ExplodeOuter # noqa: F401,E402 46 47from sqlglot.helper import subclasses 48 49ALL_FUNCTIONS = subclasses(__name__, Func, {AggFunc, Anonymous, Func}) 50FUNCTION_BY_NAME = {name: func for func in ALL_FUNCTIONS for name in func.sql_names()} 51EXPR_CLASSES: dict[str, type[Expr]] = {cls.key: cls for cls in subclasses(__name__, Expr)}
ALL_FUNCTIONS =
[<class 'sqlglot.expressions.aggregate.AIAgg'>, <class 'sqlglot.expressions.functions.AIClassify'>, <class 'sqlglot.expressions.functions.AIEmbed'>, <class 'sqlglot.expressions.functions.AIForecast'>, <class 'sqlglot.expressions.functions.AIGenerate'>, <class 'sqlglot.expressions.functions.AISimilarity'>, <class 'sqlglot.expressions.aggregate.AISummarizeAgg'>, <class 'sqlglot.expressions.math.Abs'>, <class 'sqlglot.expressions.math.Acos'>, <class 'sqlglot.expressions.math.Acosh'>, <class 'sqlglot.expressions.temporal.AddMonths'>, <class 'sqlglot.expressions.core.And'>, <class 'sqlglot.expressions.core.AnonymousAggFunc'>, <class 'sqlglot.expressions.aggregate.AnyValue'>, <class 'sqlglot.expressions.array.Apply'>, <class 'sqlglot.expressions.core.ApproxDistinct'>, <class 'sqlglot.expressions.aggregate.ApproxPercentileAccumulate'>, <class 'sqlglot.expressions.aggregate.ApproxPercentileCombine'>, <class 'sqlglot.expressions.aggregate.ApproxPercentileEstimate'>, <class 'sqlglot.expressions.aggregate.ApproxQuantile'>, <class 'sqlglot.expressions.aggregate.ApproxQuantiles'>, <class 'sqlglot.expressions.aggregate.ApproxTopK'>, <class 'sqlglot.expressions.aggregate.ApproxTopKAccumulate'>, <class 'sqlglot.expressions.aggregate.ApproxTopKCombine'>, <class 'sqlglot.expressions.aggregate.ApproxTopKEstimate'>, <class 'sqlglot.expressions.aggregate.ApproxTopSum'>, <class 'sqlglot.expressions.aggregate.ApproximateSimilarity'>, <class 'sqlglot.expressions.aggregate.ArgMax'>, <class 'sqlglot.expressions.aggregate.ArgMin'>, <class 'sqlglot.expressions.array.Array'>, <class 'sqlglot.expressions.aggregate.ArrayAgg'>, <class 'sqlglot.expressions.array.ArrayAll'>, <class 'sqlglot.expressions.array.ArrayAny'>, <class 'sqlglot.expressions.array.ArrayAppend'>, <class 'sqlglot.expressions.array.ArrayCompact'>, <class 'sqlglot.expressions.array.ArrayConcat'>, <class 'sqlglot.expressions.aggregate.ArrayConcatAgg'>, <class 'sqlglot.expressions.array.ArrayConstructCompact'>, <class 'sqlglot.expressions.array.ArrayContains'>, <class 'sqlglot.expressions.array.ArrayContainsAll'>, <class 'sqlglot.expressions.array.ArrayDistinct'>, <class 'sqlglot.expressions.array.ArrayExcept'>, <class 'sqlglot.expressions.array.ArrayFilter'>, <class 'sqlglot.expressions.array.ArrayFirst'>, <class 'sqlglot.expressions.array.ArrayInsert'>, <class 'sqlglot.expressions.array.ArrayIntersect'>, <class 'sqlglot.expressions.array.ArrayLast'>, <class 'sqlglot.expressions.array.ArrayMax'>, <class 'sqlglot.expressions.array.ArrayMin'>, <class 'sqlglot.expressions.array.ArrayOverlaps'>, <class 'sqlglot.expressions.array.ArrayPosition'>, <class 'sqlglot.expressions.array.ArrayPrepend'>, <class 'sqlglot.expressions.array.ArrayRemove'>, <class 'sqlglot.expressions.array.ArrayRemoveAt'>, <class 'sqlglot.expressions.array.ArrayReverse'>, <class 'sqlglot.expressions.array.ArraySize'>, <class 'sqlglot.expressions.array.ArraySlice'>, <class 'sqlglot.expressions.array.ArraySort'>, <class 'sqlglot.expressions.array.ArraySum'>, <class 'sqlglot.expressions.array.ArrayToString'>, <class 'sqlglot.expressions.aggregate.ArrayUnionAgg'>, <class 'sqlglot.expressions.aggregate.ArrayUniqueAgg'>, <class 'sqlglot.expressions.array.ArraysZip'>, <class 'sqlglot.expressions.string.Ascii'>, <class 'sqlglot.expressions.math.Asin'>, <class 'sqlglot.expressions.math.Asinh'>, <class 'sqlglot.expressions.math.Atan'>, <class 'sqlglot.expressions.math.Atan2'>, <class 'sqlglot.expressions.math.Atanh'>, <class 'sqlglot.expressions.aggregate.Avg'>, <class 'sqlglot.expressions.string.Base64DecodeBinary'>, <class 'sqlglot.expressions.string.Base64DecodeString'>, <class 'sqlglot.expressions.string.Base64Encode'>, <class 'sqlglot.expressions.string.BitLength'>, <class 'sqlglot.expressions.math.BitmapBitPosition'>, <class 'sqlglot.expressions.math.BitmapBucketNumber'>, <class 'sqlglot.expressions.math.BitmapConstructAgg'>, <class 'sqlglot.expressions.math.BitmapCount'>, <class 'sqlglot.expressions.math.BitmapOrAgg'>, <class 'sqlglot.expressions.math.BitwiseAndAgg'>, <class 'sqlglot.expressions.math.BitwiseCount'>, <class 'sqlglot.expressions.math.BitwiseOrAgg'>, <class 'sqlglot.expressions.math.BitwiseXorAgg'>, <class 'sqlglot.expressions.math.Booland'>, <class 'sqlglot.expressions.math.Boolnot'>, <class 'sqlglot.expressions.math.Boolor'>, <class 'sqlglot.expressions.math.BoolxorAgg'>, <class 'sqlglot.expressions.string.ByteLength'>, <class 'sqlglot.expressions.functions.Case'>, <class 'sqlglot.expressions.functions.Cast'>, <class 'sqlglot.expressions.functions.CastToStrType'>, <class 'sqlglot.expressions.math.Cbrt'>, <class 'sqlglot.expressions.math.Ceil'>, <class 'sqlglot.expressions.json.CheckJson'>, <class 'sqlglot.expressions.functions.CheckXml'>, <class 'sqlglot.expressions.string.Chr'>, <class 'sqlglot.expressions.string.CityHash64'>, <class 'sqlglot.expressions.functions.Coalesce'>, <class 'sqlglot.expressions.string.CodePointsToBytes'>, <class 'sqlglot.expressions.string.CodePointsToString'>, <class 'sqlglot.expressions.functions.Collate'>, <class 'sqlglot.expressions.functions.Collation'>, <class 'sqlglot.expressions.functions.Columns'>, <class 'sqlglot.expressions.core.CombinedAggFunc'>, <class 'sqlglot.expressions.core.CombinedParameterizedAgg'>, <class 'sqlglot.expressions.string.Compress'>, <class 'sqlglot.expressions.string.Concat'>, <class 'sqlglot.expressions.string.ConcatWs'>, <class 'sqlglot.expressions.functions.ConnectByRoot'>, <class 'sqlglot.expressions.string.Contains'>, <class 'sqlglot.expressions.functions.Convert'>, <class 'sqlglot.expressions.temporal.ConvertTimezone'>, <class 'sqlglot.expressions.string.ConvertToCharset'>, <class 'sqlglot.expressions.aggregate.Corr'>, <class 'sqlglot.expressions.math.Cos'>, <class 'sqlglot.expressions.math.Cosh'>, <class 'sqlglot.expressions.math.CosineDistance'>, <class 'sqlglot.expressions.math.Cot'>, <class 'sqlglot.expressions.math.Coth'>, <class 'sqlglot.expressions.aggregate.Count'>, <class 'sqlglot.expressions.aggregate.CountIf'>, <class 'sqlglot.expressions.aggregate.CovarPop'>, <class 'sqlglot.expressions.aggregate.CovarSamp'>, <class 'sqlglot.expressions.math.Csc'>, <class 'sqlglot.expressions.math.Csch'>, <class 'sqlglot.expressions.aggregate.CumeDist'>, <class 'sqlglot.expressions.functions.CurrentAccount'>, <class 'sqlglot.expressions.functions.CurrentAccountName'>, <class 'sqlglot.expressions.functions.CurrentAvailableRoles'>, <class 'sqlglot.expressions.functions.CurrentCatalog'>, <class 'sqlglot.expressions.functions.CurrentClient'>, <class 'sqlglot.expressions.functions.CurrentDatabase'>, <class 'sqlglot.expressions.temporal.CurrentDate'>, <class 'sqlglot.expressions.temporal.CurrentDatetime'>, <class 'sqlglot.expressions.functions.CurrentIpAddress'>, <class 'sqlglot.expressions.functions.CurrentOrganizationName'>, <class 'sqlglot.expressions.functions.CurrentOrganizationUser'>, <class 'sqlglot.expressions.functions.CurrentRegion'>, <class 'sqlglot.expressions.functions.CurrentRole'>, <class 'sqlglot.expressions.functions.CurrentRoleType'>, <class 'sqlglot.expressions.functions.CurrentSchema'>, <class 'sqlglot.expressions.functions.CurrentSchemas'>, <class 'sqlglot.expressions.functions.CurrentSecondaryRoles'>, <class 'sqlglot.expressions.functions.CurrentSession'>, <class 'sqlglot.expressions.functions.CurrentStatement'>, <class 'sqlglot.expressions.temporal.CurrentTime'>, <class 'sqlglot.expressions.temporal.CurrentTimestamp'>, <class 'sqlglot.expressions.temporal.CurrentTimestampLTZ'>, <class 'sqlglot.expressions.temporal.CurrentTimezone'>, <class 'sqlglot.expressions.functions.CurrentTransaction'>, <class 'sqlglot.expressions.functions.CurrentUser'>, <class 'sqlglot.expressions.functions.CurrentVersion'>, <class 'sqlglot.expressions.functions.CurrentWarehouse'>, <class 'sqlglot.expressions.temporal.Date'>, <class 'sqlglot.expressions.temporal.DateAdd'>, <class 'sqlglot.expressions.temporal.DateBin'>, <class 'sqlglot.expressions.temporal.DateDiff'>, <class 'sqlglot.expressions.temporal.DateFromParts'>, <class 'sqlglot.expressions.temporal.DateFromUnixDate'>, <class 'sqlglot.expressions.temporal.DateStrToDate'>, <class 'sqlglot.expressions.temporal.DateSub'>, <class 'sqlglot.expressions.temporal.DateToDateStr'>, <class 'sqlglot.expressions.temporal.DateToDi'>, <class 'sqlglot.expressions.temporal.DateTrunc'>, <class 'sqlglot.expressions.temporal.Datetime'>, <class 'sqlglot.expressions.temporal.DatetimeAdd'>, <class 'sqlglot.expressions.temporal.DatetimeDiff'>, <class 'sqlglot.expressions.temporal.DatetimeSub'>, <class 'sqlglot.expressions.temporal.DatetimeTrunc'>, <class 'sqlglot.expressions.temporal.Day'>, <class 'sqlglot.expressions.temporal.DayOfMonth'>, <class 'sqlglot.expressions.temporal.DayOfWeek'>, <class 'sqlglot.expressions.temporal.DayOfWeekIso'>, <class 'sqlglot.expressions.temporal.DayOfYear'>, <class 'sqlglot.expressions.temporal.Dayname'>, <class 'sqlglot.expressions.string.Decode'>, <class 'sqlglot.expressions.functions.DecodeCase'>, <class 'sqlglot.expressions.string.DecompressBinary'>, <class 'sqlglot.expressions.string.DecompressString'>, <class 'sqlglot.expressions.string.Decrypt'>, <class 'sqlglot.expressions.string.DecryptRaw'>, <class 'sqlglot.expressions.math.Degrees'>, <class 'sqlglot.expressions.aggregate.DenseRank'>, <class 'sqlglot.expressions.temporal.DiToDate'>, <class 'sqlglot.expressions.math.DotProduct'>, <class 'sqlglot.expressions.string.Elt'>, <class 'sqlglot.expressions.string.Encode'>, <class 'sqlglot.expressions.string.Encrypt'>, <class 'sqlglot.expressions.string.EncryptRaw'>, <class 'sqlglot.expressions.string.EndsWith'>, <class 'sqlglot.expressions.functions.EqualNull'>, <class 'sqlglot.expressions.math.EuclideanDistance'>, <class 'sqlglot.expressions.functions.Exists'>, <class 'sqlglot.expressions.math.Exp'>, <class 'sqlglot.expressions.array.Explode'>, <class 'sqlglot.expressions.array.ExplodingGenerateSeries'>, <class 'sqlglot.expressions.temporal.Extract'>, <class 'sqlglot.expressions.math.Factorial'>, <class 'sqlglot.expressions.string.FarmFingerprint'>, <class 'sqlglot.expressions.functions.FeaturesAtTime'>, <class 'sqlglot.expressions.aggregate.First'>, <class 'sqlglot.expressions.aggregate.FirstValue'>, <class 'sqlglot.expressions.array.Flatten'>, <class 'sqlglot.expressions.functions.Float64'>, <class 'sqlglot.expressions.math.Floor'>, <class 'sqlglot.expressions.string.Format'>, <class 'sqlglot.expressions.string.FromBase'>, <class 'sqlglot.expressions.string.FromBase32'>, <class 'sqlglot.expressions.string.FromBase64'>, <class 'sqlglot.expressions.temporal.FromISO8601Timestamp'>, <class 'sqlglot.expressions.temporal.GapFill'>, <class 'sqlglot.expressions.functions.GenerateBool'>, <class 'sqlglot.expressions.temporal.GenerateDateArray'>, <class 'sqlglot.expressions.functions.GenerateDouble'>, <class 'sqlglot.expressions.functions.GenerateEmbedding'>, <class 'sqlglot.expressions.functions.GenerateInt'>, <class 'sqlglot.expressions.array.GenerateSeries'>, <class 'sqlglot.expressions.functions.GenerateTable'>, <class 'sqlglot.expressions.functions.GenerateText'>, <class 'sqlglot.expressions.temporal.GenerateTimestampArray'>, <class 'sqlglot.expressions.array.Generator'>, <class 'sqlglot.expressions.temporal.GetExtract'>, <class 'sqlglot.expressions.math.Getbit'>, <class 'sqlglot.expressions.functions.Greatest'>, <class 'sqlglot.expressions.aggregate.GroupConcat'>, <class 'sqlglot.expressions.aggregate.Grouping'>, <class 'sqlglot.expressions.aggregate.GroupingId'>, <class 'sqlglot.expressions.core.HashAgg'>, <class 'sqlglot.expressions.string.Hex'>, <class 'sqlglot.expressions.string.HexDecodeString'>, <class 'sqlglot.expressions.string.HexEncode'>, <class 'sqlglot.expressions.core.Hll'>, <class 'sqlglot.expressions.functions.Host'>, <class 'sqlglot.expressions.temporal.Hour'>, <class 'sqlglot.expressions.functions.If'>, <class 'sqlglot.expressions.string.Initcap'>, <class 'sqlglot.expressions.array.Inline'>, <class 'sqlglot.expressions.functions.Int64'>, <class 'sqlglot.expressions.functions.IsArray'>, <class 'sqlglot.expressions.string.IsAscii'>, <class 'sqlglot.expressions.math.IsInf'>, <class 'sqlglot.expressions.math.IsNan'>, <class 'sqlglot.expressions.functions.IsNullValue'>, <class 'sqlglot.expressions.json.JSONArray'>, <class 'sqlglot.expressions.json.JSONArrayAgg'>, <class 'sqlglot.expressions.json.JSONArrayAppend'>, <class 'sqlglot.expressions.json.JSONArrayContains'>, <class 'sqlglot.expressions.json.JSONArrayInsert'>, <class 'sqlglot.expressions.json.JSONBContains'>, <class 'sqlglot.expressions.json.JSONBContainsAllTopKeys'>, <class 'sqlglot.expressions.json.JSONBContainsAnyTopKeys'>, <class 'sqlglot.expressions.json.JSONBDeleteAtPath'>, <class 'sqlglot.expressions.json.JSONBExists'>, <class 'sqlglot.expressions.json.JSONBExtract'>, <class 'sqlglot.expressions.json.JSONBExtractScalar'>, <class 'sqlglot.expressions.json.JSONBObjectAgg'>, <class 'sqlglot.expressions.json.JSONBool'>, <class 'sqlglot.expressions.functions.JSONCast'>, <class 'sqlglot.expressions.json.JSONExists'>, <class 'sqlglot.expressions.json.JSONExtract'>, <class 'sqlglot.expressions.json.JSONExtractArray'>, <class 'sqlglot.expressions.json.JSONExtractScalar'>, <class 'sqlglot.expressions.json.JSONFormat'>, <class 'sqlglot.expressions.json.JSONKeys'>, <class 'sqlglot.expressions.json.JSONKeysAtDepth'>, <class 'sqlglot.expressions.json.JSONObject'>, <class 'sqlglot.expressions.json.JSONObjectAgg'>, <class 'sqlglot.expressions.json.JSONRemove'>, <class 'sqlglot.expressions.json.JSONSet'>, <class 'sqlglot.expressions.json.JSONStripNulls'>, <class 'sqlglot.expressions.json.JSONTable'>, <class 'sqlglot.expressions.json.JSONType'>, <class 'sqlglot.expressions.query.JSONValueArray'>, <class 'sqlglot.expressions.math.JarowinklerSimilarity'>, <class 'sqlglot.expressions.temporal.JustifyDays'>, <class 'sqlglot.expressions.temporal.JustifyHours'>, <class 'sqlglot.expressions.temporal.JustifyInterval'>, <class 'sqlglot.expressions.aggregate.Kurtosis'>, <class 'sqlglot.expressions.aggregate.Lag'>, <class 'sqlglot.expressions.aggregate.Last'>, <class 'sqlglot.expressions.temporal.LastDay'>, <class 'sqlglot.expressions.aggregate.LastValue'>, <class 'sqlglot.expressions.functions.LaxBool'>, <class 'sqlglot.expressions.functions.LaxFloat64'>, <class 'sqlglot.expressions.functions.LaxInt64'>, <class 'sqlglot.expressions.functions.LaxString'>, <class 'sqlglot.expressions.aggregate.Lead'>, <class 'sqlglot.expressions.functions.Least'>, <class 'sqlglot.expressions.string.Left'>, <class 'sqlglot.expressions.string.Length'>, <class 'sqlglot.expressions.string.Levenshtein'>, <class 'sqlglot.expressions.array.List'>, <class 'sqlglot.expressions.math.Ln'>, <class 'sqlglot.expressions.temporal.Localtime'>, <class 'sqlglot.expressions.temporal.Localtimestamp'>, <class 'sqlglot.expressions.math.Log'>, <class 'sqlglot.expressions.aggregate.LogicalAnd'>, <class 'sqlglot.expressions.aggregate.LogicalOr'>, <class 'sqlglot.expressions.string.Lower'>, <class 'sqlglot.expressions.string.LowerHex'>, <class 'sqlglot.expressions.string.MD5'>, <class 'sqlglot.expressions.string.MD5Digest'>, <class 'sqlglot.expressions.string.MD5NumberLower64'>, <class 'sqlglot.expressions.string.MD5NumberUpper64'>, <class 'sqlglot.expressions.functions.MLForecast'>, <class 'sqlglot.expressions.functions.MLTranslate'>, <class 'sqlglot.expressions.temporal.MakeInterval'>, <class 'sqlglot.expressions.math.ManhattanDistance'>, <class 'sqlglot.expressions.array.Map'>, <class 'sqlglot.expressions.array.MapCat'>, <class 'sqlglot.expressions.array.MapContainsKey'>, <class 'sqlglot.expressions.array.MapDelete'>, <class 'sqlglot.expressions.array.MapFromEntries'>, <class 'sqlglot.expressions.array.MapInsert'>, <class 'sqlglot.expressions.array.MapKeys'>, <class 'sqlglot.expressions.array.MapPick'>, <class 'sqlglot.expressions.array.MapSize'>, <class 'sqlglot.expressions.string.MatchAgainst'>, <class 'sqlglot.expressions.aggregate.Max'>, <class 'sqlglot.expressions.aggregate.Median'>, <class 'sqlglot.expressions.aggregate.Min'>, <class 'sqlglot.expressions.aggregate.Minhash'>, <class 'sqlglot.expressions.aggregate.MinhashCombine'>, <class 'sqlglot.expressions.temporal.Minute'>, <class 'sqlglot.expressions.aggregate.Mode'>, <class 'sqlglot.expressions.temporal.Month'>, <class 'sqlglot.expressions.temporal.Monthname'>, <class 'sqlglot.expressions.temporal.MonthsBetween'>, <class 'sqlglot.expressions.functions.NetFunc'>, <class 'sqlglot.expressions.temporal.NextDay'>, <class 'sqlglot.expressions.ddl.NextValueFor'>, <class 'sqlglot.expressions.functions.Normal'>, <class 'sqlglot.expressions.string.Normalize'>, <class 'sqlglot.expressions.aggregate.NthValue'>, <class 'sqlglot.expressions.aggregate.Ntile'>, <class 'sqlglot.expressions.functions.Nullif'>, <class 'sqlglot.expressions.string.NumberToStr'>, <class 'sqlglot.expressions.functions.Nvl2'>, <class 'sqlglot.expressions.aggregate.ObjectAgg'>, <class 'sqlglot.expressions.json.ObjectId'>, <class 'sqlglot.expressions.json.ObjectInsert'>, <class 'sqlglot.expressions.json.OpenJSON'>, <class 'sqlglot.expressions.core.Or'>, <class 'sqlglot.expressions.string.Overlay'>, <class 'sqlglot.expressions.string.Pad'>, <class 'sqlglot.expressions.core.ParameterizedAgg'>, <class 'sqlglot.expressions.string.ParseBignumeric'>, <class 'sqlglot.expressions.temporal.ParseDatetime'>, <class 'sqlglot.expressions.functions.ParseIp'>, <class 'sqlglot.expressions.json.ParseJSON'>, <class 'sqlglot.expressions.string.ParseNumeric'>, <class 'sqlglot.expressions.temporal.ParseTime'>, <class 'sqlglot.expressions.string.ParseUrl'>, <class 'sqlglot.expressions.aggregate.PercentRank'>, <class 'sqlglot.expressions.aggregate.PercentileCont'>, <class 'sqlglot.expressions.aggregate.PercentileDisc'>, <class 'sqlglot.expressions.math.Pi'>, <class 'sqlglot.expressions.array.Posexplode'>, <class 'sqlglot.expressions.array.PosexplodeOuter'>, <class 'sqlglot.expressions.core.Pow'>, <class 'sqlglot.expressions.functions.Predict'>, <class 'sqlglot.expressions.temporal.PreviousDay'>, <class 'sqlglot.expressions.aggregate.Quantile'>, <class 'sqlglot.expressions.temporal.Quarter'>, <class 'sqlglot.expressions.math.Radians'>, <class 'sqlglot.expressions.functions.Rand'>, <class 'sqlglot.expressions.functions.Randn'>, <class 'sqlglot.expressions.functions.Randstr'>, <class 'sqlglot.expressions.functions.RangeBucket'>, <class 'sqlglot.expressions.functions.RangeN'>, <class 'sqlglot.expressions.aggregate.Rank'>, <class 'sqlglot.expressions.functions.ReadCSV'>, <class 'sqlglot.expressions.functions.ReadParquet'>, <class 'sqlglot.expressions.array.Reduce'>, <class 'sqlglot.expressions.functions.RegDomain'>, <class 'sqlglot.expressions.string.RegexpCount'>, <class 'sqlglot.expressions.string.RegexpExtract'>, <class 'sqlglot.expressions.string.RegexpExtractAll'>, <class 'sqlglot.expressions.string.RegexpFullMatch'>, <class 'sqlglot.expressions.string.RegexpILike'>, <class 'sqlglot.expressions.string.RegexpInstr'>, <class 'sqlglot.expressions.core.RegexpLike'>, <class 'sqlglot.expressions.string.RegexpReplace'>, <class 'sqlglot.expressions.string.RegexpSplit'>, <class 'sqlglot.expressions.aggregate.RegrAvgx'>, <class 'sqlglot.expressions.aggregate.RegrAvgy'>, <class 'sqlglot.expressions.aggregate.RegrCount'>, <class 'sqlglot.expressions.aggregate.RegrIntercept'>, <class 'sqlglot.expressions.aggregate.RegrR2'>, <class 'sqlglot.expressions.aggregate.RegrSlope'>, <class 'sqlglot.expressions.aggregate.RegrSxx'>, <class 'sqlglot.expressions.aggregate.RegrSxy'>, <class 'sqlglot.expressions.aggregate.RegrSyy'>, <class 'sqlglot.expressions.aggregate.RegrValx'>, <class 'sqlglot.expressions.aggregate.RegrValy'>, <class 'sqlglot.expressions.string.Repeat'>, <class 'sqlglot.expressions.string.Replace'>, <class 'sqlglot.expressions.string.Reverse'>, <class 'sqlglot.expressions.string.Right'>, <class 'sqlglot.expressions.math.Round'>, <class 'sqlglot.expressions.aggregate.RowNumber'>, <class 'sqlglot.expressions.string.RtrimmedLength'>, <class 'sqlglot.expressions.string.SHA'>, <class 'sqlglot.expressions.string.SHA1Digest'>, <class 'sqlglot.expressions.string.SHA2'>, <class 'sqlglot.expressions.string.SHA2Digest'>, <class 'sqlglot.expressions.math.SafeAdd'>, <class 'sqlglot.expressions.string.SafeConvertBytesToString'>, <class 'sqlglot.expressions.math.SafeDivide'>, <class 'sqlglot.expressions.core.SafeFunc'>, <class 'sqlglot.expressions.math.SafeMultiply'>, <class 'sqlglot.expressions.math.SafeNegate'>, <class 'sqlglot.expressions.math.SafeSubtract'>, <class 'sqlglot.expressions.string.Search'>, <class 'sqlglot.expressions.string.SearchIp'>, <class 'sqlglot.expressions.math.Sec'>, <class 'sqlglot.expressions.math.Sech'>, <class 'sqlglot.expressions.temporal.Second'>, <class 'sqlglot.expressions.functions.Seq1'>, <class 'sqlglot.expressions.functions.Seq2'>, <class 'sqlglot.expressions.functions.Seq4'>, <class 'sqlglot.expressions.functions.Seq8'>, <class 'sqlglot.expressions.functions.SessionUser'>, <class 'sqlglot.expressions.math.Sign'>, <class 'sqlglot.expressions.math.Sin'>, <class 'sqlglot.expressions.math.Sinh'>, <class 'sqlglot.expressions.aggregate.Skewness'>, <class 'sqlglot.expressions.array.SortArray'>, <class 'sqlglot.expressions.string.Soundex'>, <class 'sqlglot.expressions.string.SoundexP123'>, <class 'sqlglot.expressions.string.Space'>, <class 'sqlglot.expressions.string.Split'>, <class 'sqlglot.expressions.string.SplitPart'>, <class 'sqlglot.expressions.math.Sqrt'>, <class 'sqlglot.expressions.array.StDistance'>, <class 'sqlglot.expressions.array.StPoint'>, <class 'sqlglot.expressions.string.StandardHash'>, <class 'sqlglot.expressions.array.StarMap'>, <class 'sqlglot.expressions.string.StartsWith'>, <class 'sqlglot.expressions.aggregate.Stddev'>, <class 'sqlglot.expressions.aggregate.StddevPop'>, <class 'sqlglot.expressions.aggregate.StddevSamp'>, <class 'sqlglot.expressions.string.StrPosition'>, <class 'sqlglot.expressions.temporal.StrToDate'>, <class 'sqlglot.expressions.string.StrToMap'>, <class 'sqlglot.expressions.temporal.StrToTime'>, <class 'sqlglot.expressions.temporal.StrToUnix'>, <class 'sqlglot.expressions.string.String'>, <class 'sqlglot.expressions.array.StringToArray'>, <class 'sqlglot.expressions.json.StripNullValue'>, <class 'sqlglot.expressions.string.Strtok'>, <class 'sqlglot.expressions.array.Struct'>, <class 'sqlglot.expressions.array.StructExtract'>, <class 'sqlglot.expressions.string.Stuff'>, <class 'sqlglot.expressions.string.Substring'>, <class 'sqlglot.expressions.string.SubstringIndex'>, <class 'sqlglot.expressions.aggregate.Sum'>, <class 'sqlglot.expressions.temporal.Systimestamp'>, <class 'sqlglot.expressions.math.Tan'>, <class 'sqlglot.expressions.math.Tanh'>, <class 'sqlglot.expressions.temporal.Time'>, <class 'sqlglot.expressions.temporal.TimeAdd'>, <class 'sqlglot.expressions.temporal.TimeDiff'>, <class 'sqlglot.expressions.temporal.TimeFromParts'>, <class 'sqlglot.expressions.temporal.TimeSlice'>, <class 'sqlglot.expressions.temporal.TimeStrToDate'>, <class 'sqlglot.expressions.temporal.TimeStrToTime'>, <class 'sqlglot.expressions.temporal.TimeStrToUnix'>, <class 'sqlglot.expressions.temporal.TimeSub'>, <class 'sqlglot.expressions.temporal.TimeToStr'>, <class 'sqlglot.expressions.temporal.TimeToTimeStr'>, <class 'sqlglot.expressions.temporal.TimeToUnix'>, <class 'sqlglot.expressions.temporal.TimeTrunc'>, <class 'sqlglot.expressions.temporal.Timestamp'>, <class 'sqlglot.expressions.temporal.TimestampAdd'>, <class 'sqlglot.expressions.temporal.TimestampDiff'>, <class 'sqlglot.expressions.temporal.TimestampFromParts'>, <class 'sqlglot.expressions.temporal.TimestampLtzFromParts'>, <class 'sqlglot.expressions.temporal.TimestampSub'>, <class 'sqlglot.expressions.temporal.TimestampTrunc'>, <class 'sqlglot.expressions.temporal.TimestampTzFromParts'>, <class 'sqlglot.expressions.array.ToArray'>, <class 'sqlglot.expressions.string.ToBase32'>, <class 'sqlglot.expressions.string.ToBase64'>, <class 'sqlglot.expressions.string.ToBinary'>, <class 'sqlglot.expressions.functions.ToBoolean'>, <class 'sqlglot.expressions.string.ToChar'>, <class 'sqlglot.expressions.string.ToCodePoints'>, <class 'sqlglot.expressions.temporal.ToDays'>, <class 'sqlglot.expressions.string.ToDecfloat'>, <class 'sqlglot.expressions.string.ToDouble'>, <class 'sqlglot.expressions.string.ToFile'>, <class 'sqlglot.expressions.array.ToMap'>, <class 'sqlglot.expressions.string.ToNumber'>, <class 'sqlglot.expressions.functions.ToVariant'>, <class 'sqlglot.expressions.array.Transform'>, <class 'sqlglot.expressions.string.Translate'>, <class 'sqlglot.expressions.string.Trim'>, <class 'sqlglot.expressions.math.Trunc'>, <class 'sqlglot.expressions.functions.Try'>, <class 'sqlglot.expressions.string.TryBase64DecodeBinary'>, <class 'sqlglot.expressions.string.TryBase64DecodeString'>, <class 'sqlglot.expressions.functions.TryCast'>, <class 'sqlglot.expressions.string.TryHexDecodeBinary'>, <class 'sqlglot.expressions.string.TryHexDecodeString'>, <class 'sqlglot.expressions.string.TryToDecfloat'>, <class 'sqlglot.expressions.temporal.TsOrDiToDi'>, <class 'sqlglot.expressions.temporal.TsOrDsAdd'>, <class 'sqlglot.expressions.temporal.TsOrDsDiff'>, <class 'sqlglot.expressions.temporal.TsOrDsToDate'>, <class 'sqlglot.expressions.temporal.TsOrDsToDateStr'>, <class 'sqlglot.expressions.temporal.TsOrDsToDatetime'>, <class 'sqlglot.expressions.temporal.TsOrDsToTime'>, <class 'sqlglot.expressions.temporal.TsOrDsToTimestamp'>, <class 'sqlglot.expressions.core.Typeof'>, <class 'sqlglot.expressions.string.Unhex'>, <class 'sqlglot.expressions.string.Unicode'>, <class 'sqlglot.expressions.functions.Uniform'>, <class 'sqlglot.expressions.temporal.UnixDate'>, <class 'sqlglot.expressions.temporal.UnixMicros'>, <class 'sqlglot.expressions.temporal.UnixMillis'>, <class 'sqlglot.expressions.temporal.UnixSeconds'>, <class 'sqlglot.expressions.temporal.UnixToStr'>, <class 'sqlglot.expressions.temporal.UnixToTime'>, <class 'sqlglot.expressions.temporal.UnixToTimeStr'>, <class 'sqlglot.expressions.array.Unnest'>, <class 'sqlglot.expressions.string.Upper'>, <class 'sqlglot.expressions.temporal.UtcDate'>, <class 'sqlglot.expressions.temporal.UtcTime'>, <class 'sqlglot.expressions.temporal.UtcTimestamp'>, <class 'sqlglot.expressions.functions.Uuid'>, <class 'sqlglot.expressions.array.VarMap'>, <class 'sqlglot.expressions.aggregate.Variance'>, <class 'sqlglot.expressions.aggregate.VariancePop'>, <class 'sqlglot.expressions.functions.VectorSearch'>, <class 'sqlglot.expressions.temporal.Week'>, <class 'sqlglot.expressions.temporal.WeekOfYear'>, <class 'sqlglot.expressions.functions.WeekStart'>, <class 'sqlglot.expressions.functions.WidthBucket'>, <class 'sqlglot.expressions.functions.XMLElement'>, <class 'sqlglot.expressions.functions.XMLGet'>, <class 'sqlglot.expressions.functions.XMLTable'>, <class 'sqlglot.expressions.core.Xor'>, <class 'sqlglot.expressions.temporal.Year'>, <class 'sqlglot.expressions.temporal.YearOfWeek'>, <class 'sqlglot.expressions.temporal.YearOfWeekIso'>, <class 'sqlglot.expressions.functions.Zipf'>, <class 'sqlglot.expressions.array._ExplodeOuter'>]
FUNCTION_BY_NAME =
{'AI_AGG': <class 'sqlglot.expressions.aggregate.AIAgg'>, 'AI_CLASSIFY': <class 'sqlglot.expressions.functions.AIClassify'>, 'AI_EMBED': <class 'sqlglot.expressions.functions.AIEmbed'>, 'A_I_FORECAST': <class 'sqlglot.expressions.functions.AIForecast'>, 'AI_GENERATE': <class 'sqlglot.expressions.functions.AIGenerate'>, 'AI_SIMILARITY': <class 'sqlglot.expressions.functions.AISimilarity'>, 'AI_SUMMARIZE_AGG': <class 'sqlglot.expressions.aggregate.AISummarizeAgg'>, 'ABS': <class 'sqlglot.expressions.math.Abs'>, 'ACOS': <class 'sqlglot.expressions.math.Acos'>, 'ACOSH': <class 'sqlglot.expressions.math.Acosh'>, 'ADD_MONTHS': <class 'sqlglot.expressions.temporal.AddMonths'>, 'AND': <class 'sqlglot.expressions.core.And'>, 'ANONYMOUS_AGG_FUNC': <class 'sqlglot.expressions.core.AnonymousAggFunc'>, 'ANY_VALUE': <class 'sqlglot.expressions.aggregate.AnyValue'>, 'APPLY': <class 'sqlglot.expressions.array.Apply'>, 'APPROX_DISTINCT': <class 'sqlglot.expressions.core.ApproxDistinct'>, 'APPROX_COUNT_DISTINCT': <class 'sqlglot.expressions.core.ApproxDistinct'>, 'APPROX_PERCENTILE_ACCUMULATE': <class 'sqlglot.expressions.aggregate.ApproxPercentileAccumulate'>, 'APPROX_PERCENTILE_COMBINE': <class 'sqlglot.expressions.aggregate.ApproxPercentileCombine'>, 'APPROX_PERCENTILE_ESTIMATE': <class 'sqlglot.expressions.aggregate.ApproxPercentileEstimate'>, 'APPROX_QUANTILE': <class 'sqlglot.expressions.aggregate.ApproxQuantile'>, 'APPROX_QUANTILES': <class 'sqlglot.expressions.aggregate.ApproxQuantiles'>, 'APPROX_TOP_K': <class 'sqlglot.expressions.aggregate.ApproxTopK'>, 'APPROX_TOP_K_ACCUMULATE': <class 'sqlglot.expressions.aggregate.ApproxTopKAccumulate'>, 'APPROX_TOP_K_COMBINE': <class 'sqlglot.expressions.aggregate.ApproxTopKCombine'>, 'APPROX_TOP_K_ESTIMATE': <class 'sqlglot.expressions.aggregate.ApproxTopKEstimate'>, 'APPROX_TOP_SUM': <class 'sqlglot.expressions.aggregate.ApproxTopSum'>, 'APPROXIMATE_SIMILARITY': <class 'sqlglot.expressions.aggregate.ApproximateSimilarity'>, 'APPROXIMATE_JACCARD_INDEX': <class 'sqlglot.expressions.aggregate.ApproximateSimilarity'>, 'ARG_MAX': <class 'sqlglot.expressions.aggregate.ArgMax'>, 'ARGMAX': <class 'sqlglot.expressions.aggregate.ArgMax'>, 'MAX_BY': <class 'sqlglot.expressions.aggregate.ArgMax'>, 'ARG_MIN': <class 'sqlglot.expressions.aggregate.ArgMin'>, 'ARGMIN': <class 'sqlglot.expressions.aggregate.ArgMin'>, 'MIN_BY': <class 'sqlglot.expressions.aggregate.ArgMin'>, 'ARRAY': <class 'sqlglot.expressions.array.Array'>, 'ARRAY_AGG': <class 'sqlglot.expressions.aggregate.ArrayAgg'>, 'ARRAY_ALL': <class 'sqlglot.expressions.array.ArrayAll'>, 'ARRAY_ANY': <class 'sqlglot.expressions.array.ArrayAny'>, 'ARRAY_APPEND': <class 'sqlglot.expressions.array.ArrayAppend'>, 'ARRAY_COMPACT': <class 'sqlglot.expressions.array.ArrayCompact'>, 'ARRAY_CONCAT': <class 'sqlglot.expressions.array.ArrayConcat'>, 'ARRAY_CAT': <class 'sqlglot.expressions.array.ArrayConcat'>, 'ARRAY_CONCAT_AGG': <class 'sqlglot.expressions.aggregate.ArrayConcatAgg'>, 'ARRAY_CONSTRUCT_COMPACT': <class 'sqlglot.expressions.array.ArrayConstructCompact'>, 'ARRAY_CONTAINS': <class 'sqlglot.expressions.array.ArrayContains'>, 'ARRAY_HAS': <class 'sqlglot.expressions.array.ArrayContains'>, 'ARRAY_CONTAINS_ALL': <class 'sqlglot.expressions.array.ArrayContainsAll'>, 'ARRAY_HAS_ALL': <class 'sqlglot.expressions.array.ArrayContainsAll'>, 'ARRAY_DISTINCT': <class 'sqlglot.expressions.array.ArrayDistinct'>, 'ARRAY_EXCEPT': <class 'sqlglot.expressions.array.ArrayExcept'>, 'FILTER': <class 'sqlglot.expressions.array.ArrayFilter'>, 'ARRAY_FILTER': <class 'sqlglot.expressions.array.ArrayFilter'>, 'ARRAY_FIRST': <class 'sqlglot.expressions.array.ArrayFirst'>, 'ARRAY_INSERT': <class 'sqlglot.expressions.array.ArrayInsert'>, 'ARRAY_INTERSECT': <class 'sqlglot.expressions.array.ArrayIntersect'>, 'ARRAY_INTERSECTION': <class 'sqlglot.expressions.array.ArrayIntersect'>, 'ARRAY_LAST': <class 'sqlglot.expressions.array.ArrayLast'>, 'ARRAY_MAX': <class 'sqlglot.expressions.array.ArrayMax'>, 'ARRAY_MIN': <class 'sqlglot.expressions.array.ArrayMin'>, 'ARRAY_OVERLAPS': <class 'sqlglot.expressions.array.ArrayOverlaps'>, 'ARRAY_POSITION': <class 'sqlglot.expressions.array.ArrayPosition'>, 'ARRAY_PREPEND': <class 'sqlglot.expressions.array.ArrayPrepend'>, 'ARRAY_REMOVE': <class 'sqlglot.expressions.array.ArrayRemove'>, 'ARRAY_REMOVE_AT': <class 'sqlglot.expressions.array.ArrayRemoveAt'>, 'ARRAY_REVERSE': <class 'sqlglot.expressions.array.ArrayReverse'>, 'ARRAY_SIZE': <class 'sqlglot.expressions.array.ArraySize'>, 'ARRAY_LENGTH': <class 'sqlglot.expressions.array.ArraySize'>, 'ARRAY_SLICE': <class 'sqlglot.expressions.array.ArraySlice'>, 'ARRAY_SORT': <class 'sqlglot.expressions.array.ArraySort'>, 'ARRAY_SUM': <class 'sqlglot.expressions.array.ArraySum'>, 'ARRAY_TO_STRING': <class 'sqlglot.expressions.array.ArrayToString'>, 'ARRAY_JOIN': <class 'sqlglot.expressions.array.ArrayToString'>, 'ARRAY_UNION_AGG': <class 'sqlglot.expressions.aggregate.ArrayUnionAgg'>, 'ARRAY_UNIQUE_AGG': <class 'sqlglot.expressions.aggregate.ArrayUniqueAgg'>, 'ARRAYS_ZIP': <class 'sqlglot.expressions.array.ArraysZip'>, 'ASCII': <class 'sqlglot.expressions.string.Ascii'>, 'ASIN': <class 'sqlglot.expressions.math.Asin'>, 'ASINH': <class 'sqlglot.expressions.math.Asinh'>, 'ATAN': <class 'sqlglot.expressions.math.Atan'>, 'ATAN2': <class 'sqlglot.expressions.math.Atan2'>, 'ATANH': <class 'sqlglot.expressions.math.Atanh'>, 'AVG': <class 'sqlglot.expressions.aggregate.Avg'>, 'BASE64_DECODE_BINARY': <class 'sqlglot.expressions.string.Base64DecodeBinary'>, 'BASE64_DECODE_STRING': <class 'sqlglot.expressions.string.Base64DecodeString'>, 'BASE64_ENCODE': <class 'sqlglot.expressions.string.Base64Encode'>, 'BIT_LENGTH': <class 'sqlglot.expressions.string.BitLength'>, 'BITMAP_BIT_POSITION': <class 'sqlglot.expressions.math.BitmapBitPosition'>, 'BITMAP_BUCKET_NUMBER': <class 'sqlglot.expressions.math.BitmapBucketNumber'>, 'BITMAP_CONSTRUCT_AGG': <class 'sqlglot.expressions.math.BitmapConstructAgg'>, 'BITMAP_COUNT': <class 'sqlglot.expressions.math.BitmapCount'>, 'BITMAP_OR_AGG': <class 'sqlglot.expressions.math.BitmapOrAgg'>, 'BITWISE_AND_AGG': <class 'sqlglot.expressions.math.BitwiseAndAgg'>, 'BITWISE_COUNT': <class 'sqlglot.expressions.math.BitwiseCount'>, 'BITWISE_OR_AGG': <class 'sqlglot.expressions.math.BitwiseOrAgg'>, 'BITWISE_XOR_AGG': <class 'sqlglot.expressions.math.BitwiseXorAgg'>, 'BOOLAND': <class 'sqlglot.expressions.math.Booland'>, 'BOOLNOT': <class 'sqlglot.expressions.math.Boolnot'>, 'BOOLOR': <class 'sqlglot.expressions.math.Boolor'>, 'BOOLXOR_AGG': <class 'sqlglot.expressions.math.BoolxorAgg'>, 'BYTE_LENGTH': <class 'sqlglot.expressions.string.ByteLength'>, 'CASE': <class 'sqlglot.expressions.functions.Case'>, 'CAST': <class 'sqlglot.expressions.functions.Cast'>, 'CAST_TO_STR_TYPE': <class 'sqlglot.expressions.functions.CastToStrType'>, 'CBRT': <class 'sqlglot.expressions.math.Cbrt'>, 'CEIL': <class 'sqlglot.expressions.math.Ceil'>, 'CEILING': <class 'sqlglot.expressions.math.Ceil'>, 'CHECK_JSON': <class 'sqlglot.expressions.json.CheckJson'>, 'CHECK_XML': <class 'sqlglot.expressions.functions.CheckXml'>, 'CHR': <class 'sqlglot.expressions.string.Chr'>, 'CHAR': <class 'sqlglot.expressions.string.Chr'>, 'CITY_HASH64': <class 'sqlglot.expressions.string.CityHash64'>, 'COALESCE': <class 'sqlglot.expressions.functions.Coalesce'>, 'IFNULL': <class 'sqlglot.expressions.functions.Coalesce'>, 'NVL': <class 'sqlglot.expressions.functions.Coalesce'>, 'CODE_POINTS_TO_BYTES': <class 'sqlglot.expressions.string.CodePointsToBytes'>, 'CODE_POINTS_TO_STRING': <class 'sqlglot.expressions.string.CodePointsToString'>, 'COLLATE': <class 'sqlglot.expressions.functions.Collate'>, 'COLLATION': <class 'sqlglot.expressions.functions.Collation'>, 'COLUMNS': <class 'sqlglot.expressions.functions.Columns'>, 'COMBINED_AGG_FUNC': <class 'sqlglot.expressions.core.CombinedAggFunc'>, 'COMBINED_PARAMETERIZED_AGG': <class 'sqlglot.expressions.core.CombinedParameterizedAgg'>, 'COMPRESS': <class 'sqlglot.expressions.string.Compress'>, 'CONCAT': <class 'sqlglot.expressions.string.Concat'>, 'CONCAT_WS': <class 'sqlglot.expressions.string.ConcatWs'>, 'CONNECT_BY_ROOT': <class 'sqlglot.expressions.functions.ConnectByRoot'>, 'CONTAINS': <class 'sqlglot.expressions.string.Contains'>, 'CONVERT': <class 'sqlglot.expressions.functions.Convert'>, 'CONVERT_TIMEZONE': <class 'sqlglot.expressions.temporal.ConvertTimezone'>, 'CONVERT_TO_CHARSET': <class 'sqlglot.expressions.string.ConvertToCharset'>, 'CORR': <class 'sqlglot.expressions.aggregate.Corr'>, 'COS': <class 'sqlglot.expressions.math.Cos'>, 'COSH': <class 'sqlglot.expressions.math.Cosh'>, 'COSINE_DISTANCE': <class 'sqlglot.expressions.math.CosineDistance'>, 'COT': <class 'sqlglot.expressions.math.Cot'>, 'COTH': <class 'sqlglot.expressions.math.Coth'>, 'COUNT': <class 'sqlglot.expressions.aggregate.Count'>, 'COUNT_IF': <class 'sqlglot.expressions.aggregate.CountIf'>, 'COUNTIF': <class 'sqlglot.expressions.aggregate.CountIf'>, 'COVAR_POP': <class 'sqlglot.expressions.aggregate.CovarPop'>, 'COVAR_SAMP': <class 'sqlglot.expressions.aggregate.CovarSamp'>, 'CSC': <class 'sqlglot.expressions.math.Csc'>, 'CSCH': <class 'sqlglot.expressions.math.Csch'>, 'CUME_DIST': <class 'sqlglot.expressions.aggregate.CumeDist'>, 'CURRENT_ACCOUNT': <class 'sqlglot.expressions.functions.CurrentAccount'>, 'CURRENT_ACCOUNT_NAME': <class 'sqlglot.expressions.functions.CurrentAccountName'>, 'CURRENT_AVAILABLE_ROLES': <class 'sqlglot.expressions.functions.CurrentAvailableRoles'>, 'CURRENT_CATALOG': <class 'sqlglot.expressions.functions.CurrentCatalog'>, 'CURRENT_CLIENT': <class 'sqlglot.expressions.functions.CurrentClient'>, 'CURRENT_DATABASE': <class 'sqlglot.expressions.functions.CurrentDatabase'>, 'CURRENT_DATE': <class 'sqlglot.expressions.temporal.CurrentDate'>, 'CURRENT_DATETIME': <class 'sqlglot.expressions.temporal.CurrentDatetime'>, 'CURRENT_IP_ADDRESS': <class 'sqlglot.expressions.functions.CurrentIpAddress'>, 'CURRENT_ORGANIZATION_NAME': <class 'sqlglot.expressions.functions.CurrentOrganizationName'>, 'CURRENT_ORGANIZATION_USER': <class 'sqlglot.expressions.functions.CurrentOrganizationUser'>, 'CURRENT_REGION': <class 'sqlglot.expressions.functions.CurrentRegion'>, 'CURRENT_ROLE': <class 'sqlglot.expressions.functions.CurrentRole'>, 'CURRENT_ROLE_TYPE': <class 'sqlglot.expressions.functions.CurrentRoleType'>, 'CURRENT_SCHEMA': <class 'sqlglot.expressions.functions.CurrentSchema'>, 'CURRENT_SCHEMAS': <class 'sqlglot.expressions.functions.CurrentSchemas'>, 'CURRENT_SECONDARY_ROLES': <class 'sqlglot.expressions.functions.CurrentSecondaryRoles'>, 'CURRENT_SESSION': <class 'sqlglot.expressions.functions.CurrentSession'>, 'CURRENT_STATEMENT': <class 'sqlglot.expressions.functions.CurrentStatement'>, 'CURRENT_TIME': <class 'sqlglot.expressions.temporal.CurrentTime'>, 'CURRENT_TIMESTAMP': <class 'sqlglot.expressions.temporal.CurrentTimestamp'>, 'CURRENT_TIMESTAMP_L_T_Z': <class 'sqlglot.expressions.temporal.CurrentTimestampLTZ'>, 'CURRENT_TIMEZONE': <class 'sqlglot.expressions.temporal.CurrentTimezone'>, 'CURRENT_TRANSACTION': <class 'sqlglot.expressions.functions.CurrentTransaction'>, 'CURRENT_USER': <class 'sqlglot.expressions.functions.CurrentUser'>, 'CURRENT_VERSION': <class 'sqlglot.expressions.functions.CurrentVersion'>, 'CURRENT_WAREHOUSE': <class 'sqlglot.expressions.functions.CurrentWarehouse'>, 'DATE': <class 'sqlglot.expressions.temporal.Date'>, 'DATE_ADD': <class 'sqlglot.expressions.temporal.DateAdd'>, 'DATE_BIN': <class 'sqlglot.expressions.temporal.DateBin'>, 'DATEDIFF': <class 'sqlglot.expressions.temporal.DateDiff'>, 'DATE_DIFF': <class 'sqlglot.expressions.temporal.DateDiff'>, 'DATE_FROM_PARTS': <class 'sqlglot.expressions.temporal.DateFromParts'>, 'DATEFROMPARTS': <class 'sqlglot.expressions.temporal.DateFromParts'>, 'DATE_FROM_UNIX_DATE': <class 'sqlglot.expressions.temporal.DateFromUnixDate'>, 'DATE_STR_TO_DATE': <class 'sqlglot.expressions.temporal.DateStrToDate'>, 'DATE_SUB': <class 'sqlglot.expressions.temporal.DateSub'>, 'DATE_TO_DATE_STR': <class 'sqlglot.expressions.temporal.DateToDateStr'>, 'DATE_TO_DI': <class 'sqlglot.expressions.temporal.DateToDi'>, 'DATE_TRUNC': <class 'sqlglot.expressions.temporal.DateTrunc'>, 'DATETIME': <class 'sqlglot.expressions.temporal.Datetime'>, 'DATETIME_ADD': <class 'sqlglot.expressions.temporal.DatetimeAdd'>, 'DATETIME_DIFF': <class 'sqlglot.expressions.temporal.DatetimeDiff'>, 'DATETIME_SUB': <class 'sqlglot.expressions.temporal.DatetimeSub'>, 'DATETIME_TRUNC': <class 'sqlglot.expressions.temporal.DatetimeTrunc'>, 'DAY': <class 'sqlglot.expressions.temporal.Day'>, 'DAY_OF_MONTH': <class 'sqlglot.expressions.temporal.DayOfMonth'>, 'DAYOFMONTH': <class 'sqlglot.expressions.temporal.DayOfMonth'>, 'DAY_OF_WEEK': <class 'sqlglot.expressions.temporal.DayOfWeek'>, 'DAYOFWEEK': <class 'sqlglot.expressions.temporal.DayOfWeek'>, 'DAYOFWEEK_ISO': <class 'sqlglot.expressions.temporal.DayOfWeekIso'>, 'ISODOW': <class 'sqlglot.expressions.temporal.DayOfWeekIso'>, 'DAY_OF_YEAR': <class 'sqlglot.expressions.temporal.DayOfYear'>, 'DAYOFYEAR': <class 'sqlglot.expressions.temporal.DayOfYear'>, 'DAYNAME': <class 'sqlglot.expressions.temporal.Dayname'>, 'DECODE': <class 'sqlglot.expressions.string.Decode'>, 'DECODE_CASE': <class 'sqlglot.expressions.functions.DecodeCase'>, 'DECOMPRESS_BINARY': <class 'sqlglot.expressions.string.DecompressBinary'>, 'DECOMPRESS_STRING': <class 'sqlglot.expressions.string.DecompressString'>, 'DECRYPT': <class 'sqlglot.expressions.string.Decrypt'>, 'DECRYPT_RAW': <class 'sqlglot.expressions.string.DecryptRaw'>, 'DEGREES': <class 'sqlglot.expressions.math.Degrees'>, 'DENSE_RANK': <class 'sqlglot.expressions.aggregate.DenseRank'>, 'DI_TO_DATE': <class 'sqlglot.expressions.temporal.DiToDate'>, 'DOT_PRODUCT': <class 'sqlglot.expressions.math.DotProduct'>, 'ELT': <class 'sqlglot.expressions.string.Elt'>, 'ENCODE': <class 'sqlglot.expressions.string.Encode'>, 'ENCRYPT': <class 'sqlglot.expressions.string.Encrypt'>, 'ENCRYPT_RAW': <class 'sqlglot.expressions.string.EncryptRaw'>, 'ENDS_WITH': <class 'sqlglot.expressions.string.EndsWith'>, 'ENDSWITH': <class 'sqlglot.expressions.string.EndsWith'>, 'EQUAL_NULL': <class 'sqlglot.expressions.functions.EqualNull'>, 'EUCLIDEAN_DISTANCE': <class 'sqlglot.expressions.math.EuclideanDistance'>, 'EXISTS': <class 'sqlglot.expressions.functions.Exists'>, 'EXP': <class 'sqlglot.expressions.math.Exp'>, 'EXPLODE': <class 'sqlglot.expressions.array.Explode'>, 'EXPLODING_GENERATE_SERIES': <class 'sqlglot.expressions.array.ExplodingGenerateSeries'>, 'EXTRACT': <class 'sqlglot.expressions.temporal.Extract'>, 'FACTORIAL': <class 'sqlglot.expressions.math.Factorial'>, 'FARM_FINGERPRINT': <class 'sqlglot.expressions.string.FarmFingerprint'>, 'FARMFINGERPRINT64': <class 'sqlglot.expressions.string.FarmFingerprint'>, 'FEATURES_AT_TIME': <class 'sqlglot.expressions.functions.FeaturesAtTime'>, 'FIRST': <class 'sqlglot.expressions.aggregate.First'>, 'FIRST_VALUE': <class 'sqlglot.expressions.aggregate.FirstValue'>, 'FLATTEN': <class 'sqlglot.expressions.array.Flatten'>, 'FLOAT64': <class 'sqlglot.expressions.functions.Float64'>, 'FLOOR': <class 'sqlglot.expressions.math.Floor'>, 'FORMAT': <class 'sqlglot.expressions.string.Format'>, 'FROM_BASE': <class 'sqlglot.expressions.string.FromBase'>, 'FROM_BASE32': <class 'sqlglot.expressions.string.FromBase32'>, 'FROM_BASE64': <class 'sqlglot.expressions.string.FromBase64'>, 'FROM_ISO8601_TIMESTAMP': <class 'sqlglot.expressions.temporal.FromISO8601Timestamp'>, 'GAP_FILL': <class 'sqlglot.expressions.temporal.GapFill'>, 'GENERATE_BOOL': <class 'sqlglot.expressions.functions.GenerateBool'>, 'GENERATE_DATE_ARRAY': <class 'sqlglot.expressions.temporal.GenerateDateArray'>, 'GENERATE_DOUBLE': <class 'sqlglot.expressions.functions.GenerateDouble'>, 'GENERATE_EMBEDDING': <class 'sqlglot.expressions.functions.GenerateEmbedding'>, 'GENERATE_INT': <class 'sqlglot.expressions.functions.GenerateInt'>, 'GENERATE_SERIES': <class 'sqlglot.expressions.array.GenerateSeries'>, 'GENERATE_TABLE': <class 'sqlglot.expressions.functions.GenerateTable'>, 'GENERATE_TEXT': <class 'sqlglot.expressions.functions.GenerateText'>, 'GENERATE_TIMESTAMP_ARRAY': <class 'sqlglot.expressions.temporal.GenerateTimestampArray'>, 'GENERATOR': <class 'sqlglot.expressions.array.Generator'>, 'GET_EXTRACT': <class 'sqlglot.expressions.temporal.GetExtract'>, 'GETBIT': <class 'sqlglot.expressions.math.Getbit'>, 'GET_BIT': <class 'sqlglot.expressions.math.Getbit'>, 'GREATEST': <class 'sqlglot.expressions.functions.Greatest'>, 'GROUP_CONCAT': <class 'sqlglot.expressions.aggregate.GroupConcat'>, 'GROUPING': <class 'sqlglot.expressions.aggregate.Grouping'>, 'GROUPING_ID': <class 'sqlglot.expressions.aggregate.GroupingId'>, 'HASH_AGG': <class 'sqlglot.expressions.core.HashAgg'>, 'HEX': <class 'sqlglot.expressions.string.Hex'>, 'HEX_DECODE_STRING': <class 'sqlglot.expressions.string.HexDecodeString'>, 'HEX_ENCODE': <class 'sqlglot.expressions.string.HexEncode'>, 'HLL': <class 'sqlglot.expressions.core.Hll'>, 'HOST': <class 'sqlglot.expressions.functions.Host'>, 'HOUR': <class 'sqlglot.expressions.temporal.Hour'>, 'IF': <class 'sqlglot.expressions.functions.If'>, 'IIF': <class 'sqlglot.expressions.functions.If'>, 'INITCAP': <class 'sqlglot.expressions.string.Initcap'>, 'INLINE': <class 'sqlglot.expressions.array.Inline'>, 'INT64': <class 'sqlglot.expressions.functions.Int64'>, 'IS_ARRAY': <class 'sqlglot.expressions.functions.IsArray'>, 'IS_ASCII': <class 'sqlglot.expressions.string.IsAscii'>, 'IS_INF': <class 'sqlglot.expressions.math.IsInf'>, 'ISINF': <class 'sqlglot.expressions.math.IsInf'>, 'IS_NAN': <class 'sqlglot.expressions.math.IsNan'>, 'ISNAN': <class 'sqlglot.expressions.math.IsNan'>, 'IS_NULL_VALUE': <class 'sqlglot.expressions.functions.IsNullValue'>, 'J_S_O_N_ARRAY': <class 'sqlglot.expressions.json.JSONArray'>, 'J_S_O_N_ARRAY_AGG': <class 'sqlglot.expressions.json.JSONArrayAgg'>, 'JSON_ARRAY_APPEND': <class 'sqlglot.expressions.json.JSONArrayAppend'>, 'JSON_ARRAY_CONTAINS': <class 'sqlglot.expressions.json.JSONArrayContains'>, 'JSON_ARRAY_INSERT': <class 'sqlglot.expressions.json.JSONArrayInsert'>, 'JSONB_CONTAINS': <class 'sqlglot.expressions.json.JSONBContains'>, 'J_S_O_N_B_CONTAINS_ALL_TOP_KEYS': <class 'sqlglot.expressions.json.JSONBContainsAllTopKeys'>, 'J_S_O_N_B_CONTAINS_ANY_TOP_KEYS': <class 'sqlglot.expressions.json.JSONBContainsAnyTopKeys'>, 'J_S_O_N_B_DELETE_AT_PATH': <class 'sqlglot.expressions.json.JSONBDeleteAtPath'>, 'JSONB_EXISTS': <class 'sqlglot.expressions.json.JSONBExists'>, 'JSONB_EXTRACT': <class 'sqlglot.expressions.json.JSONBExtract'>, 'JSONB_EXTRACT_SCALAR': <class 'sqlglot.expressions.json.JSONBExtractScalar'>, 'J_S_O_N_B_OBJECT_AGG': <class 'sqlglot.expressions.json.JSONBObjectAgg'>, 'J_S_O_N_BOOL': <class 'sqlglot.expressions.json.JSONBool'>, 'J_S_O_N_CAST': <class 'sqlglot.expressions.functions.JSONCast'>, 'J_S_O_N_EXISTS': <class 'sqlglot.expressions.json.JSONExists'>, 'JSON_EXTRACT': <class 'sqlglot.expressions.json.JSONExtract'>, 'JSON_EXTRACT_ARRAY': <class 'sqlglot.expressions.json.JSONExtractArray'>, 'JSON_EXTRACT_SCALAR': <class 'sqlglot.expressions.json.JSONExtractScalar'>, 'JSON_FORMAT': <class 'sqlglot.expressions.json.JSONFormat'>, 'JSON_KEYS': <class 'sqlglot.expressions.json.JSONKeys'>, 'J_S_O_N_KEYS_AT_DEPTH': <class 'sqlglot.expressions.json.JSONKeysAtDepth'>, 'J_S_O_N_OBJECT': <class 'sqlglot.expressions.json.JSONObject'>, 'J_S_O_N_OBJECT_AGG': <class 'sqlglot.expressions.json.JSONObjectAgg'>, 'JSON_REMOVE': <class 'sqlglot.expressions.json.JSONRemove'>, 'JSON_SET': <class 'sqlglot.expressions.json.JSONSet'>, 'JSON_STRIP_NULLS': <class 'sqlglot.expressions.json.JSONStripNulls'>, 'J_S_O_N_TABLE': <class 'sqlglot.expressions.json.JSONTable'>, 'JSON_TYPE': <class 'sqlglot.expressions.json.JSONType'>, 'J_S_O_N_VALUE_ARRAY': <class 'sqlglot.expressions.query.JSONValueArray'>, 'JAROWINKLER_SIMILARITY': <class 'sqlglot.expressions.math.JarowinklerSimilarity'>, 'JUSTIFY_DAYS': <class 'sqlglot.expressions.temporal.JustifyDays'>, 'JUSTIFY_HOURS': <class 'sqlglot.expressions.temporal.JustifyHours'>, 'JUSTIFY_INTERVAL': <class 'sqlglot.expressions.temporal.JustifyInterval'>, 'KURTOSIS': <class 'sqlglot.expressions.aggregate.Kurtosis'>, 'LAG': <class 'sqlglot.expressions.aggregate.Lag'>, 'LAST': <class 'sqlglot.expressions.aggregate.Last'>, 'LAST_DAY': <class 'sqlglot.expressions.temporal.LastDay'>, 'LAST_DAY_OF_MONTH': <class 'sqlglot.expressions.temporal.LastDay'>, 'LAST_VALUE': <class 'sqlglot.expressions.aggregate.LastValue'>, 'LAX_BOOL': <class 'sqlglot.expressions.functions.LaxBool'>, 'LAX_FLOAT64': <class 'sqlglot.expressions.functions.LaxFloat64'>, 'LAX_INT64': <class 'sqlglot.expressions.functions.LaxInt64'>, 'LAX_STRING': <class 'sqlglot.expressions.functions.LaxString'>, 'LEAD': <class 'sqlglot.expressions.aggregate.Lead'>, 'LEAST': <class 'sqlglot.expressions.functions.Least'>, 'LEFT': <class 'sqlglot.expressions.string.Left'>, 'LENGTH': <class 'sqlglot.expressions.string.Length'>, 'LEN': <class 'sqlglot.expressions.string.Length'>, 'CHAR_LENGTH': <class 'sqlglot.expressions.string.Length'>, 'CHARACTER_LENGTH': <class 'sqlglot.expressions.string.Length'>, 'LEVENSHTEIN': <class 'sqlglot.expressions.string.Levenshtein'>, 'LIST': <class 'sqlglot.expressions.array.List'>, 'LN': <class 'sqlglot.expressions.math.Ln'>, 'LOCALTIME': <class 'sqlglot.expressions.temporal.Localtime'>, 'LOCALTIMESTAMP': <class 'sqlglot.expressions.temporal.Localtimestamp'>, 'LOG': <class 'sqlglot.expressions.math.Log'>, 'LOGICAL_AND': <class 'sqlglot.expressions.aggregate.LogicalAnd'>, 'BOOL_AND': <class 'sqlglot.expressions.aggregate.LogicalAnd'>, 'BOOLAND_AGG': <class 'sqlglot.expressions.aggregate.LogicalAnd'>, 'LOGICAL_OR': <class 'sqlglot.expressions.aggregate.LogicalOr'>, 'BOOL_OR': <class 'sqlglot.expressions.aggregate.LogicalOr'>, 'BOOLOR_AGG': <class 'sqlglot.expressions.aggregate.LogicalOr'>, 'LOWER': <class 'sqlglot.expressions.string.Lower'>, 'LCASE': <class 'sqlglot.expressions.string.Lower'>, 'LOWER_HEX': <class 'sqlglot.expressions.string.LowerHex'>, 'MD5': <class 'sqlglot.expressions.string.MD5'>, 'MD5_DIGEST': <class 'sqlglot.expressions.string.MD5Digest'>, 'M_D5_NUMBER_LOWER64': <class 'sqlglot.expressions.string.MD5NumberLower64'>, 'M_D5_NUMBER_UPPER64': <class 'sqlglot.expressions.string.MD5NumberUpper64'>, 'M_L_FORECAST': <class 'sqlglot.expressions.functions.MLForecast'>, 'M_L_TRANSLATE': <class 'sqlglot.expressions.functions.MLTranslate'>, 'MAKE_INTERVAL': <class 'sqlglot.expressions.temporal.MakeInterval'>, 'MANHATTAN_DISTANCE': <class 'sqlglot.expressions.math.ManhattanDistance'>, 'MAP': <class 'sqlglot.expressions.array.Map'>, 'MAP_CAT': <class 'sqlglot.expressions.array.MapCat'>, 'MAP_CONTAINS_KEY': <class 'sqlglot.expressions.array.MapContainsKey'>, 'MAP_DELETE': <class 'sqlglot.expressions.array.MapDelete'>, 'MAP_FROM_ENTRIES': <class 'sqlglot.expressions.array.MapFromEntries'>, 'MAP_INSERT': <class 'sqlglot.expressions.array.MapInsert'>, 'MAP_KEYS': <class 'sqlglot.expressions.array.MapKeys'>, 'MAP_PICK': <class 'sqlglot.expressions.array.MapPick'>, 'MAP_SIZE': <class 'sqlglot.expressions.array.MapSize'>, 'MATCH_AGAINST': <class 'sqlglot.expressions.string.MatchAgainst'>, 'MAX': <class 'sqlglot.expressions.aggregate.Max'>, 'MEDIAN': <class 'sqlglot.expressions.aggregate.Median'>, 'MIN': <class 'sqlglot.expressions.aggregate.Min'>, 'MINHASH': <class 'sqlglot.expressions.aggregate.Minhash'>, 'MINHASH_COMBINE': <class 'sqlglot.expressions.aggregate.MinhashCombine'>, 'MINUTE': <class 'sqlglot.expressions.temporal.Minute'>, 'MODE': <class 'sqlglot.expressions.aggregate.Mode'>, 'MONTH': <class 'sqlglot.expressions.temporal.Month'>, 'MONTHNAME': <class 'sqlglot.expressions.temporal.Monthname'>, 'MONTHS_BETWEEN': <class 'sqlglot.expressions.temporal.MonthsBetween'>, 'NET_FUNC': <class 'sqlglot.expressions.functions.NetFunc'>, 'NEXT_DAY': <class 'sqlglot.expressions.temporal.NextDay'>, 'NEXT_VALUE_FOR': <class 'sqlglot.expressions.ddl.NextValueFor'>, 'NORMAL': <class 'sqlglot.expressions.functions.Normal'>, 'NORMALIZE': <class 'sqlglot.expressions.string.Normalize'>, 'NTH_VALUE': <class 'sqlglot.expressions.aggregate.NthValue'>, 'NTILE': <class 'sqlglot.expressions.aggregate.Ntile'>, 'NULLIF': <class 'sqlglot.expressions.functions.Nullif'>, 'NUMBER_TO_STR': <class 'sqlglot.expressions.string.NumberToStr'>, 'NVL2': <class 'sqlglot.expressions.functions.Nvl2'>, 'OBJECT_AGG': <class 'sqlglot.expressions.aggregate.ObjectAgg'>, 'OBJECT_ID': <class 'sqlglot.expressions.json.ObjectId'>, 'OBJECT_INSERT': <class 'sqlglot.expressions.json.ObjectInsert'>, 'OPEN_J_S_O_N': <class 'sqlglot.expressions.json.OpenJSON'>, 'OR': <class 'sqlglot.expressions.core.Or'>, 'OVERLAY': <class 'sqlglot.expressions.string.Overlay'>, 'PAD': <class 'sqlglot.expressions.string.Pad'>, 'PARAMETERIZED_AGG': <class 'sqlglot.expressions.core.ParameterizedAgg'>, 'PARSE_BIGNUMERIC': <class 'sqlglot.expressions.string.ParseBignumeric'>, 'PARSE_DATETIME': <class 'sqlglot.expressions.temporal.ParseDatetime'>, 'PARSE_IP': <class 'sqlglot.expressions.functions.ParseIp'>, 'PARSE_JSON': <class 'sqlglot.expressions.json.ParseJSON'>, 'JSON_PARSE': <class 'sqlglot.expressions.json.ParseJSON'>, 'PARSE_NUMERIC': <class 'sqlglot.expressions.string.ParseNumeric'>, 'PARSE_TIME': <class 'sqlglot.expressions.temporal.ParseTime'>, 'PARSE_URL': <class 'sqlglot.expressions.string.ParseUrl'>, 'PERCENT_RANK': <class 'sqlglot.expressions.aggregate.PercentRank'>, 'PERCENTILE_CONT': <class 'sqlglot.expressions.aggregate.PercentileCont'>, 'PERCENTILE_DISC': <class 'sqlglot.expressions.aggregate.PercentileDisc'>, 'PI': <class 'sqlglot.expressions.math.Pi'>, 'POSEXPLODE': <class 'sqlglot.expressions.array.Posexplode'>, 'POSEXPLODE_OUTER': <class 'sqlglot.expressions.array.PosexplodeOuter'>, 'POWER': <class 'sqlglot.expressions.core.Pow'>, 'POW': <class 'sqlglot.expressions.core.Pow'>, 'PREDICT': <class 'sqlglot.expressions.functions.Predict'>, 'PREVIOUS_DAY': <class 'sqlglot.expressions.temporal.PreviousDay'>, 'QUANTILE': <class 'sqlglot.expressions.aggregate.Quantile'>, 'QUARTER': <class 'sqlglot.expressions.temporal.Quarter'>, 'RADIANS': <class 'sqlglot.expressions.math.Radians'>, 'RAND': <class 'sqlglot.expressions.functions.Rand'>, 'RANDOM': <class 'sqlglot.expressions.functions.Rand'>, 'RANDN': <class 'sqlglot.expressions.functions.Randn'>, 'RANDSTR': <class 'sqlglot.expressions.functions.Randstr'>, 'RANGE_BUCKET': <class 'sqlglot.expressions.functions.RangeBucket'>, 'RANGE_N': <class 'sqlglot.expressions.functions.RangeN'>, 'RANK': <class 'sqlglot.expressions.aggregate.Rank'>, 'READ_CSV': <class 'sqlglot.expressions.functions.ReadCSV'>, 'READ_PARQUET': <class 'sqlglot.expressions.functions.ReadParquet'>, 'REDUCE': <class 'sqlglot.expressions.array.Reduce'>, 'REG_DOMAIN': <class 'sqlglot.expressions.functions.RegDomain'>, 'REGEXP_COUNT': <class 'sqlglot.expressions.string.RegexpCount'>, 'REGEXP_EXTRACT': <class 'sqlglot.expressions.string.RegexpExtract'>, 'REGEXP_EXTRACT_ALL': <class 'sqlglot.expressions.string.RegexpExtractAll'>, 'REGEXP_FULL_MATCH': <class 'sqlglot.expressions.string.RegexpFullMatch'>, 'REGEXP_I_LIKE': <class 'sqlglot.expressions.string.RegexpILike'>, 'REGEXP_INSTR': <class 'sqlglot.expressions.string.RegexpInstr'>, 'REGEXP_LIKE': <class 'sqlglot.expressions.core.RegexpLike'>, 'REGEXP_REPLACE': <class 'sqlglot.expressions.string.RegexpReplace'>, 'REGEXP_SPLIT': <class 'sqlglot.expressions.string.RegexpSplit'>, 'REGR_AVGX': <class 'sqlglot.expressions.aggregate.RegrAvgx'>, 'REGR_AVGY': <class 'sqlglot.expressions.aggregate.RegrAvgy'>, 'REGR_COUNT': <class 'sqlglot.expressions.aggregate.RegrCount'>, 'REGR_INTERCEPT': <class 'sqlglot.expressions.aggregate.RegrIntercept'>, 'REGR_R2': <class 'sqlglot.expressions.aggregate.RegrR2'>, 'REGR_SLOPE': <class 'sqlglot.expressions.aggregate.RegrSlope'>, 'REGR_SXX': <class 'sqlglot.expressions.aggregate.RegrSxx'>, 'REGR_SXY': <class 'sqlglot.expressions.aggregate.RegrSxy'>, 'REGR_SYY': <class 'sqlglot.expressions.aggregate.RegrSyy'>, 'REGR_VALX': <class 'sqlglot.expressions.aggregate.RegrValx'>, 'REGR_VALY': <class 'sqlglot.expressions.aggregate.RegrValy'>, 'REPEAT': <class 'sqlglot.expressions.string.Repeat'>, 'REPLACE': <class 'sqlglot.expressions.string.Replace'>, 'REVERSE': <class 'sqlglot.expressions.string.Reverse'>, 'RIGHT': <class 'sqlglot.expressions.string.Right'>, 'ROUND': <class 'sqlglot.expressions.math.Round'>, 'ROW_NUMBER': <class 'sqlglot.expressions.aggregate.RowNumber'>, 'RTRIMMED_LENGTH': <class 'sqlglot.expressions.string.RtrimmedLength'>, 'SHA': <class 'sqlglot.expressions.string.SHA'>, 'SHA1': <class 'sqlglot.expressions.string.SHA'>, 'S_H_A1_DIGEST': <class 'sqlglot.expressions.string.SHA1Digest'>, 'SHA2': <class 'sqlglot.expressions.string.SHA2'>, 'S_H_A2_DIGEST': <class 'sqlglot.expressions.string.SHA2Digest'>, 'SAFE_ADD': <class 'sqlglot.expressions.math.SafeAdd'>, 'SAFE_CONVERT_BYTES_TO_STRING': <class 'sqlglot.expressions.string.SafeConvertBytesToString'>, 'SAFE_DIVIDE': <class 'sqlglot.expressions.math.SafeDivide'>, 'SAFE_FUNC': <class 'sqlglot.expressions.core.SafeFunc'>, 'SAFE_MULTIPLY': <class 'sqlglot.expressions.math.SafeMultiply'>, 'SAFE_NEGATE': <class 'sqlglot.expressions.math.SafeNegate'>, 'SAFE_SUBTRACT': <class 'sqlglot.expressions.math.SafeSubtract'>, 'SEARCH': <class 'sqlglot.expressions.string.Search'>, 'SEARCH_IP': <class 'sqlglot.expressions.string.SearchIp'>, 'SEC': <class 'sqlglot.expressions.math.Sec'>, 'SECH': <class 'sqlglot.expressions.math.Sech'>, 'SECOND': <class 'sqlglot.expressions.temporal.Second'>, 'SEQ1': <class 'sqlglot.expressions.functions.Seq1'>, 'SEQ2': <class 'sqlglot.expressions.functions.Seq2'>, 'SEQ4': <class 'sqlglot.expressions.functions.Seq4'>, 'SEQ8': <class 'sqlglot.expressions.functions.Seq8'>, 'SESSION_USER': <class 'sqlglot.expressions.functions.SessionUser'>, 'SIGN': <class 'sqlglot.expressions.math.Sign'>, 'SIGNUM': <class 'sqlglot.expressions.math.Sign'>, 'SIN': <class 'sqlglot.expressions.math.Sin'>, 'SINH': <class 'sqlglot.expressions.math.Sinh'>, 'SKEWNESS': <class 'sqlglot.expressions.aggregate.Skewness'>, 'SORT_ARRAY': <class 'sqlglot.expressions.array.SortArray'>, 'SOUNDEX': <class 'sqlglot.expressions.string.Soundex'>, 'SOUNDEX_P123': <class 'sqlglot.expressions.string.SoundexP123'>, 'SPACE': <class 'sqlglot.expressions.string.Space'>, 'SPLIT': <class 'sqlglot.expressions.string.Split'>, 'SPLIT_PART': <class 'sqlglot.expressions.string.SplitPart'>, 'SQRT': <class 'sqlglot.expressions.math.Sqrt'>, 'ST_DISTANCE': <class 'sqlglot.expressions.array.StDistance'>, 'ST_POINT': <class 'sqlglot.expressions.array.StPoint'>, 'ST_MAKEPOINT': <class 'sqlglot.expressions.array.StPoint'>, 'STANDARD_HASH': <class 'sqlglot.expressions.string.StandardHash'>, 'STAR_MAP': <class 'sqlglot.expressions.array.StarMap'>, 'STARTS_WITH': <class 'sqlglot.expressions.string.StartsWith'>, 'STARTSWITH': <class 'sqlglot.expressions.string.StartsWith'>, 'STDDEV': <class 'sqlglot.expressions.aggregate.Stddev'>, 'STDEV': <class 'sqlglot.expressions.aggregate.Stddev'>, 'STDDEV_POP': <class 'sqlglot.expressions.aggregate.StddevPop'>, 'STDDEV_SAMP': <class 'sqlglot.expressions.aggregate.StddevSamp'>, 'STR_POSITION': <class 'sqlglot.expressions.string.StrPosition'>, 'STR_TO_DATE': <class 'sqlglot.expressions.temporal.StrToDate'>, 'STR_TO_MAP': <class 'sqlglot.expressions.string.StrToMap'>, 'STR_TO_TIME': <class 'sqlglot.expressions.temporal.StrToTime'>, 'STR_TO_UNIX': <class 'sqlglot.expressions.temporal.StrToUnix'>, 'STRING': <class 'sqlglot.expressions.string.String'>, 'STRING_TO_ARRAY': <class 'sqlglot.expressions.array.StringToArray'>, 'SPLIT_BY_STRING': <class 'sqlglot.expressions.array.StringToArray'>, 'STRTOK_TO_ARRAY': <class 'sqlglot.expressions.array.StringToArray'>, 'STRIP_NULL_VALUE': <class 'sqlglot.expressions.json.StripNullValue'>, 'STRTOK': <class 'sqlglot.expressions.string.Strtok'>, 'STRUCT': <class 'sqlglot.expressions.array.Struct'>, 'STRUCT_EXTRACT': <class 'sqlglot.expressions.array.StructExtract'>, 'STUFF': <class 'sqlglot.expressions.string.Stuff'>, 'INSERT': <class 'sqlglot.expressions.string.Stuff'>, 'SUBSTRING': <class 'sqlglot.expressions.string.Substring'>, 'SUBSTR': <class 'sqlglot.expressions.string.Substring'>, 'SUBSTRING_INDEX': <class 'sqlglot.expressions.string.SubstringIndex'>, 'SUM': <class 'sqlglot.expressions.aggregate.Sum'>, 'SYSTIMESTAMP': <class 'sqlglot.expressions.temporal.Systimestamp'>, 'TAN': <class 'sqlglot.expressions.math.Tan'>, 'TANH': <class 'sqlglot.expressions.math.Tanh'>, 'TIME': <class 'sqlglot.expressions.temporal.Time'>, 'TIME_ADD': <class 'sqlglot.expressions.temporal.TimeAdd'>, 'TIME_DIFF': <class 'sqlglot.expressions.temporal.TimeDiff'>, 'TIME_FROM_PARTS': <class 'sqlglot.expressions.temporal.TimeFromParts'>, 'TIMEFROMPARTS': <class 'sqlglot.expressions.temporal.TimeFromParts'>, 'TIME_SLICE': <class 'sqlglot.expressions.temporal.TimeSlice'>, 'TIME_STR_TO_DATE': <class 'sqlglot.expressions.temporal.TimeStrToDate'>, 'TIME_STR_TO_TIME': <class 'sqlglot.expressions.temporal.TimeStrToTime'>, 'TIME_STR_TO_UNIX': <class 'sqlglot.expressions.temporal.TimeStrToUnix'>, 'TIME_SUB': <class 'sqlglot.expressions.temporal.TimeSub'>, 'TIME_TO_STR': <class 'sqlglot.expressions.temporal.TimeToStr'>, 'TIME_TO_TIME_STR': <class 'sqlglot.expressions.temporal.TimeToTimeStr'>, 'TIME_TO_UNIX': <class 'sqlglot.expressions.temporal.TimeToUnix'>, 'TIME_TRUNC': <class 'sqlglot.expressions.temporal.TimeTrunc'>, 'TIMESTAMP': <class 'sqlglot.expressions.temporal.Timestamp'>, 'TIMESTAMP_ADD': <class 'sqlglot.expressions.temporal.TimestampAdd'>, 'TIMESTAMPDIFF': <class 'sqlglot.expressions.temporal.TimestampDiff'>, 'TIMESTAMP_DIFF': <class 'sqlglot.expressions.temporal.TimestampDiff'>, 'TIMESTAMP_FROM_PARTS': <class 'sqlglot.expressions.temporal.TimestampFromParts'>, 'TIMESTAMPFROMPARTS': <class 'sqlglot.expressions.temporal.TimestampFromParts'>, 'TIMESTAMP_LTZ_FROM_PARTS': <class 'sqlglot.expressions.temporal.TimestampLtzFromParts'>, 'TIMESTAMPLTZFROMPARTS': <class 'sqlglot.expressions.temporal.TimestampLtzFromParts'>, 'TIMESTAMP_SUB': <class 'sqlglot.expressions.temporal.TimestampSub'>, 'TIMESTAMP_TRUNC': <class 'sqlglot.expressions.temporal.TimestampTrunc'>, 'TIMESTAMP_TZ_FROM_PARTS': <class 'sqlglot.expressions.temporal.TimestampTzFromParts'>, 'TIMESTAMPTZFROMPARTS': <class 'sqlglot.expressions.temporal.TimestampTzFromParts'>, 'TO_ARRAY': <class 'sqlglot.expressions.array.ToArray'>, 'TO_BASE32': <class 'sqlglot.expressions.string.ToBase32'>, 'TO_BASE64': <class 'sqlglot.expressions.string.ToBase64'>, 'TO_BINARY': <class 'sqlglot.expressions.string.ToBinary'>, 'TO_BOOLEAN': <class 'sqlglot.expressions.functions.ToBoolean'>, 'TO_CHAR': <class 'sqlglot.expressions.string.ToChar'>, 'TO_CODE_POINTS': <class 'sqlglot.expressions.string.ToCodePoints'>, 'TO_DAYS': <class 'sqlglot.expressions.temporal.ToDays'>, 'TO_DECFLOAT': <class 'sqlglot.expressions.string.ToDecfloat'>, 'TO_DOUBLE': <class 'sqlglot.expressions.string.ToDouble'>, 'TO_FILE': <class 'sqlglot.expressions.string.ToFile'>, 'TO_MAP': <class 'sqlglot.expressions.array.ToMap'>, 'TO_NUMBER': <class 'sqlglot.expressions.string.ToNumber'>, 'TO_VARIANT': <class 'sqlglot.expressions.functions.ToVariant'>, 'TRANSFORM': <class 'sqlglot.expressions.array.Transform'>, 'TRANSLATE': <class 'sqlglot.expressions.string.Translate'>, 'TRIM': <class 'sqlglot.expressions.string.Trim'>, 'TRUNC': <class 'sqlglot.expressions.math.Trunc'>, 'TRUNCATE': <class 'sqlglot.expressions.math.Trunc'>, 'TRY': <class 'sqlglot.expressions.functions.Try'>, 'TRY_BASE64_DECODE_BINARY': <class 'sqlglot.expressions.string.TryBase64DecodeBinary'>, 'TRY_BASE64_DECODE_STRING': <class 'sqlglot.expressions.string.TryBase64DecodeString'>, 'TRY_CAST': <class 'sqlglot.expressions.functions.TryCast'>, 'TRY_HEX_DECODE_BINARY': <class 'sqlglot.expressions.string.TryHexDecodeBinary'>, 'TRY_HEX_DECODE_STRING': <class 'sqlglot.expressions.string.TryHexDecodeString'>, 'TRY_TO_DECFLOAT': <class 'sqlglot.expressions.string.TryToDecfloat'>, 'TS_OR_DI_TO_DI': <class 'sqlglot.expressions.temporal.TsOrDiToDi'>, 'TS_OR_DS_ADD': <class 'sqlglot.expressions.temporal.TsOrDsAdd'>, 'TS_OR_DS_DIFF': <class 'sqlglot.expressions.temporal.TsOrDsDiff'>, 'TS_OR_DS_TO_DATE': <class 'sqlglot.expressions.temporal.TsOrDsToDate'>, 'TS_OR_DS_TO_DATE_STR': <class 'sqlglot.expressions.temporal.TsOrDsToDateStr'>, 'TS_OR_DS_TO_DATETIME': <class 'sqlglot.expressions.temporal.TsOrDsToDatetime'>, 'TS_OR_DS_TO_TIME': <class 'sqlglot.expressions.temporal.TsOrDsToTime'>, 'TS_OR_DS_TO_TIMESTAMP': <class 'sqlglot.expressions.temporal.TsOrDsToTimestamp'>, 'TYPEOF': <class 'sqlglot.expressions.core.Typeof'>, 'UNHEX': <class 'sqlglot.expressions.string.Unhex'>, 'UNICODE': <class 'sqlglot.expressions.string.Unicode'>, 'UNIFORM': <class 'sqlglot.expressions.functions.Uniform'>, 'UNIX_DATE': <class 'sqlglot.expressions.temporal.UnixDate'>, 'UNIX_MICROS': <class 'sqlglot.expressions.temporal.UnixMicros'>, 'UNIX_MILLIS': <class 'sqlglot.expressions.temporal.UnixMillis'>, 'UNIX_SECONDS': <class 'sqlglot.expressions.temporal.UnixSeconds'>, 'UNIX_TO_STR': <class 'sqlglot.expressions.temporal.UnixToStr'>, 'UNIX_TO_TIME': <class 'sqlglot.expressions.temporal.UnixToTime'>, 'UNIX_TO_TIME_STR': <class 'sqlglot.expressions.temporal.UnixToTimeStr'>, 'UNNEST': <class 'sqlglot.expressions.array.Unnest'>, 'UPPER': <class 'sqlglot.expressions.string.Upper'>, 'UCASE': <class 'sqlglot.expressions.string.Upper'>, 'UTC_DATE': <class 'sqlglot.expressions.temporal.UtcDate'>, 'UTC_TIME': <class 'sqlglot.expressions.temporal.UtcTime'>, 'UTC_TIMESTAMP': <class 'sqlglot.expressions.temporal.UtcTimestamp'>, 'UUID': <class 'sqlglot.expressions.functions.Uuid'>, 'GEN_RANDOM_UUID': <class 'sqlglot.expressions.functions.Uuid'>, 'GENERATE_UUID': <class 'sqlglot.expressions.functions.Uuid'>, 'UUID_STRING': <class 'sqlglot.expressions.functions.Uuid'>, 'VAR_MAP': <class 'sqlglot.expressions.array.VarMap'>, 'VARIANCE': <class 'sqlglot.expressions.aggregate.Variance'>, 'VARIANCE_SAMP': <class 'sqlglot.expressions.aggregate.Variance'>, 'VAR_SAMP': <class 'sqlglot.expressions.aggregate.Variance'>, 'VARIANCE_POP': <class 'sqlglot.expressions.aggregate.VariancePop'>, 'VAR_POP': <class 'sqlglot.expressions.aggregate.VariancePop'>, 'VECTOR_SEARCH': <class 'sqlglot.expressions.functions.VectorSearch'>, 'WEEK': <class 'sqlglot.expressions.temporal.Week'>, 'WEEK_OF_YEAR': <class 'sqlglot.expressions.temporal.WeekOfYear'>, 'WEEKOFYEAR': <class 'sqlglot.expressions.temporal.WeekOfYear'>, 'WEEK_START': <class 'sqlglot.expressions.functions.WeekStart'>, 'WIDTH_BUCKET': <class 'sqlglot.expressions.functions.WidthBucket'>, 'XMLELEMENT': <class 'sqlglot.expressions.functions.XMLElement'>, 'XMLGET': <class 'sqlglot.expressions.functions.XMLGet'>, 'X_M_L_TABLE': <class 'sqlglot.expressions.functions.XMLTable'>, 'XOR': <class 'sqlglot.expressions.core.Xor'>, 'YEAR': <class 'sqlglot.expressions.temporal.Year'>, 'YEAR_OF_WEEK': <class 'sqlglot.expressions.temporal.YearOfWeek'>, 'YEAROFWEEK': <class 'sqlglot.expressions.temporal.YearOfWeek'>, 'YEAR_OF_WEEK_ISO': <class 'sqlglot.expressions.temporal.YearOfWeekIso'>, 'YEAROFWEEKISO': <class 'sqlglot.expressions.temporal.YearOfWeekIso'>, 'ZIPF': <class 'sqlglot.expressions.functions.Zipf'>, 'EXPLODE_OUTER': <class 'sqlglot.expressions.array._ExplodeOuter'>}
EXPR_CLASSES: dict[str, type[sqlglot.expressions.core.Expr]] =
{'aiagg': <class 'sqlglot.expressions.aggregate.AIAgg'>, 'aiclassify': <class 'sqlglot.expressions.functions.AIClassify'>, 'aiembed': <class 'sqlglot.expressions.functions.AIEmbed'>, 'aiforecast': <class 'sqlglot.expressions.functions.AIForecast'>, 'aigenerate': <class 'sqlglot.expressions.functions.AIGenerate'>, 'aisimilarity': <class 'sqlglot.expressions.functions.AISimilarity'>, 'aisummarizeagg': <class 'sqlglot.expressions.aggregate.AISummarizeAgg'>, 'abs': <class 'sqlglot.expressions.math.Abs'>, 'acos': <class 'sqlglot.expressions.math.Acos'>, 'acosh': <class 'sqlglot.expressions.math.Acosh'>, 'add': <class 'sqlglot.expressions.core.Add'>, 'addconstraint': <class 'sqlglot.expressions.constraints.AddConstraint'>, 'addmonths': <class 'sqlglot.expressions.temporal.AddMonths'>, 'addpartition': <class 'sqlglot.expressions.query.AddPartition'>, 'adjacent': <class 'sqlglot.expressions.core.Adjacent'>, 'aggfunc': <class 'sqlglot.expressions.core.AggFunc'>, 'algorithmproperty': <class 'sqlglot.expressions.properties.AlgorithmProperty'>, 'alias': <class 'sqlglot.expressions.core.Alias'>, 'aliases': <class 'sqlglot.expressions.core.Aliases'>, 'all': <class 'sqlglot.expressions.core.All'>, 'allowedvaluesproperty': <class 'sqlglot.expressions.properties.AllowedValuesProperty'>, 'alter': <class 'sqlglot.expressions.ddl.Alter'>, 'altercolumn': <class 'sqlglot.expressions.ddl.AlterColumn'>, 'alterdiststyle': <class 'sqlglot.expressions.ddl.AlterDistStyle'>, 'alterindex': <class 'sqlglot.expressions.ddl.AlterIndex'>, 'altermodifysqlsecurity': <class 'sqlglot.expressions.ddl.AlterModifySqlSecurity'>, 'alterrename': <class 'sqlglot.expressions.ddl.AlterRename'>, 'altersession': <class 'sqlglot.expressions.ddl.AlterSession'>, 'alterset': <class 'sqlglot.expressions.ddl.AlterSet'>, 'altersortkey': <class 'sqlglot.expressions.ddl.AlterSortKey'>, 'analyze': <class 'sqlglot.expressions.query.Analyze'>, 'analyzecolumns': <class 'sqlglot.expressions.query.AnalyzeColumns'>, 'analyzedelete': <class 'sqlglot.expressions.query.AnalyzeDelete'>, 'analyzehistogram': <class 'sqlglot.expressions.query.AnalyzeHistogram'>, 'analyzelistchainedrows': <class 'sqlglot.expressions.query.AnalyzeListChainedRows'>, 'analyzesample': <class 'sqlglot.expressions.query.AnalyzeSample'>, 'analyzestatistics': <class 'sqlglot.expressions.query.AnalyzeStatistics'>, 'analyzevalidate': <class 'sqlglot.expressions.query.AnalyzeValidate'>, 'analyzewith': <class 'sqlglot.expressions.query.AnalyzeWith'>, 'and': <class 'sqlglot.expressions.core.And'>, 'anonymous': <class 'sqlglot.expressions.core.Anonymous'>, 'anonymousaggfunc': <class 'sqlglot.expressions.core.AnonymousAggFunc'>, 'any': <class 'sqlglot.expressions.core.Any'>, 'anyvalue': <class 'sqlglot.expressions.aggregate.AnyValue'>, 'apiproperty': <class 'sqlglot.expressions.properties.ApiProperty'>, 'applicationproperty': <class 'sqlglot.expressions.properties.ApplicationProperty'>, 'apply': <class 'sqlglot.expressions.array.Apply'>, 'approxdistinct': <class 'sqlglot.expressions.core.ApproxDistinct'>, 'approxpercentileaccumulate': <class 'sqlglot.expressions.aggregate.ApproxPercentileAccumulate'>, 'approxpercentilecombine': <class 'sqlglot.expressions.aggregate.ApproxPercentileCombine'>, 'approxpercentileestimate': <class 'sqlglot.expressions.aggregate.ApproxPercentileEstimate'>, 'approxquantile': <class 'sqlglot.expressions.aggregate.ApproxQuantile'>, 'approxquantiles': <class 'sqlglot.expressions.aggregate.ApproxQuantiles'>, 'approxtopk': <class 'sqlglot.expressions.aggregate.ApproxTopK'>, 'approxtopkaccumulate': <class 'sqlglot.expressions.aggregate.ApproxTopKAccumulate'>, 'approxtopkcombine': <class 'sqlglot.expressions.aggregate.ApproxTopKCombine'>, 'approxtopkestimate': <class 'sqlglot.expressions.aggregate.ApproxTopKEstimate'>, 'approxtopsum': <class 'sqlglot.expressions.aggregate.ApproxTopSum'>, 'approximatesimilarity': <class 'sqlglot.expressions.aggregate.ApproximateSimilarity'>, 'argmax': <class 'sqlglot.expressions.aggregate.ArgMax'>, 'argmin': <class 'sqlglot.expressions.aggregate.ArgMin'>, 'array': <class 'sqlglot.expressions.array.Array'>, 'arrayagg': <class 'sqlglot.expressions.aggregate.ArrayAgg'>, 'arrayall': <class 'sqlglot.expressions.array.ArrayAll'>, 'arrayany': <class 'sqlglot.expressions.array.ArrayAny'>, 'arrayappend': <class 'sqlglot.expressions.array.ArrayAppend'>, 'arraycompact': <class 'sqlglot.expressions.array.ArrayCompact'>, 'arrayconcat': <class 'sqlglot.expressions.array.ArrayConcat'>, 'arrayconcatagg': <class 'sqlglot.expressions.aggregate.ArrayConcatAgg'>, 'arrayconstructcompact': <class 'sqlglot.expressions.array.ArrayConstructCompact'>, 'arraycontains': <class 'sqlglot.expressions.array.ArrayContains'>, 'arraycontainsall': <class 'sqlglot.expressions.array.ArrayContainsAll'>, 'arraydistinct': <class 'sqlglot.expressions.array.ArrayDistinct'>, 'arrayexcept': <class 'sqlglot.expressions.array.ArrayExcept'>, 'arrayfilter': <class 'sqlglot.expressions.array.ArrayFilter'>, 'arrayfirst': <class 'sqlglot.expressions.array.ArrayFirst'>, 'arrayinsert': <class 'sqlglot.expressions.array.ArrayInsert'>, 'arrayintersect': <class 'sqlglot.expressions.array.ArrayIntersect'>, 'arraylast': <class 'sqlglot.expressions.array.ArrayLast'>, 'arraymax': <class 'sqlglot.expressions.array.ArrayMax'>, 'arraymin': <class 'sqlglot.expressions.array.ArrayMin'>, 'arrayoverlaps': <class 'sqlglot.expressions.array.ArrayOverlaps'>, 'arrayposition': <class 'sqlglot.expressions.array.ArrayPosition'>, 'arrayprepend': <class 'sqlglot.expressions.array.ArrayPrepend'>, 'arrayremove': <class 'sqlglot.expressions.array.ArrayRemove'>, 'arrayremoveat': <class 'sqlglot.expressions.array.ArrayRemoveAt'>, 'arrayreverse': <class 'sqlglot.expressions.array.ArrayReverse'>, 'arraysize': <class 'sqlglot.expressions.array.ArraySize'>, 'arrayslice': <class 'sqlglot.expressions.array.ArraySlice'>, 'arraysort': <class 'sqlglot.expressions.array.ArraySort'>, 'arraysum': <class 'sqlglot.expressions.array.ArraySum'>, 'arraytostring': <class 'sqlglot.expressions.array.ArrayToString'>, 'arrayunionagg': <class 'sqlglot.expressions.aggregate.ArrayUnionAgg'>, 'arrayuniqueagg': <class 'sqlglot.expressions.aggregate.ArrayUniqueAgg'>, 'arrayszip': <class 'sqlglot.expressions.array.ArraysZip'>, 'ascii': <class 'sqlglot.expressions.string.Ascii'>, 'asin': <class 'sqlglot.expressions.math.Asin'>, 'asinh': <class 'sqlglot.expressions.math.Asinh'>, 'assumecolumnconstraint': <class 'sqlglot.expressions.constraints.AssumeColumnConstraint'>, 'atindex': <class 'sqlglot.expressions.core.AtIndex'>, 'attimezone': <class 'sqlglot.expressions.core.AtTimeZone'>, 'atan': <class 'sqlglot.expressions.math.Atan'>, 'atan2': <class 'sqlglot.expressions.math.Atan2'>, 'atanh': <class 'sqlglot.expressions.math.Atanh'>, 'attach': <class 'sqlglot.expressions.ddl.Attach'>, 'attachoption': <class 'sqlglot.expressions.query.AttachOption'>, 'autoincrementcolumnconstraint': <class 'sqlglot.expressions.constraints.AutoIncrementColumnConstraint'>, 'autoincrementproperty': <class 'sqlglot.expressions.properties.AutoIncrementProperty'>, 'autorefreshproperty': <class 'sqlglot.expressions.properties.AutoRefreshProperty'>, 'avg': <class 'sqlglot.expressions.aggregate.Avg'>, 'backupproperty': <class 'sqlglot.expressions.properties.BackupProperty'>, 'base64decodebinary': <class 'sqlglot.expressions.string.Base64DecodeBinary'>, 'base64decodestring': <class 'sqlglot.expressions.string.Base64DecodeString'>, 'base64encode': <class 'sqlglot.expressions.string.Base64Encode'>, 'between': <class 'sqlglot.expressions.core.Between'>, 'binary': <class 'sqlglot.expressions.core.Binary'>, 'bitlength': <class 'sqlglot.expressions.string.BitLength'>, 'bitstring': <class 'sqlglot.expressions.query.BitString'>, 'bitmapbitposition': <class 'sqlglot.expressions.math.BitmapBitPosition'>, 'bitmapbucketnumber': <class 'sqlglot.expressions.math.BitmapBucketNumber'>, 'bitmapconstructagg': <class 'sqlglot.expressions.math.BitmapConstructAgg'>, 'bitmapcount': <class 'sqlglot.expressions.math.BitmapCount'>, 'bitmaporagg': <class 'sqlglot.expressions.math.BitmapOrAgg'>, 'bitwiseand': <class 'sqlglot.expressions.core.BitwiseAnd'>, 'bitwiseandagg': <class 'sqlglot.expressions.math.BitwiseAndAgg'>, 'bitwisecount': <class 'sqlglot.expressions.math.BitwiseCount'>, 'bitwiseleftshift': <class 'sqlglot.expressions.core.BitwiseLeftShift'>, 'bitwisenot': <class 'sqlglot.expressions.core.BitwiseNot'>, 'bitwiseor': <class 'sqlglot.expressions.core.BitwiseOr'>, 'bitwiseoragg': <class 'sqlglot.expressions.math.BitwiseOrAgg'>, 'bitwiserightshift': <class 'sqlglot.expressions.core.BitwiseRightShift'>, 'bitwisexor': <class 'sqlglot.expressions.core.BitwiseXor'>, 'bitwisexoragg': <class 'sqlglot.expressions.math.BitwiseXorAgg'>, 'block': <class 'sqlglot.expressions.query.Block'>, 'blockcompressionproperty': <class 'sqlglot.expressions.properties.BlockCompressionProperty'>, 'booland': <class 'sqlglot.expressions.math.Booland'>, 'boolean': <class 'sqlglot.expressions.core.Boolean'>, 'boolnot': <class 'sqlglot.expressions.math.Boolnot'>, 'boolor': <class 'sqlglot.expressions.math.Boolor'>, 'boolxoragg': <class 'sqlglot.expressions.math.BoolxorAgg'>, 'bracket': <class 'sqlglot.expressions.core.Bracket'>, 'buildproperty': <class 'sqlglot.expressions.properties.BuildProperty'>, 'bytelength': <class 'sqlglot.expressions.string.ByteLength'>, 'bytestring': <class 'sqlglot.expressions.query.ByteString'>, 'cte': <class 'sqlglot.expressions.query.CTE'>, 'cache': <class 'sqlglot.expressions.core.Cache'>, 'case': <class 'sqlglot.expressions.functions.Case'>, 'casespecificcolumnconstraint': <class 'sqlglot.expressions.constraints.CaseSpecificColumnConstraint'>, 'cast': <class 'sqlglot.expressions.functions.Cast'>, 'casttostrtype': <class 'sqlglot.expressions.functions.CastToStrType'>, 'catalogproperty': <class 'sqlglot.expressions.properties.CatalogProperty'>, 'cbrt': <class 'sqlglot.expressions.math.Cbrt'>, 'ceil': <class 'sqlglot.expressions.math.Ceil'>, 'changes': <class 'sqlglot.expressions.query.Changes'>, 'characterset': <class 'sqlglot.expressions.ddl.CharacterSet'>, 'charactersetcolumnconstraint': <class 'sqlglot.expressions.constraints.CharacterSetColumnConstraint'>, 'charactersetproperty': <class 'sqlglot.expressions.properties.CharacterSetProperty'>, 'check': <class 'sqlglot.expressions.core.Check'>, 'checkcolumnconstraint': <class 'sqlglot.expressions.constraints.CheckColumnConstraint'>, 'checkjson': <class 'sqlglot.expressions.json.CheckJson'>, 'checkxml': <class 'sqlglot.expressions.functions.CheckXml'>, 'checksumproperty': <class 'sqlglot.expressions.properties.ChecksumProperty'>, 'chr': <class 'sqlglot.expressions.string.Chr'>, 'cityhash64': <class 'sqlglot.expressions.string.CityHash64'>, 'clone': <class 'sqlglot.expressions.ddl.Clone'>, 'cluster': <class 'sqlglot.expressions.query.Cluster'>, 'clusteredbyproperty': <class 'sqlglot.expressions.properties.ClusteredByProperty'>, 'clusteredcolumnconstraint': <class 'sqlglot.expressions.constraints.ClusteredColumnConstraint'>, 'coalesce': <class 'sqlglot.expressions.functions.Coalesce'>, 'codepointstobytes': <class 'sqlglot.expressions.string.CodePointsToBytes'>, 'codepointstostring': <class 'sqlglot.expressions.string.CodePointsToString'>, 'collate': <class 'sqlglot.expressions.functions.Collate'>, 'collatecolumnconstraint': <class 'sqlglot.expressions.constraints.CollateColumnConstraint'>, 'collateproperty': <class 'sqlglot.expressions.properties.CollateProperty'>, 'collation': <class 'sqlglot.expressions.functions.Collation'>, 'column': <class 'sqlglot.expressions.core.Column'>, 'columnconstraint': <class 'sqlglot.expressions.constraints.ColumnConstraint'>, 'columnconstraintkind': <class 'sqlglot.expressions.core.ColumnConstraintKind'>, 'columndef': <class 'sqlglot.expressions.query.ColumnDef'>, 'columnposition': <class 'sqlglot.expressions.query.ColumnPosition'>, 'columnprefix': <class 'sqlglot.expressions.constraints.ColumnPrefix'>, 'columns': <class 'sqlglot.expressions.functions.Columns'>, 'combinedaggfunc': <class 'sqlglot.expressions.core.CombinedAggFunc'>, 'combinedparameterizedagg': <class 'sqlglot.expressions.core.CombinedParameterizedAgg'>, 'command': <class 'sqlglot.expressions.ddl.Command'>, 'comment': <class 'sqlglot.expressions.ddl.Comment'>, 'commentcolumnconstraint': <class 'sqlglot.expressions.constraints.CommentColumnConstraint'>, 'commit': <class 'sqlglot.expressions.ddl.Commit'>, 'comprehension': <class 'sqlglot.expressions.ddl.Comprehension'>, 'compress': <class 'sqlglot.expressions.string.Compress'>, 'compresscolumnconstraint': <class 'sqlglot.expressions.constraints.CompressColumnConstraint'>, 'computeproperty': <class 'sqlglot.expressions.properties.ComputeProperty'>, 'computedcolumnconstraint': <class 'sqlglot.expressions.constraints.ComputedColumnConstraint'>, 'concat': <class 'sqlglot.expressions.string.Concat'>, 'concatws': <class 'sqlglot.expressions.string.ConcatWs'>, 'condition': <class 'sqlglot.expressions.core.Condition'>, 'conditionalinsert': <class 'sqlglot.expressions.query.ConditionalInsert'>, 'connect': <class 'sqlglot.expressions.query.Connect'>, 'connectbyroot': <class 'sqlglot.expressions.functions.ConnectByRoot'>, 'connector': <class 'sqlglot.expressions.core.Connector'>, 'constraint': <class 'sqlglot.expressions.constraints.Constraint'>, 'contains': <class 'sqlglot.expressions.string.Contains'>, 'convert': <class 'sqlglot.expressions.functions.Convert'>, 'converttimezone': <class 'sqlglot.expressions.temporal.ConvertTimezone'>, 'converttocharset': <class 'sqlglot.expressions.string.ConvertToCharset'>, 'copy': <class 'sqlglot.expressions.dml.Copy'>, 'copygrantsproperty': <class 'sqlglot.expressions.properties.CopyGrantsProperty'>, 'copyparameter': <class 'sqlglot.expressions.dml.CopyParameter'>, 'corr': <class 'sqlglot.expressions.aggregate.Corr'>, 'cos': <class 'sqlglot.expressions.math.Cos'>, 'cosh': <class 'sqlglot.expressions.math.Cosh'>, 'cosinedistance': <class 'sqlglot.expressions.math.CosineDistance'>, 'cot': <class 'sqlglot.expressions.math.Cot'>, 'coth': <class 'sqlglot.expressions.math.Coth'>, 'count': <class 'sqlglot.expressions.aggregate.Count'>, 'countif': <class 'sqlglot.expressions.aggregate.CountIf'>, 'covarpop': <class 'sqlglot.expressions.aggregate.CovarPop'>, 'covarsamp': <class 'sqlglot.expressions.aggregate.CovarSamp'>, 'create': <class 'sqlglot.expressions.ddl.Create'>, 'credentials': <class 'sqlglot.expressions.dml.Credentials'>, 'credentialsproperty': <class 'sqlglot.expressions.properties.CredentialsProperty'>, 'csc': <class 'sqlglot.expressions.math.Csc'>, 'csch': <class 'sqlglot.expressions.math.Csch'>, 'cube': <class 'sqlglot.expressions.query.Cube'>, 'cumedist': <class 'sqlglot.expressions.aggregate.CumeDist'>, 'currentaccount': <class 'sqlglot.expressions.functions.CurrentAccount'>, 'currentaccountname': <class 'sqlglot.expressions.functions.CurrentAccountName'>, 'currentavailableroles': <class 'sqlglot.expressions.functions.CurrentAvailableRoles'>, 'currentcatalog': <class 'sqlglot.expressions.functions.CurrentCatalog'>, 'currentclient': <class 'sqlglot.expressions.functions.CurrentClient'>, 'currentdatabase': <class 'sqlglot.expressions.functions.CurrentDatabase'>, 'currentdate': <class 'sqlglot.expressions.temporal.CurrentDate'>, 'currentdatetime': <class 'sqlglot.expressions.temporal.CurrentDatetime'>, 'currentipaddress': <class 'sqlglot.expressions.functions.CurrentIpAddress'>, 'currentorganizationname': <class 'sqlglot.expressions.functions.CurrentOrganizationName'>, 'currentorganizationuser': <class 'sqlglot.expressions.functions.CurrentOrganizationUser'>, 'currentregion': <class 'sqlglot.expressions.functions.CurrentRegion'>, 'currentrole': <class 'sqlglot.expressions.functions.CurrentRole'>, 'currentroletype': <class 'sqlglot.expressions.functions.CurrentRoleType'>, 'currentschema': <class 'sqlglot.expressions.functions.CurrentSchema'>, 'currentschemas': <class 'sqlglot.expressions.functions.CurrentSchemas'>, 'currentsecondaryroles': <class 'sqlglot.expressions.functions.CurrentSecondaryRoles'>, 'currentsession': <class 'sqlglot.expressions.functions.CurrentSession'>, 'currentstatement': <class 'sqlglot.expressions.functions.CurrentStatement'>, 'currenttime': <class 'sqlglot.expressions.temporal.CurrentTime'>, 'currenttimestamp': <class 'sqlglot.expressions.temporal.CurrentTimestamp'>, 'currenttimestampltz': <class 'sqlglot.expressions.temporal.CurrentTimestampLTZ'>, 'currenttimezone': <class 'sqlglot.expressions.temporal.CurrentTimezone'>, 'currenttransaction': <class 'sqlglot.expressions.functions.CurrentTransaction'>, 'currentuser': <class 'sqlglot.expressions.functions.CurrentUser'>, 'currentversion': <class 'sqlglot.expressions.functions.CurrentVersion'>, 'currentwarehouse': <class 'sqlglot.expressions.functions.CurrentWarehouse'>, 'ddl': <class 'sqlglot.expressions.ddl.DDL'>, 'dml': <class 'sqlglot.expressions.dml.DML'>, 'dpipe': <class 'sqlglot.expressions.core.DPipe'>, 'datablocksizeproperty': <class 'sqlglot.expressions.properties.DataBlocksizeProperty'>, 'datadeletionproperty': <class 'sqlglot.expressions.properties.DataDeletionProperty'>, 'datatype': <class 'sqlglot.expressions.datatypes.DataType'>, 'datatypeparam': <class 'sqlglot.expressions.datatypes.DataTypeParam'>, 'databaseproperty': <class 'sqlglot.expressions.properties.DatabaseProperty'>, 'date': <class 'sqlglot.expressions.temporal.Date'>, 'dateadd': <class 'sqlglot.expressions.temporal.DateAdd'>, 'datebin': <class 'sqlglot.expressions.temporal.DateBin'>, 'datediff': <class 'sqlglot.expressions.temporal.DateDiff'>, 'dateformatcolumnconstraint': <class 'sqlglot.expressions.constraints.DateFormatColumnConstraint'>, 'datefromparts': <class 'sqlglot.expressions.temporal.DateFromParts'>, 'datefromunixdate': <class 'sqlglot.expressions.temporal.DateFromUnixDate'>, 'datestrtodate': <class 'sqlglot.expressions.temporal.DateStrToDate'>, 'datesub': <class 'sqlglot.expressions.temporal.DateSub'>, 'datetodatestr': <class 'sqlglot.expressions.temporal.DateToDateStr'>, 'datetodi': <class 'sqlglot.expressions.temporal.DateToDi'>, 'datetrunc': <class 'sqlglot.expressions.temporal.DateTrunc'>, 'datetime': <class 'sqlglot.expressions.temporal.Datetime'>, 'datetimeadd': <class 'sqlglot.expressions.temporal.DatetimeAdd'>, 'datetimediff': <class 'sqlglot.expressions.temporal.DatetimeDiff'>, 'datetimesub': <class 'sqlglot.expressions.temporal.DatetimeSub'>, 'datetimetrunc': <class 'sqlglot.expressions.temporal.DatetimeTrunc'>, 'day': <class 'sqlglot.expressions.temporal.Day'>, 'dayofmonth': <class 'sqlglot.expressions.temporal.DayOfMonth'>, 'dayofweek': <class 'sqlglot.expressions.temporal.DayOfWeek'>, 'dayofweekiso': <class 'sqlglot.expressions.temporal.DayOfWeekIso'>, 'dayofyear': <class 'sqlglot.expressions.temporal.DayOfYear'>, 'dayname': <class 'sqlglot.expressions.temporal.Dayname'>, 'declare': <class 'sqlglot.expressions.ddl.Declare'>, 'declareitem': <class 'sqlglot.expressions.ddl.DeclareItem'>, 'decode': <class 'sqlglot.expressions.string.Decode'>, 'decodecase': <class 'sqlglot.expressions.functions.DecodeCase'>, 'decompressbinary': <class 'sqlglot.expressions.string.DecompressBinary'>, 'decompressstring': <class 'sqlglot.expressions.string.DecompressString'>, 'decrypt': <class 'sqlglot.expressions.string.Decrypt'>, 'decryptraw': <class 'sqlglot.expressions.string.DecryptRaw'>, 'defaultcolumnconstraint': <class 'sqlglot.expressions.constraints.DefaultColumnConstraint'>, 'definerproperty': <class 'sqlglot.expressions.properties.DefinerProperty'>, 'degrees': <class 'sqlglot.expressions.math.Degrees'>, 'delete': <class 'sqlglot.expressions.dml.Delete'>, 'denserank': <class 'sqlglot.expressions.aggregate.DenseRank'>, 'derivedtable': <class 'sqlglot.expressions.query.DerivedTable'>, 'describe': <class 'sqlglot.expressions.ddl.Describe'>, 'detach': <class 'sqlglot.expressions.ddl.Detach'>, 'ditodate': <class 'sqlglot.expressions.temporal.DiToDate'>, 'dictproperty': <class 'sqlglot.expressions.properties.DictProperty'>, 'dictrange': <class 'sqlglot.expressions.properties.DictRange'>, 'dictsubproperty': <class 'sqlglot.expressions.properties.DictSubProperty'>, 'directory': <class 'sqlglot.expressions.dml.Directory'>, 'directorystage': <class 'sqlglot.expressions.dml.DirectoryStage'>, 'distkeyproperty': <class 'sqlglot.expressions.properties.DistKeyProperty'>, 'diststyleproperty': <class 'sqlglot.expressions.properties.DistStyleProperty'>, 'distance': <class 'sqlglot.expressions.core.Distance'>, 'distinct': <class 'sqlglot.expressions.core.Distinct'>, 'distribute': <class 'sqlglot.expressions.query.Distribute'>, 'distributedbyproperty': <class 'sqlglot.expressions.properties.DistributedByProperty'>, 'div': <class 'sqlglot.expressions.core.Div'>, 'dot': <class 'sqlglot.expressions.core.Dot'>, 'dotproduct': <class 'sqlglot.expressions.math.DotProduct'>, 'drop': <class 'sqlglot.expressions.ddl.Drop'>, 'droppartition': <class 'sqlglot.expressions.query.DropPartition'>, 'duplicatekeyproperty': <class 'sqlglot.expressions.properties.DuplicateKeyProperty'>, 'dynamicproperty': <class 'sqlglot.expressions.properties.DynamicProperty'>, 'eq': <class 'sqlglot.expressions.core.EQ'>, 'elt': <class 'sqlglot.expressions.string.Elt'>, 'emptyproperty': <class 'sqlglot.expressions.properties.EmptyProperty'>, 'encode': <class 'sqlglot.expressions.string.Encode'>, 'encodecolumnconstraint': <class 'sqlglot.expressions.constraints.EncodeColumnConstraint'>, 'encodeproperty': <class 'sqlglot.expressions.properties.EncodeProperty'>, 'encrypt': <class 'sqlglot.expressions.string.Encrypt'>, 'encryptraw': <class 'sqlglot.expressions.string.EncryptRaw'>, 'endstatement': <class 'sqlglot.expressions.query.EndStatement'>, 'endswith': <class 'sqlglot.expressions.string.EndsWith'>, 'engineproperty': <class 'sqlglot.expressions.properties.EngineProperty'>, 'enviromentproperty': <class 'sqlglot.expressions.properties.EnviromentProperty'>, 'ephemeralcolumnconstraint': <class 'sqlglot.expressions.constraints.EphemeralColumnConstraint'>, 'equalnull': <class 'sqlglot.expressions.functions.EqualNull'>, 'escape': <class 'sqlglot.expressions.core.Escape'>, 'euclideandistance': <class 'sqlglot.expressions.math.EuclideanDistance'>, 'except': <class 'sqlglot.expressions.query.Except'>, 'excludecolumnconstraint': <class 'sqlglot.expressions.constraints.ExcludeColumnConstraint'>, 'execute': <class 'sqlglot.expressions.ddl.Execute'>, 'executeasproperty': <class 'sqlglot.expressions.properties.ExecuteAsProperty'>, 'executesql': <class 'sqlglot.expressions.ddl.ExecuteSql'>, 'exists': <class 'sqlglot.expressions.functions.Exists'>, 'exp': <class 'sqlglot.expressions.math.Exp'>, 'explode': <class 'sqlglot.expressions.array.Explode'>, 'explodeouter': <class 'sqlglot.expressions.array.ExplodeOuter'>, 'explodinggenerateseries': <class 'sqlglot.expressions.array.ExplodingGenerateSeries'>, 'export': <class 'sqlglot.expressions.dml.Export'>, 'expression': <class 'sqlglot.expressions.core.Expression'>, 'extendsleft': <class 'sqlglot.expressions.core.ExtendsLeft'>, 'extendsright': <class 'sqlglot.expressions.core.ExtendsRight'>, 'externalproperty': <class 'sqlglot.expressions.properties.ExternalProperty'>, 'extract': <class 'sqlglot.expressions.temporal.Extract'>, 'factorial': <class 'sqlglot.expressions.math.Factorial'>, 'fallbackproperty': <class 'sqlglot.expressions.properties.FallbackProperty'>, 'farmfingerprint': <class 'sqlglot.expressions.string.FarmFingerprint'>, 'featuresattime': <class 'sqlglot.expressions.functions.FeaturesAtTime'>, 'fetch': <class 'sqlglot.expressions.query.Fetch'>, 'fileformatproperty': <class 'sqlglot.expressions.properties.FileFormatProperty'>, 'filter': <class 'sqlglot.expressions.core.Filter'>, 'final': <class 'sqlglot.expressions.query.Final'>, 'first': <class 'sqlglot.expressions.aggregate.First'>, 'firstvalue': <class 'sqlglot.expressions.aggregate.FirstValue'>, 'flatten': <class 'sqlglot.expressions.array.Flatten'>, 'float64': <class 'sqlglot.expressions.functions.Float64'>, 'floor': <class 'sqlglot.expressions.math.Floor'>, 'forin': <class 'sqlglot.expressions.core.ForIn'>, 'forceproperty': <class 'sqlglot.expressions.properties.ForceProperty'>, 'foreignkey': <class 'sqlglot.expressions.constraints.ForeignKey'>, 'format': <class 'sqlglot.expressions.string.Format'>, 'formatjson': <class 'sqlglot.expressions.query.FormatJson'>, 'formatphrase': <class 'sqlglot.expressions.core.FormatPhrase'>, 'freespaceproperty': <class 'sqlglot.expressions.properties.FreespaceProperty'>, 'from': <class 'sqlglot.expressions.query.From'>, 'frombase': <class 'sqlglot.expressions.string.FromBase'>, 'frombase32': <class 'sqlglot.expressions.string.FromBase32'>, 'frombase64': <class 'sqlglot.expressions.string.FromBase64'>, 'fromiso8601timestamp': <class 'sqlglot.expressions.temporal.FromISO8601Timestamp'>, 'fromtimezone': <class 'sqlglot.expressions.core.FromTimeZone'>, 'func': <class 'sqlglot.expressions.core.Func'>, 'gt': <class 'sqlglot.expressions.core.GT'>, 'gte': <class 'sqlglot.expressions.core.GTE'>, 'gapfill': <class 'sqlglot.expressions.temporal.GapFill'>, 'generatebool': <class 'sqlglot.expressions.functions.GenerateBool'>, 'generatedatearray': <class 'sqlglot.expressions.temporal.GenerateDateArray'>, 'generatedouble': <class 'sqlglot.expressions.functions.GenerateDouble'>, 'generateembedding': <class 'sqlglot.expressions.functions.GenerateEmbedding'>, 'generateint': <class 'sqlglot.expressions.functions.GenerateInt'>, 'generateseries': <class 'sqlglot.expressions.array.GenerateSeries'>, 'generatetable': <class 'sqlglot.expressions.functions.GenerateTable'>, 'generatetext': <class 'sqlglot.expressions.functions.GenerateText'>, 'generatetimestamparray': <class 'sqlglot.expressions.temporal.GenerateTimestampArray'>, 'generatedasidentitycolumnconstraint': <class 'sqlglot.expressions.constraints.GeneratedAsIdentityColumnConstraint'>, 'generatedasrowcolumnconstraint': <class 'sqlglot.expressions.constraints.GeneratedAsRowColumnConstraint'>, 'generator': <class 'sqlglot.expressions.array.Generator'>, 'get': <class 'sqlglot.expressions.query.Get'>, 'getextract': <class 'sqlglot.expressions.temporal.GetExtract'>, 'getbit': <class 'sqlglot.expressions.math.Getbit'>, 'glob': <class 'sqlglot.expressions.core.Glob'>, 'globalproperty': <class 'sqlglot.expressions.properties.GlobalProperty'>, 'grant': <class 'sqlglot.expressions.query.Grant'>, 'grantprincipal': <class 'sqlglot.expressions.properties.GrantPrincipal'>, 'grantprivilege': <class 'sqlglot.expressions.properties.GrantPrivilege'>, 'greatest': <class 'sqlglot.expressions.functions.Greatest'>, 'group': <class 'sqlglot.expressions.query.Group'>, 'groupconcat': <class 'sqlglot.expressions.aggregate.GroupConcat'>, 'grouping': <class 'sqlglot.expressions.aggregate.Grouping'>, 'groupingid': <class 'sqlglot.expressions.aggregate.GroupingId'>, 'groupingsets': <class 'sqlglot.expressions.query.GroupingSets'>, 'handlerproperty': <class 'sqlglot.expressions.properties.HandlerProperty'>, 'hashagg': <class 'sqlglot.expressions.core.HashAgg'>, 'having': <class 'sqlglot.expressions.query.Having'>, 'havingmax': <class 'sqlglot.expressions.core.HavingMax'>, 'heapproperty': <class 'sqlglot.expressions.properties.HeapProperty'>, 'heredoc': <class 'sqlglot.expressions.ddl.Heredoc'>, 'hex': <class 'sqlglot.expressions.string.Hex'>, 'hexdecodestring': <class 'sqlglot.expressions.string.HexDecodeString'>, 'hexencode': <class 'sqlglot.expressions.string.HexEncode'>, 'hexstring': <class 'sqlglot.expressions.query.HexString'>, 'hint': <class 'sqlglot.expressions.core.Hint'>, 'historicaldata': <class 'sqlglot.expressions.query.HistoricalData'>, 'hll': <class 'sqlglot.expressions.core.Hll'>, 'host': <class 'sqlglot.expressions.functions.Host'>, 'hour': <class 'sqlglot.expressions.temporal.Hour'>, 'hybridproperty': <class 'sqlglot.expressions.properties.HybridProperty'>, 'ilike': <class 'sqlglot.expressions.core.ILike'>, 'icebergproperty': <class 'sqlglot.expressions.properties.IcebergProperty'>, 'identifier': <class 'sqlglot.expressions.core.Identifier'>, 'if': <class 'sqlglot.expressions.functions.If'>, 'ifblock': <class 'sqlglot.expressions.query.IfBlock'>, 'ignorenulls': <class 'sqlglot.expressions.core.IgnoreNulls'>, 'in': <class 'sqlglot.expressions.core.In'>, 'inoutcolumnconstraint': <class 'sqlglot.expressions.constraints.InOutColumnConstraint'>, 'includeproperty': <class 'sqlglot.expressions.properties.IncludeProperty'>, 'index': <class 'sqlglot.expressions.query.Index'>, 'indexcolumnconstraint': <class 'sqlglot.expressions.constraints.IndexColumnConstraint'>, 'indexconstraintoption': <class 'sqlglot.expressions.constraints.IndexConstraintOption'>, 'indexparameters': <class 'sqlglot.expressions.constraints.IndexParameters'>, 'indextablehint': <class 'sqlglot.expressions.query.IndexTableHint'>, 'inheritsproperty': <class 'sqlglot.expressions.properties.InheritsProperty'>, 'initcap': <class 'sqlglot.expressions.string.Initcap'>, 'inline': <class 'sqlglot.expressions.array.Inline'>, 'inlinelengthcolumnconstraint': <class 'sqlglot.expressions.constraints.InlineLengthColumnConstraint'>, 'inputmodelproperty': <class 'sqlglot.expressions.properties.InputModelProperty'>, 'inputoutputformat': <class 'sqlglot.expressions.query.InputOutputFormat'>, 'insert': <class 'sqlglot.expressions.dml.Insert'>, 'install': <class 'sqlglot.expressions.ddl.Install'>, 'int64': <class 'sqlglot.expressions.functions.Int64'>, 'intdiv': <class 'sqlglot.expressions.core.IntDiv'>, 'intersect': <class 'sqlglot.expressions.query.Intersect'>, 'interval': <class 'sqlglot.expressions.datatypes.Interval'>, 'intervalop': <class 'sqlglot.expressions.core.IntervalOp'>, 'intervalspan': <class 'sqlglot.expressions.datatypes.IntervalSpan'>, 'into': <class 'sqlglot.expressions.query.Into'>, 'introducer': <class 'sqlglot.expressions.query.Introducer'>, 'invisiblecolumnconstraint': <class 'sqlglot.expressions.constraints.InvisibleColumnConstraint'>, 'is': <class 'sqlglot.expressions.core.Is'>, 'isarray': <class 'sqlglot.expressions.functions.IsArray'>, 'isascii': <class 'sqlglot.expressions.string.IsAscii'>, 'isinf': <class 'sqlglot.expressions.math.IsInf'>, 'isnan': <class 'sqlglot.expressions.math.IsNan'>, 'isnullvalue': <class 'sqlglot.expressions.functions.IsNullValue'>, 'isolatedloadingproperty': <class 'sqlglot.expressions.properties.IsolatedLoadingProperty'>, 'json': <class 'sqlglot.expressions.query.JSON'>, 'jsonarray': <class 'sqlglot.expressions.json.JSONArray'>, 'jsonarrayagg': <class 'sqlglot.expressions.json.JSONArrayAgg'>, 'jsonarrayappend': <class 'sqlglot.expressions.json.JSONArrayAppend'>, 'jsonarraycontains': <class 'sqlglot.expressions.json.JSONArrayContains'>, 'jsonarrayinsert': <class 'sqlglot.expressions.json.JSONArrayInsert'>, 'jsonbcontains': <class 'sqlglot.expressions.json.JSONBContains'>, 'jsonbcontainsalltopkeys': <class 'sqlglot.expressions.json.JSONBContainsAllTopKeys'>, 'jsonbcontainsanytopkeys': <class 'sqlglot.expressions.json.JSONBContainsAnyTopKeys'>, 'jsonbdeleteatpath': <class 'sqlglot.expressions.json.JSONBDeleteAtPath'>, 'jsonbexists': <class 'sqlglot.expressions.json.JSONBExists'>, 'jsonbextract': <class 'sqlglot.expressions.json.JSONBExtract'>, 'jsonbextractscalar': <class 'sqlglot.expressions.json.JSONBExtractScalar'>, 'jsonbobjectagg': <class 'sqlglot.expressions.json.JSONBObjectAgg'>, 'jsonbool': <class 'sqlglot.expressions.json.JSONBool'>, 'jsoncast': <class 'sqlglot.expressions.functions.JSONCast'>, 'jsoncolumndef': <class 'sqlglot.expressions.query.JSONColumnDef'>, 'jsonexists': <class 'sqlglot.expressions.json.JSONExists'>, 'jsonextract': <class 'sqlglot.expressions.json.JSONExtract'>, 'jsonextractarray': <class 'sqlglot.expressions.json.JSONExtractArray'>, 'jsonextractquote': <class 'sqlglot.expressions.query.JSONExtractQuote'>, 'jsonextractscalar': <class 'sqlglot.expressions.json.JSONExtractScalar'>, 'jsonformat': <class 'sqlglot.expressions.json.JSONFormat'>, 'jsonkeyvalue': <class 'sqlglot.expressions.query.JSONKeyValue'>, 'jsonkeys': <class 'sqlglot.expressions.json.JSONKeys'>, 'jsonkeysatdepth': <class 'sqlglot.expressions.json.JSONKeysAtDepth'>, 'jsonobject': <class 'sqlglot.expressions.json.JSONObject'>, 'jsonobjectagg': <class 'sqlglot.expressions.json.JSONObjectAgg'>, 'jsonpath': <class 'sqlglot.expressions.query.JSONPath'>, 'jsonpathfilter': <class 'sqlglot.expressions.query.JSONPathFilter'>, 'jsonpathkey': <class 'sqlglot.expressions.query.JSONPathKey'>, 'jsonpathpart': <class 'sqlglot.expressions.query.JSONPathPart'>, 'jsonpathrecursive': <class 'sqlglot.expressions.query.JSONPathRecursive'>, 'jsonpathroot': <class 'sqlglot.expressions.query.JSONPathRoot'>, 'jsonpathscript': <class 'sqlglot.expressions.query.JSONPathScript'>, 'jsonpathselector': <class 'sqlglot.expressions.query.JSONPathSelector'>, 'jsonpathslice': <class 'sqlglot.expressions.query.JSONPathSlice'>, 'jsonpathsubscript': <class 'sqlglot.expressions.query.JSONPathSubscript'>, 'jsonpathunion': <class 'sqlglot.expressions.query.JSONPathUnion'>, 'jsonpathwildcard': <class 'sqlglot.expressions.query.JSONPathWildcard'>, 'jsonremove': <class 'sqlglot.expressions.json.JSONRemove'>, 'jsonschema': <class 'sqlglot.expressions.query.JSONSchema'>, 'jsonset': <class 'sqlglot.expressions.json.JSONSet'>, 'jsonstripnulls': <class 'sqlglot.expressions.json.JSONStripNulls'>, 'jsontable': <class 'sqlglot.expressions.json.JSONTable'>, 'jsontype': <class 'sqlglot.expressions.json.JSONType'>, 'jsonvalue': <class 'sqlglot.expressions.query.JSONValue'>, 'jsonvaluearray': <class 'sqlglot.expressions.query.JSONValueArray'>, 'jarowinklersimilarity': <class 'sqlglot.expressions.math.JarowinklerSimilarity'>, 'join': <class 'sqlglot.expressions.query.Join'>, 'joinhint': <class 'sqlglot.expressions.core.JoinHint'>, 'journalproperty': <class 'sqlglot.expressions.properties.JournalProperty'>, 'justifydays': <class 'sqlglot.expressions.temporal.JustifyDays'>, 'justifyhours': <class 'sqlglot.expressions.temporal.JustifyHours'>, 'justifyinterval': <class 'sqlglot.expressions.temporal.JustifyInterval'>, 'kill': <class 'sqlglot.expressions.ddl.Kill'>, 'kurtosis': <class 'sqlglot.expressions.aggregate.Kurtosis'>, 'kwarg': <class 'sqlglot.expressions.core.Kwarg'>, 'lt': <class 'sqlglot.expressions.core.LT'>, 'lte': <class 'sqlglot.expressions.core.LTE'>, 'lag': <class 'sqlglot.expressions.aggregate.Lag'>, 'lambda': <class 'sqlglot.expressions.query.Lambda'>, 'languageproperty': <class 'sqlglot.expressions.properties.LanguageProperty'>, 'last': <class 'sqlglot.expressions.aggregate.Last'>, 'lastday': <class 'sqlglot.expressions.temporal.LastDay'>, 'lastvalue': <class 'sqlglot.expressions.aggregate.LastValue'>, 'lateral': <class 'sqlglot.expressions.query.Lateral'>, 'laxbool': <class 'sqlglot.expressions.functions.LaxBool'>, 'laxfloat64': <class 'sqlglot.expressions.functions.LaxFloat64'>, 'laxint64': <class 'sqlglot.expressions.functions.LaxInt64'>, 'laxstring': <class 'sqlglot.expressions.functions.LaxString'>, 'lead': <class 'sqlglot.expressions.aggregate.Lead'>, 'least': <class 'sqlglot.expressions.functions.Least'>, 'left': <class 'sqlglot.expressions.string.Left'>, 'length': <class 'sqlglot.expressions.string.Length'>, 'levenshtein': <class 'sqlglot.expressions.string.Levenshtein'>, 'like': <class 'sqlglot.expressions.core.Like'>, 'likeproperty': <class 'sqlglot.expressions.properties.LikeProperty'>, 'limit': <class 'sqlglot.expressions.query.Limit'>, 'limitoptions': <class 'sqlglot.expressions.query.LimitOptions'>, 'list': <class 'sqlglot.expressions.array.List'>, 'literal': <class 'sqlglot.expressions.core.Literal'>, 'ln': <class 'sqlglot.expressions.math.Ln'>, 'loaddata': <class 'sqlglot.expressions.dml.LoadData'>, 'localtime': <class 'sqlglot.expressions.temporal.Localtime'>, 'localtimestamp': <class 'sqlglot.expressions.temporal.Localtimestamp'>, 'locationproperty': <class 'sqlglot.expressions.properties.LocationProperty'>, 'lock': <class 'sqlglot.expressions.query.Lock'>, 'lockproperty': <class 'sqlglot.expressions.properties.LockProperty'>, 'lockingproperty': <class 'sqlglot.expressions.properties.LockingProperty'>, 'lockingstatement': <class 'sqlglot.expressions.core.LockingStatement'>, 'log': <class 'sqlglot.expressions.math.Log'>, 'logproperty': <class 'sqlglot.expressions.properties.LogProperty'>, 'logicaland': <class 'sqlglot.expressions.aggregate.LogicalAnd'>, 'logicalor': <class 'sqlglot.expressions.aggregate.LogicalOr'>, 'lower': <class 'sqlglot.expressions.string.Lower'>, 'lowerhex': <class 'sqlglot.expressions.string.LowerHex'>, 'md5': <class 'sqlglot.expressions.string.MD5'>, 'md5digest': <class 'sqlglot.expressions.string.MD5Digest'>, 'md5numberlower64': <class 'sqlglot.expressions.string.MD5NumberLower64'>, 'md5numberupper64': <class 'sqlglot.expressions.string.MD5NumberUpper64'>, 'mlforecast': <class 'sqlglot.expressions.functions.MLForecast'>, 'mltranslate': <class 'sqlglot.expressions.functions.MLTranslate'>, 'makeinterval': <class 'sqlglot.expressions.temporal.MakeInterval'>, 'manhattandistance': <class 'sqlglot.expressions.math.ManhattanDistance'>, 'map': <class 'sqlglot.expressions.array.Map'>, 'mapcat': <class 'sqlglot.expressions.array.MapCat'>, 'mapcontainskey': <class 'sqlglot.expressions.array.MapContainsKey'>, 'mapdelete': <class 'sqlglot.expressions.array.MapDelete'>, 'mapfromentries': <class 'sqlglot.expressions.array.MapFromEntries'>, 'mapinsert': <class 'sqlglot.expressions.array.MapInsert'>, 'mapkeys': <class 'sqlglot.expressions.array.MapKeys'>, 'mappick': <class 'sqlglot.expressions.array.MapPick'>, 'mapsize': <class 'sqlglot.expressions.array.MapSize'>, 'maskingpolicycolumnconstraint': <class 'sqlglot.expressions.constraints.MaskingPolicyColumnConstraint'>, 'maskingproperty': <class 'sqlglot.expressions.properties.MaskingProperty'>, 'match': <class 'sqlglot.expressions.core.Match'>, 'matchagainst': <class 'sqlglot.expressions.string.MatchAgainst'>, 'matchrecognize': <class 'sqlglot.expressions.query.MatchRecognize'>, 'matchrecognizemeasure': <class 'sqlglot.expressions.query.MatchRecognizeMeasure'>, 'materializedproperty': <class 'sqlglot.expressions.properties.MaterializedProperty'>, 'max': <class 'sqlglot.expressions.aggregate.Max'>, 'median': <class 'sqlglot.expressions.aggregate.Median'>, 'merge': <class 'sqlglot.expressions.dml.Merge'>, 'mergeblockratioproperty': <class 'sqlglot.expressions.properties.MergeBlockRatioProperty'>, 'mergetreettl': <class 'sqlglot.expressions.ddl.MergeTreeTTL'>, 'mergetreettlaction': <class 'sqlglot.expressions.ddl.MergeTreeTTLAction'>, 'min': <class 'sqlglot.expressions.aggregate.Min'>, 'minhash': <class 'sqlglot.expressions.aggregate.Minhash'>, 'minhashcombine': <class 'sqlglot.expressions.aggregate.MinhashCombine'>, 'minute': <class 'sqlglot.expressions.temporal.Minute'>, 'mod': <class 'sqlglot.expressions.core.Mod'>, 'mode': <class 'sqlglot.expressions.aggregate.Mode'>, 'modelattribute': <class 'sqlglot.expressions.query.ModelAttribute'>, 'moduleproperty': <class 'sqlglot.expressions.properties.ModuleProperty'>, 'month': <class 'sqlglot.expressions.temporal.Month'>, 'monthname': <class 'sqlglot.expressions.temporal.Monthname'>, 'monthsbetween': <class 'sqlglot.expressions.temporal.MonthsBetween'>, 'mul': <class 'sqlglot.expressions.core.Mul'>, 'multitableinserts': <class 'sqlglot.expressions.query.MultitableInserts'>, 'neq': <class 'sqlglot.expressions.core.NEQ'>, 'national': <class 'sqlglot.expressions.query.National'>, 'neg': <class 'sqlglot.expressions.core.Neg'>, 'nestedjsonselect': <class 'sqlglot.expressions.core.NestedJSONSelect'>, 'netfunc': <class 'sqlglot.expressions.functions.NetFunc'>, 'networkproperty': <class 'sqlglot.expressions.properties.NetworkProperty'>, 'nextday': <class 'sqlglot.expressions.temporal.NextDay'>, 'nextvaluefor': <class 'sqlglot.expressions.ddl.NextValueFor'>, 'noprimaryindexproperty': <class 'sqlglot.expressions.properties.NoPrimaryIndexProperty'>, 'nonclusteredcolumnconstraint': <class 'sqlglot.expressions.constraints.NonClusteredColumnConstraint'>, 'normal': <class 'sqlglot.expressions.functions.Normal'>, 'normalize': <class 'sqlglot.expressions.string.Normalize'>, 'not': <class 'sqlglot.expressions.core.Not'>, 'notforreplicationcolumnconstraint': <class 'sqlglot.expressions.constraints.NotForReplicationColumnConstraint'>, 'notnullcolumnconstraint': <class 'sqlglot.expressions.constraints.NotNullColumnConstraint'>, 'nthvalue': <class 'sqlglot.expressions.aggregate.NthValue'>, 'ntile': <class 'sqlglot.expressions.aggregate.Ntile'>, 'null': <class 'sqlglot.expressions.core.Null'>, 'nullsafeeq': <class 'sqlglot.expressions.core.NullSafeEQ'>, 'nullsafeneq': <class 'sqlglot.expressions.core.NullSafeNEQ'>, 'nullif': <class 'sqlglot.expressions.functions.Nullif'>, 'numbertostr': <class 'sqlglot.expressions.string.NumberToStr'>, 'nvl2': <class 'sqlglot.expressions.functions.Nvl2'>, 'objectagg': <class 'sqlglot.expressions.aggregate.ObjectAgg'>, 'objectid': <class 'sqlglot.expressions.json.ObjectId'>, 'objectidentifier': <class 'sqlglot.expressions.datatypes.ObjectIdentifier'>, 'objectinsert': <class 'sqlglot.expressions.json.ObjectInsert'>, 'offset': <class 'sqlglot.expressions.query.Offset'>, 'oncluster': <class 'sqlglot.expressions.properties.OnCluster'>, 'oncommitproperty': <class 'sqlglot.expressions.properties.OnCommitProperty'>, 'oncondition': <class 'sqlglot.expressions.query.OnCondition'>, 'onconflict': <class 'sqlglot.expressions.dml.OnConflict'>, 'onproperty': <class 'sqlglot.expressions.properties.OnProperty'>, 'onupdatecolumnconstraint': <class 'sqlglot.expressions.constraints.OnUpdateColumnConstraint'>, 'opclass': <class 'sqlglot.expressions.core.Opclass'>, 'openjson': <class 'sqlglot.expressions.json.OpenJSON'>, 'openjsoncolumndef': <class 'sqlglot.expressions.query.OpenJSONColumnDef'>, 'operator': <class 'sqlglot.expressions.core.Operator'>, 'or': <class 'sqlglot.expressions.core.Or'>, 'order': <class 'sqlglot.expressions.query.Order'>, 'ordered': <class 'sqlglot.expressions.core.Ordered'>, 'outputmodelproperty': <class 'sqlglot.expressions.properties.OutputModelProperty'>, 'overflowtruncatebehavior': <class 'sqlglot.expressions.query.OverflowTruncateBehavior'>, 'overlaps': <class 'sqlglot.expressions.core.Overlaps'>, 'overlay': <class 'sqlglot.expressions.string.Overlay'>, 'pad': <class 'sqlglot.expressions.string.Pad'>, 'parameter': <class 'sqlglot.expressions.core.Parameter'>, 'parameterstyleproperty': <class 'sqlglot.expressions.properties.ParameterStyleProperty'>, 'parameterizedagg': <class 'sqlglot.expressions.core.ParameterizedAgg'>, 'paren': <class 'sqlglot.expressions.core.Paren'>, 'parsebignumeric': <class 'sqlglot.expressions.string.ParseBignumeric'>, 'parsedatetime': <class 'sqlglot.expressions.temporal.ParseDatetime'>, 'parseip': <class 'sqlglot.expressions.functions.ParseIp'>, 'parsejson': <class 'sqlglot.expressions.json.ParseJSON'>, 'parsenumeric': <class 'sqlglot.expressions.string.ParseNumeric'>, 'parsetime': <class 'sqlglot.expressions.temporal.ParseTime'>, 'parseurl': <class 'sqlglot.expressions.string.ParseUrl'>, 'partition': <class 'sqlglot.expressions.query.Partition'>, 'partitionboundspec': <class 'sqlglot.expressions.properties.PartitionBoundSpec'>, 'partitionbylistproperty': <class 'sqlglot.expressions.properties.PartitionByListProperty'>, 'partitionbyrangeproperty': <class 'sqlglot.expressions.properties.PartitionByRangeProperty'>, 'partitionbyrangepropertydynamic': <class 'sqlglot.expressions.properties.PartitionByRangePropertyDynamic'>, 'partitionbytruncate': <class 'sqlglot.expressions.properties.PartitionByTruncate'>, 'partitionid': <class 'sqlglot.expressions.query.PartitionId'>, 'partitionlist': <class 'sqlglot.expressions.properties.PartitionList'>, 'partitionrange': <class 'sqlglot.expressions.query.PartitionRange'>, 'partitionedbybucket': <class 'sqlglot.expressions.properties.PartitionedByBucket'>, 'partitionedbyproperty': <class 'sqlglot.expressions.properties.PartitionedByProperty'>, 'partitionedofproperty': <class 'sqlglot.expressions.properties.PartitionedOfProperty'>, 'pathcolumnconstraint': <class 'sqlglot.expressions.constraints.PathColumnConstraint'>, 'percentrank': <class 'sqlglot.expressions.aggregate.PercentRank'>, 'percentilecont': <class 'sqlglot.expressions.aggregate.PercentileCont'>, 'percentiledisc': <class 'sqlglot.expressions.aggregate.PercentileDisc'>, 'periodforsystemtimeconstraint': <class 'sqlglot.expressions.constraints.PeriodForSystemTimeConstraint'>, 'pi': <class 'sqlglot.expressions.math.Pi'>, 'pivot': <class 'sqlglot.expressions.query.Pivot'>, 'pivotalias': <class 'sqlglot.expressions.core.PivotAlias'>, 'pivotany': <class 'sqlglot.expressions.core.PivotAny'>, 'placeholder': <class 'sqlglot.expressions.core.Placeholder'>, 'posexplode': <class 'sqlglot.expressions.array.Posexplode'>, 'posexplodeouter': <class 'sqlglot.expressions.array.PosexplodeOuter'>, 'positionalcolumn': <class 'sqlglot.expressions.array.PositionalColumn'>, 'pow': <class 'sqlglot.expressions.core.Pow'>, 'pragma': <class 'sqlglot.expressions.ddl.Pragma'>, 'prewhere': <class 'sqlglot.expressions.query.PreWhere'>, 'predicate': <class 'sqlglot.expressions.core.Predicate'>, 'predict': <class 'sqlglot.expressions.functions.Predict'>, 'previousday': <class 'sqlglot.expressions.temporal.PreviousDay'>, 'primarykey': <class 'sqlglot.expressions.constraints.PrimaryKey'>, 'primarykeycolumnconstraint': <class 'sqlglot.expressions.constraints.PrimaryKeyColumnConstraint'>, 'prior': <class 'sqlglot.expressions.query.Prior'>, 'projectiondef': <class 'sqlglot.expressions.query.ProjectionDef'>, 'projectionpolicycolumnconstraint': <class 'sqlglot.expressions.constraints.ProjectionPolicyColumnConstraint'>, 'properties': <class 'sqlglot.expressions.properties.Properties'>, 'property': <class 'sqlglot.expressions.properties.Property'>, 'propertyeq': <class 'sqlglot.expressions.core.PropertyEQ'>, 'pseudotype': <class 'sqlglot.expressions.datatypes.PseudoType'>, 'pseudocolumn': <class 'sqlglot.expressions.core.Pseudocolumn'>, 'put': <class 'sqlglot.expressions.query.Put'>, 'qualify': <class 'sqlglot.expressions.query.Qualify'>, 'quantile': <class 'sqlglot.expressions.aggregate.Quantile'>, 'quarter': <class 'sqlglot.expressions.temporal.Quarter'>, 'query': <class 'sqlglot.expressions.query.Query'>, 'queryband': <class 'sqlglot.expressions.query.QueryBand'>, 'queryoption': <class 'sqlglot.expressions.query.QueryOption'>, 'querytransform': <class 'sqlglot.expressions.properties.QueryTransform'>, 'radians': <class 'sqlglot.expressions.math.Radians'>, 'rand': <class 'sqlglot.expressions.functions.Rand'>, 'randn': <class 'sqlglot.expressions.functions.Randn'>, 'randstr': <class 'sqlglot.expressions.functions.Randstr'>, 'rangebucket': <class 'sqlglot.expressions.functions.RangeBucket'>, 'rangen': <class 'sqlglot.expressions.functions.RangeN'>, 'rank': <class 'sqlglot.expressions.aggregate.Rank'>, 'rawstring': <class 'sqlglot.expressions.query.RawString'>, 'readcsv': <class 'sqlglot.expressions.functions.ReadCSV'>, 'readparquet': <class 'sqlglot.expressions.functions.ReadParquet'>, 'recursivewithsearch': <class 'sqlglot.expressions.query.RecursiveWithSearch'>, 'reduce': <class 'sqlglot.expressions.array.Reduce'>, 'reference': <class 'sqlglot.expressions.constraints.Reference'>, 'refresh': <class 'sqlglot.expressions.core.Refresh'>, 'refreshtriggerproperty': <class 'sqlglot.expressions.properties.RefreshTriggerProperty'>, 'regdomain': <class 'sqlglot.expressions.functions.RegDomain'>, 'regexpcount': <class 'sqlglot.expressions.string.RegexpCount'>, 'regexpextract': <class 'sqlglot.expressions.string.RegexpExtract'>, 'regexpextractall': <class 'sqlglot.expressions.string.RegexpExtractAll'>, 'regexpfullmatch': <class 'sqlglot.expressions.string.RegexpFullMatch'>, 'regexpilike': <class 'sqlglot.expressions.string.RegexpILike'>, 'regexpinstr': <class 'sqlglot.expressions.string.RegexpInstr'>, 'regexplike': <class 'sqlglot.expressions.core.RegexpLike'>, 'regexpreplace': <class 'sqlglot.expressions.string.RegexpReplace'>, 'regexpsplit': <class 'sqlglot.expressions.string.RegexpSplit'>, 'regravgx': <class 'sqlglot.expressions.aggregate.RegrAvgx'>, 'regravgy': <class 'sqlglot.expressions.aggregate.RegrAvgy'>, 'regrcount': <class 'sqlglot.expressions.aggregate.RegrCount'>, 'regrintercept': <class 'sqlglot.expressions.aggregate.RegrIntercept'>, 'regrr2': <class 'sqlglot.expressions.aggregate.RegrR2'>, 'regrslope': <class 'sqlglot.expressions.aggregate.RegrSlope'>, 'regrsxx': <class 'sqlglot.expressions.aggregate.RegrSxx'>, 'regrsxy': <class 'sqlglot.expressions.aggregate.RegrSxy'>, 'regrsyy': <class 'sqlglot.expressions.aggregate.RegrSyy'>, 'regrvalx': <class 'sqlglot.expressions.aggregate.RegrValx'>, 'regrvaly': <class 'sqlglot.expressions.aggregate.RegrValy'>, 'remotewithconnectionmodelproperty': <class 'sqlglot.expressions.properties.RemoteWithConnectionModelProperty'>, 'renamecolumn': <class 'sqlglot.expressions.ddl.RenameColumn'>, 'renameindex': <class 'sqlglot.expressions.ddl.RenameIndex'>, 'repeat': <class 'sqlglot.expressions.string.Repeat'>, 'replace': <class 'sqlglot.expressions.string.Replace'>, 'replacepartition': <class 'sqlglot.expressions.query.ReplacePartition'>, 'respectnulls': <class 'sqlglot.expressions.core.RespectNulls'>, 'return': <class 'sqlglot.expressions.query.Return'>, 'returning': <class 'sqlglot.expressions.dml.Returning'>, 'returnsproperty': <class 'sqlglot.expressions.properties.ReturnsProperty'>, 'reverse': <class 'sqlglot.expressions.string.Reverse'>, 'revoke': <class 'sqlglot.expressions.query.Revoke'>, 'right': <class 'sqlglot.expressions.string.Right'>, 'rollback': <class 'sqlglot.expressions.ddl.Rollback'>, 'rollup': <class 'sqlglot.expressions.query.Rollup'>, 'rollupindex': <class 'sqlglot.expressions.properties.RollupIndex'>, 'rollupproperty': <class 'sqlglot.expressions.properties.RollupProperty'>, 'round': <class 'sqlglot.expressions.math.Round'>, 'rowaccessproperty': <class 'sqlglot.expressions.properties.RowAccessProperty'>, 'rowformatdelimitedproperty': <class 'sqlglot.expressions.properties.RowFormatDelimitedProperty'>, 'rowformatproperty': <class 'sqlglot.expressions.properties.RowFormatProperty'>, 'rowformatserdeproperty': <class 'sqlglot.expressions.properties.RowFormatSerdeProperty'>, 'rownumber': <class 'sqlglot.expressions.aggregate.RowNumber'>, 'rtrimmedlength': <class 'sqlglot.expressions.string.RtrimmedLength'>, 'sha': <class 'sqlglot.expressions.string.SHA'>, 'sha1digest': <class 'sqlglot.expressions.string.SHA1Digest'>, 'sha2': <class 'sqlglot.expressions.string.SHA2'>, 'sha2digest': <class 'sqlglot.expressions.string.SHA2Digest'>, 'safeadd': <class 'sqlglot.expressions.math.SafeAdd'>, 'safeconvertbytestostring': <class 'sqlglot.expressions.string.SafeConvertBytesToString'>, 'safedivide': <class 'sqlglot.expressions.math.SafeDivide'>, 'safefunc': <class 'sqlglot.expressions.core.SafeFunc'>, 'safemultiply': <class 'sqlglot.expressions.math.SafeMultiply'>, 'safenegate': <class 'sqlglot.expressions.math.SafeNegate'>, 'safesubtract': <class 'sqlglot.expressions.math.SafeSubtract'>, 'sampleproperty': <class 'sqlglot.expressions.properties.SampleProperty'>, 'schema': <class 'sqlglot.expressions.query.Schema'>, 'schemacommentproperty': <class 'sqlglot.expressions.properties.SchemaCommentProperty'>, 'scoperesolution': <class 'sqlglot.expressions.query.ScopeResolution'>, 'search': <class 'sqlglot.expressions.string.Search'>, 'searchip': <class 'sqlglot.expressions.string.SearchIp'>, 'sec': <class 'sqlglot.expressions.math.Sec'>, 'sech': <class 'sqlglot.expressions.math.Sech'>, 'second': <class 'sqlglot.expressions.temporal.Second'>, 'secureproperty': <class 'sqlglot.expressions.properties.SecureProperty'>, 'securityintegrationproperty': <class 'sqlglot.expressions.properties.SecurityIntegrationProperty'>, 'select': <class 'sqlglot.expressions.query.Select'>, 'selectable': <class 'sqlglot.expressions.query.Selectable'>, 'semanticview': <class 'sqlglot.expressions.properties.SemanticView'>, 'semicolon': <class 'sqlglot.expressions.query.Semicolon'>, 'seq1': <class 'sqlglot.expressions.functions.Seq1'>, 'seq2': <class 'sqlglot.expressions.functions.Seq2'>, 'seq4': <class 'sqlglot.expressions.functions.Seq4'>, 'seq8': <class 'sqlglot.expressions.functions.Seq8'>, 'sequenceproperties': <class 'sqlglot.expressions.ddl.SequenceProperties'>, 'serdeproperties': <class 'sqlglot.expressions.properties.SerdeProperties'>, 'sessionparameter': <class 'sqlglot.expressions.core.SessionParameter'>, 'sessionuser': <class 'sqlglot.expressions.functions.SessionUser'>, 'set': <class 'sqlglot.expressions.ddl.Set'>, 'setconfigproperty': <class 'sqlglot.expressions.properties.SetConfigProperty'>, 'setitem': <class 'sqlglot.expressions.ddl.SetItem'>, 'setoperation': <class 'sqlglot.expressions.query.SetOperation'>, 'setproperty': <class 'sqlglot.expressions.properties.SetProperty'>, 'settingsproperty': <class 'sqlglot.expressions.properties.SettingsProperty'>, 'sharingproperty': <class 'sqlglot.expressions.properties.SharingProperty'>, 'show': <class 'sqlglot.expressions.ddl.Show'>, 'sign': <class 'sqlglot.expressions.math.Sign'>, 'similarto': <class 'sqlglot.expressions.core.SimilarTo'>, 'sin': <class 'sqlglot.expressions.math.Sin'>, 'sinh': <class 'sqlglot.expressions.math.Sinh'>, 'skewness': <class 'sqlglot.expressions.aggregate.Skewness'>, 'skipjsoncolumn': <class 'sqlglot.expressions.query.SkipJSONColumn'>, 'slice': <class 'sqlglot.expressions.core.Slice'>, 'sort': <class 'sqlglot.expressions.query.Sort'>, 'sortarray': <class 'sqlglot.expressions.array.SortArray'>, 'sortkeyproperty': <class 'sqlglot.expressions.properties.SortKeyProperty'>, 'soundex': <class 'sqlglot.expressions.string.Soundex'>, 'soundexp123': <class 'sqlglot.expressions.string.SoundexP123'>, 'space': <class 'sqlglot.expressions.string.Space'>, 'split': <class 'sqlglot.expressions.string.Split'>, 'splitpart': <class 'sqlglot.expressions.string.SplitPart'>, 'sqlreadwriteproperty': <class 'sqlglot.expressions.properties.SqlReadWriteProperty'>, 'sqlsecurityproperty': <class 'sqlglot.expressions.properties.SqlSecurityProperty'>, 'sqrt': <class 'sqlglot.expressions.math.Sqrt'>, 'stdistance': <class 'sqlglot.expressions.array.StDistance'>, 'stpoint': <class 'sqlglot.expressions.array.StPoint'>, 'stabilityproperty': <class 'sqlglot.expressions.properties.StabilityProperty'>, 'standardhash': <class 'sqlglot.expressions.string.StandardHash'>, 'star': <class 'sqlglot.expressions.core.Star'>, 'starmap': <class 'sqlglot.expressions.array.StarMap'>, 'startswith': <class 'sqlglot.expressions.string.StartsWith'>, 'stddev': <class 'sqlglot.expressions.aggregate.Stddev'>, 'stddevpop': <class 'sqlglot.expressions.aggregate.StddevPop'>, 'stddevsamp': <class 'sqlglot.expressions.aggregate.StddevSamp'>, 'storagehandlerproperty': <class 'sqlglot.expressions.properties.StorageHandlerProperty'>, 'storedprocedure': <class 'sqlglot.expressions.query.StoredProcedure'>, 'strposition': <class 'sqlglot.expressions.string.StrPosition'>, 'strtodate': <class 'sqlglot.expressions.temporal.StrToDate'>, 'strtomap': <class 'sqlglot.expressions.string.StrToMap'>, 'strtotime': <class 'sqlglot.expressions.temporal.StrToTime'>, 'strtounix': <class 'sqlglot.expressions.temporal.StrToUnix'>, 'stream': <class 'sqlglot.expressions.query.Stream'>, 'streamingtableproperty': <class 'sqlglot.expressions.properties.StreamingTableProperty'>, 'strictproperty': <class 'sqlglot.expressions.properties.StrictProperty'>, 'string': <class 'sqlglot.expressions.string.String'>, 'stringtoarray': <class 'sqlglot.expressions.array.StringToArray'>, 'stripnullvalue': <class 'sqlglot.expressions.json.StripNullValue'>, 'strtok': <class 'sqlglot.expressions.string.Strtok'>, 'struct': <class 'sqlglot.expressions.array.Struct'>, 'structextract': <class 'sqlglot.expressions.array.StructExtract'>, 'stuff': <class 'sqlglot.expressions.string.Stuff'>, 'sub': <class 'sqlglot.expressions.core.Sub'>, 'subquery': <class 'sqlglot.expressions.query.Subquery'>, 'subquerypredicate': <class 'sqlglot.expressions.core.SubqueryPredicate'>, 'substring': <class 'sqlglot.expressions.string.Substring'>, 'substringindex': <class 'sqlglot.expressions.string.SubstringIndex'>, 'sum': <class 'sqlglot.expressions.aggregate.Sum'>, 'summarize': <class 'sqlglot.expressions.ddl.Summarize'>, 'swaptable': <class 'sqlglot.expressions.ddl.SwapTable'>, 'systimestamp': <class 'sqlglot.expressions.temporal.Systimestamp'>, 'table': <class 'sqlglot.expressions.query.Table'>, 'tablealias': <class 'sqlglot.expressions.query.TableAlias'>, 'tablecolumn': <class 'sqlglot.expressions.query.TableColumn'>, 'tablefromrows': <class 'sqlglot.expressions.query.TableFromRows'>, 'tablesample': <class 'sqlglot.expressions.query.TableSample'>, 'tag': <class 'sqlglot.expressions.query.Tag'>, 'tags': <class 'sqlglot.expressions.properties.Tags'>, 'tan': <class 'sqlglot.expressions.math.Tan'>, 'tanh': <class 'sqlglot.expressions.math.Tanh'>, 'temporaryproperty': <class 'sqlglot.expressions.properties.TemporaryProperty'>, 'time': <class 'sqlglot.expressions.temporal.Time'>, 'timeadd': <class 'sqlglot.expressions.temporal.TimeAdd'>, 'timediff': <class 'sqlglot.expressions.temporal.TimeDiff'>, 'timefromparts': <class 'sqlglot.expressions.temporal.TimeFromParts'>, 'timeslice': <class 'sqlglot.expressions.temporal.TimeSlice'>, 'timestrtodate': <class 'sqlglot.expressions.temporal.TimeStrToDate'>, 'timestrtotime': <class 'sqlglot.expressions.temporal.TimeStrToTime'>, 'timestrtounix': <class 'sqlglot.expressions.temporal.TimeStrToUnix'>, 'timesub': <class 'sqlglot.expressions.temporal.TimeSub'>, 'timetostr': <class 'sqlglot.expressions.temporal.TimeToStr'>, 'timetotimestr': <class 'sqlglot.expressions.temporal.TimeToTimeStr'>, 'timetounix': <class 'sqlglot.expressions.temporal.TimeToUnix'>, 'timetrunc': <class 'sqlglot.expressions.temporal.TimeTrunc'>, 'timeunit': <class 'sqlglot.expressions.core.TimeUnit'>, 'timestamp': <class 'sqlglot.expressions.temporal.Timestamp'>, 'timestampadd': <class 'sqlglot.expressions.temporal.TimestampAdd'>, 'timestampdiff': <class 'sqlglot.expressions.temporal.TimestampDiff'>, 'timestampfromparts': <class 'sqlglot.expressions.temporal.TimestampFromParts'>, 'timestampltzfromparts': <class 'sqlglot.expressions.temporal.TimestampLtzFromParts'>, 'timestampsub': <class 'sqlglot.expressions.temporal.TimestampSub'>, 'timestamptrunc': <class 'sqlglot.expressions.temporal.TimestampTrunc'>, 'timestamptzfromparts': <class 'sqlglot.expressions.temporal.TimestampTzFromParts'>, 'titlecolumnconstraint': <class 'sqlglot.expressions.constraints.TitleColumnConstraint'>, 'toarray': <class 'sqlglot.expressions.array.ToArray'>, 'tobase32': <class 'sqlglot.expressions.string.ToBase32'>, 'tobase64': <class 'sqlglot.expressions.string.ToBase64'>, 'tobinary': <class 'sqlglot.expressions.string.ToBinary'>, 'toboolean': <class 'sqlglot.expressions.functions.ToBoolean'>, 'tochar': <class 'sqlglot.expressions.string.ToChar'>, 'tocodepoints': <class 'sqlglot.expressions.string.ToCodePoints'>, 'todays': <class 'sqlglot.expressions.temporal.ToDays'>, 'todecfloat': <class 'sqlglot.expressions.string.ToDecfloat'>, 'todouble': <class 'sqlglot.expressions.string.ToDouble'>, 'tofile': <class 'sqlglot.expressions.string.ToFile'>, 'tomap': <class 'sqlglot.expressions.array.ToMap'>, 'tonumber': <class 'sqlglot.expressions.string.ToNumber'>, 'totableproperty': <class 'sqlglot.expressions.properties.ToTableProperty'>, 'tovariant': <class 'sqlglot.expressions.functions.ToVariant'>, 'transaction': <class 'sqlglot.expressions.ddl.Transaction'>, 'transform': <class 'sqlglot.expressions.array.Transform'>, 'transformmodelproperty': <class 'sqlglot.expressions.properties.TransformModelProperty'>, 'transientproperty': <class 'sqlglot.expressions.properties.TransientProperty'>, 'translate': <class 'sqlglot.expressions.string.Translate'>, 'translatecharacters': <class 'sqlglot.expressions.query.TranslateCharacters'>, 'triggerevent': <class 'sqlglot.expressions.ddl.TriggerEvent'>, 'triggerexecute': <class 'sqlglot.expressions.ddl.TriggerExecute'>, 'triggerproperties': <class 'sqlglot.expressions.ddl.TriggerProperties'>, 'triggerreferencing': <class 'sqlglot.expressions.ddl.TriggerReferencing'>, 'trim': <class 'sqlglot.expressions.string.Trim'>, 'trunc': <class 'sqlglot.expressions.math.Trunc'>, 'truncatetable': <class 'sqlglot.expressions.ddl.TruncateTable'>, 'try': <class 'sqlglot.expressions.functions.Try'>, 'trybase64decodebinary': <class 'sqlglot.expressions.string.TryBase64DecodeBinary'>, 'trybase64decodestring': <class 'sqlglot.expressions.string.TryBase64DecodeString'>, 'trycast': <class 'sqlglot.expressions.functions.TryCast'>, 'tryhexdecodebinary': <class 'sqlglot.expressions.string.TryHexDecodeBinary'>, 'tryhexdecodestring': <class 'sqlglot.expressions.string.TryHexDecodeString'>, 'trytodecfloat': <class 'sqlglot.expressions.string.TryToDecfloat'>, 'tsorditodi': <class 'sqlglot.expressions.temporal.TsOrDiToDi'>, 'tsordsadd': <class 'sqlglot.expressions.temporal.TsOrDsAdd'>, 'tsordsdiff': <class 'sqlglot.expressions.temporal.TsOrDsDiff'>, 'tsordstodate': <class 'sqlglot.expressions.temporal.TsOrDsToDate'>, 'tsordstodatestr': <class 'sqlglot.expressions.temporal.TsOrDsToDateStr'>, 'tsordstodatetime': <class 'sqlglot.expressions.temporal.TsOrDsToDatetime'>, 'tsordstotime': <class 'sqlglot.expressions.temporal.TsOrDsToTime'>, 'tsordstotimestamp': <class 'sqlglot.expressions.temporal.TsOrDsToTimestamp'>, 'tuple': <class 'sqlglot.expressions.query.Tuple'>, 'typeof': <class 'sqlglot.expressions.core.Typeof'>, 'udtf': <class 'sqlglot.expressions.query.UDTF'>, 'unary': <class 'sqlglot.expressions.core.Unary'>, 'uncache': <class 'sqlglot.expressions.core.Uncache'>, 'unhex': <class 'sqlglot.expressions.string.Unhex'>, 'unicode': <class 'sqlglot.expressions.string.Unicode'>, 'unicodestring': <class 'sqlglot.expressions.query.UnicodeString'>, 'uniform': <class 'sqlglot.expressions.functions.Uniform'>, 'union': <class 'sqlglot.expressions.query.Union'>, 'uniquecolumnconstraint': <class 'sqlglot.expressions.constraints.UniqueColumnConstraint'>, 'uniquekeyproperty': <class 'sqlglot.expressions.properties.UniqueKeyProperty'>, 'unixdate': <class 'sqlglot.expressions.temporal.UnixDate'>, 'unixmicros': <class 'sqlglot.expressions.temporal.UnixMicros'>, 'unixmillis': <class 'sqlglot.expressions.temporal.UnixMillis'>, 'unixseconds': <class 'sqlglot.expressions.temporal.UnixSeconds'>, 'unixtostr': <class 'sqlglot.expressions.temporal.UnixToStr'>, 'unixtotime': <class 'sqlglot.expressions.temporal.UnixToTime'>, 'unixtotimestr': <class 'sqlglot.expressions.temporal.UnixToTimeStr'>, 'unloggedproperty': <class 'sqlglot.expressions.properties.UnloggedProperty'>, 'unnest': <class 'sqlglot.expressions.array.Unnest'>, 'unpivotcolumns': <class 'sqlglot.expressions.query.UnpivotColumns'>, 'update': <class 'sqlglot.expressions.dml.Update'>, 'upper': <class 'sqlglot.expressions.string.Upper'>, 'uppercasecolumnconstraint': <class 'sqlglot.expressions.constraints.UppercaseColumnConstraint'>, 'use': <class 'sqlglot.expressions.ddl.Use'>, 'userdefinedfunction': <class 'sqlglot.expressions.ddl.UserDefinedFunction'>, 'usingdata': <class 'sqlglot.expressions.query.UsingData'>, 'usingproperty': <class 'sqlglot.expressions.properties.UsingProperty'>, 'usingtemplateproperty': <class 'sqlglot.expressions.properties.UsingTemplateProperty'>, 'utcdate': <class 'sqlglot.expressions.temporal.UtcDate'>, 'utctime': <class 'sqlglot.expressions.temporal.UtcTime'>, 'utctimestamp': <class 'sqlglot.expressions.temporal.UtcTimestamp'>, 'uuid': <class 'sqlglot.expressions.functions.Uuid'>, 'uuidproperty': <class 'sqlglot.expressions.properties.UuidProperty'>, 'values': <class 'sqlglot.expressions.query.Values'>, 'var': <class 'sqlglot.expressions.core.Var'>, 'varmap': <class 'sqlglot.expressions.array.VarMap'>, 'variadic': <class 'sqlglot.expressions.query.Variadic'>, 'variance': <class 'sqlglot.expressions.aggregate.Variance'>, 'variancepop': <class 'sqlglot.expressions.aggregate.VariancePop'>, 'vectorsearch': <class 'sqlglot.expressions.functions.VectorSearch'>, 'version': <class 'sqlglot.expressions.query.Version'>, 'viewattributeproperty': <class 'sqlglot.expressions.properties.ViewAttributeProperty'>, 'virtualproperty': <class 'sqlglot.expressions.properties.VirtualProperty'>, 'volatileproperty': <class 'sqlglot.expressions.properties.VolatileProperty'>, 'watermarkcolumnconstraint': <class 'sqlglot.expressions.constraints.WatermarkColumnConstraint'>, 'week': <class 'sqlglot.expressions.temporal.Week'>, 'weekofyear': <class 'sqlglot.expressions.temporal.WeekOfYear'>, 'weekstart': <class 'sqlglot.expressions.functions.WeekStart'>, 'when': <class 'sqlglot.expressions.dml.When'>, 'whens': <class 'sqlglot.expressions.dml.Whens'>, 'where': <class 'sqlglot.expressions.query.Where'>, 'whileblock': <class 'sqlglot.expressions.query.WhileBlock'>, 'widthbucket': <class 'sqlglot.expressions.functions.WidthBucket'>, 'window': <class 'sqlglot.expressions.query.Window'>, 'windowspec': <class 'sqlglot.expressions.query.WindowSpec'>, 'with': <class 'sqlglot.expressions.query.With'>, 'withdataproperty': <class 'sqlglot.expressions.properties.WithDataProperty'>, 'withfill': <class 'sqlglot.expressions.query.WithFill'>, 'withjournaltableproperty': <class 'sqlglot.expressions.properties.WithJournalTableProperty'>, 'withoperator': <class 'sqlglot.expressions.constraints.WithOperator'>, 'withprocedureoptions': <class 'sqlglot.expressions.properties.WithProcedureOptions'>, 'withschemabindingproperty': <class 'sqlglot.expressions.properties.WithSchemaBindingProperty'>, 'withsystemversioningproperty': <class 'sqlglot.expressions.properties.WithSystemVersioningProperty'>, 'withtablehint': <class 'sqlglot.expressions.query.WithTableHint'>, 'withingroup': <class 'sqlglot.expressions.core.WithinGroup'>, 'xmlelement': <class 'sqlglot.expressions.functions.XMLElement'>, 'xmlget': <class 'sqlglot.expressions.functions.XMLGet'>, 'xmlkeyvalueoption': <class 'sqlglot.expressions.query.XMLKeyValueOption'>, 'xmlnamespace': <class 'sqlglot.expressions.query.XMLNamespace'>, 'xmltable': <class 'sqlglot.expressions.functions.XMLTable'>, 'xor': <class 'sqlglot.expressions.core.Xor'>, 'year': <class 'sqlglot.expressions.temporal.Year'>, 'yearofweek': <class 'sqlglot.expressions.temporal.YearOfWeek'>, 'yearofweekiso': <class 'sqlglot.expressions.temporal.YearOfWeekIso'>, 'zerofillcolumnconstraint': <class 'sqlglot.expressions.constraints.ZeroFillColumnConstraint'>, 'zipf': <class 'sqlglot.expressions.functions.Zipf'>, '_explodeouter': <class 'sqlglot.expressions.array._ExplodeOuter'>}