Microsoft.Azure.Cosmos/src/SqlObjects/SqlFunctionCallScalarExpression.cs (505 lines of code) (raw):
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------
namespace Microsoft.Azure.Cosmos.SqlObjects
{
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using Microsoft.Azure.Cosmos.SqlObjects.Visitors;
#if INTERNAL
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
#pragma warning disable SA1600 // Elements should be documented
public
#else
internal
#endif
sealed class SqlFunctionCallScalarExpression : SqlScalarExpression
{
private static readonly ImmutableDictionary<string, SqlIdentifier> FunctionIdentifiers = new Dictionary<string, SqlIdentifier>(StringComparer.OrdinalIgnoreCase)
{
{ Names.InternalCompareBsonBinaryData, Identifiers.InternalCompareBsonBinaryData },
{ Names.InternalCompareObjects, Identifiers.InternalCompareObjects },
{ Names.InternalEvalEq, Identifiers.InternalEvalEq },
{ Names.InternalEvalGt, Identifiers.InternalEvalGt },
{ Names.InternalEvalGte, Identifiers.InternalEvalGte },
{ Names.InternalEvalIn, Identifiers.InternalEvalIn },
{ Names.InternalEvalLt, Identifiers.InternalEvalLt },
{ Names.InternalEvalLte, Identifiers.InternalEvalLte },
{ Names.InternalEvalNeq, Identifiers.InternalEvalNeq },
{ Names.InternalEvalNin, Identifiers.InternalEvalNin },
{ Names.InternalObjectToArray, Identifiers.InternalObjectToArray },
{ Names.InternalProxyProjection, Identifiers.InternalProxyProjection },
{ Names.InternalRegexMatch, Identifiers.InternalRegexMatch },
{ Names.InternalStDistance, Identifiers.InternalStDistance },
{ Names.InternalStIntersects, Identifiers.InternalStIntersects },
{ Names.InternalStWithin, Identifiers.InternalStWithin },
{ Names.InternalTryArrayContains, Identifiers.InternalTryArrayContains },
{ Names.Abs, Identifiers.Abs },
{ Names.Acos, Identifiers.Acos },
{ Names.All, Identifiers.All },
{ Names.Any, Identifiers.Any },
{ Names.Array, Identifiers.Array },
{ Names.ArrayConcat, Identifiers.ArrayConcat },
{ Names.ArrayContains, Identifiers.ArrayContains },
{ Names.ArrayLength, Identifiers.ArrayLength },
{ Names.ArraySlice, Identifiers.ArraySlice },
{ Names.Asin, Identifiers.Asin },
{ Names.Atan, Identifiers.Atan },
{ Names.Atn2, Identifiers.Atn2 },
{ Names.Avg, Identifiers.Avg },
{ Names.Binary, Identifiers.Binary },
{ Names.Float32, Identifiers.Float32 },
{ Names.Float64, Identifiers.Float64 },
{ Names.Guid, Identifiers.Guid },
{ Names.Int16, Identifiers.Int16 },
{ Names.Int32, Identifiers.Int32 },
{ Names.Int64, Identifiers.Int64 },
{ Names.Int8, Identifiers.Int8 },
{ Names.List, Identifiers.List },
{ Names.ListContains, Identifiers.ListContains },
{ Names.Map, Identifiers.Map },
{ Names.MapContains, Identifiers.MapContains },
{ Names.MapContainsKey, Identifiers.MapContainsKey },
{ Names.MapContainsValue, Identifiers.MapContainsValue },
{ Names.Set, Identifiers.Set },
{ Names.SetContains, Identifiers.SetContains },
{ Names.Tuple, Identifiers.Tuple },
{ Names.Udt, Identifiers.Udt },
{ Names.UInt32, Identifiers.UInt32 },
{ Names.Ceiling, Identifiers.Ceiling },
{ Names.Concat, Identifiers.Concat },
{ Names.Contains, Identifiers.Contains },
{ Names.Cos, Identifiers.Cos },
{ Names.Cot, Identifiers.Cot },
{ Names.Count, Identifiers.Count },
{ Names.DateTimeAdd, Identifiers.DateTimeAdd },
{ Names.DateTimeDiff, Identifiers.DateTimeDiff },
{ Names.DateTimeFromParts, Identifiers.DateTimeFromParts },
{ Names.DateTimePart, Identifiers.DateTimePart },
{ Names.DateTimeToTicks, Identifiers.DateTimeToTicks },
{ Names.DateTimeToTimestamp, Identifiers.DateTimeToTimestamp },
{ Names.Degrees, Identifiers.Degrees },
{ Names.Documentid, Identifiers.Documentid },
{ Names.Endswith, Identifiers.Endswith },
{ Names.Exp, Identifiers.Exp },
{ Names.Floor, Identifiers.Floor },
{ Names.FullTextScore, Identifiers.FullTextScore },
{ Names.FullTextContains, Identifiers.FullTextContains },
{ Names.FullTextContainsAll, Identifiers.FullTextContainsAll },
{ Names.FullTextContainsAny, Identifiers.FullTextContainsAny },
{ Names.GetCurrentDateTime, Identifiers.GetCurrentDateTime },
{ Names.GetCurrentTicks, Identifiers.GetCurrentTicks },
{ Names.GetCurrentTimestamp, Identifiers.GetCurrentTimestamp },
{ Names.IndexOf, Identifiers.IndexOf },
{ Names.IsArray, Identifiers.IsArray },
{ Names.IsBool, Identifiers.IsBool },
{ Names.IsDefined, Identifiers.IsDefined },
{ Names.IsFiniteNumber, Identifiers.IsFiniteNumber },
{ Names.IsNull, Identifiers.IsNull },
{ Names.IsNumber, Identifiers.IsNumber },
{ Names.IsObject, Identifiers.IsObject },
{ Names.IsPrimitive, Identifiers.IsPrimitive },
{ Names.IsString, Identifiers.IsString },
{ Names.Left, Identifiers.Left },
{ Names.Length, Identifiers.Length },
{ Names.Like, Identifiers.Like },
{ Names.Log, Identifiers.Log },
{ Names.Log10, Identifiers.Log10 },
{ Names.Lower, Identifiers.Lower },
{ Names.Ltrim, Identifiers.Ltrim },
{ Names.Max, Identifiers.Max },
{ Names.Min, Identifiers.Min },
{ Names.ObjectToArray, Identifiers.ObjectToArray },
{ Names.Pi, Identifiers.Pi },
{ Names.Power, Identifiers.Power },
{ Names.Radians, Identifiers.Radians },
{ Names.Rand, Identifiers.Rand },
{ Names.RegexMatch, Identifiers.RegexMatch },
{ Names.Replace, Identifiers.Replace },
{ Names.Replicate, Identifiers.Replicate },
{ Names.Reverse, Identifiers.Reverse },
{ Names.Right, Identifiers.Right },
{ Names.Round, Identifiers.Round },
{ Names.Rtrim, Identifiers.Rtrim },
{ Names.RRF, Identifiers.RRF },
{ Names.Sign, Identifiers.Sign },
{ Names.Sin, Identifiers.Sin },
{ Names.Sqrt, Identifiers.Sqrt },
{ Names.Square, Identifiers.Square },
{ Names.Startswith, Identifiers.Startswith },
{ Names.StDistance, Identifiers.StDistance },
{ Names.StIntersects, Identifiers.StIntersects },
{ Names.StIsvalid, Identifiers.StIsvalid },
{ Names.StIsvaliddetailed, Identifiers.StIsvaliddetailed },
{ Names.StWithin, Identifiers.StWithin },
{ Names.StringEquals, Identifiers.StringEquals },
{ Names.StringToArray, Identifiers.StringToArray },
{ Names.StringToBoolean, Identifiers.StringToBoolean },
{ Names.StringToNull, Identifiers.StringToNull },
{ Names.StringToNumber, Identifiers.StringToNumber },
{ Names.StringToObject, Identifiers.StringToObject },
{ Names.Substring, Identifiers.Substring },
{ Names.Sum, Identifiers.Sum },
{ Names.Tan, Identifiers.Tan },
{ Names.TicksToDateTime, Identifiers.TicksToDateTime },
{ Names.TimestampToDateTime, Identifiers.TimestampToDateTime },
{ Names.ToString, Identifiers.ToString },
{ Names.Trim, Identifiers.Trim },
{ Names.Trunc, Identifiers.Trunc },
{ Names.Upper, Identifiers.Upper },
}.ToImmutableDictionary();
private SqlFunctionCallScalarExpression(
SqlIdentifier name,
bool isUdf,
ImmutableArray<SqlScalarExpression> arguments)
{
foreach (SqlScalarExpression argument in arguments)
{
if (argument == null)
{
throw new ArgumentNullException($"{nameof(arguments)} must not have null items.");
}
}
this.Arguments = arguments;
this.Name = name ?? throw new ArgumentNullException(nameof(name));
this.IsUdf = isUdf;
}
public SqlIdentifier Name { get; }
public ImmutableArray<SqlScalarExpression> Arguments { get; }
public bool IsUdf { get; }
public static SqlFunctionCallScalarExpression Create(
SqlIdentifier name,
bool isUdf,
params SqlScalarExpression[] arguments) => new SqlFunctionCallScalarExpression(name, isUdf, arguments.ToImmutableArray());
public static SqlFunctionCallScalarExpression Create(
SqlIdentifier name,
bool isUdf,
ImmutableArray<SqlScalarExpression> arguments) => new SqlFunctionCallScalarExpression(name, isUdf, arguments);
public static SqlFunctionCallScalarExpression Create(
string name,
bool isUdf,
params SqlScalarExpression[] arguments) => SqlFunctionCallScalarExpression.Create(name, isUdf, arguments.ToImmutableArray());
public static SqlFunctionCallScalarExpression Create(
string name,
bool isUdf,
ImmutableArray<SqlScalarExpression> arguments)
{
if (!SqlFunctionCallScalarExpression.FunctionIdentifiers.TryGetValue(name, out SqlIdentifier sqlIdentifier))
{
sqlIdentifier = SqlIdentifier.Create(name);
}
return SqlFunctionCallScalarExpression.Create(sqlIdentifier, isUdf, arguments);
}
public static SqlFunctionCallScalarExpression CreateBuiltin(
string name,
params SqlScalarExpression[] arguments) => SqlFunctionCallScalarExpression.Create(name, isUdf: false, arguments);
public static SqlFunctionCallScalarExpression CreateBuiltin(
string name,
ImmutableArray<SqlScalarExpression> arguments) => SqlFunctionCallScalarExpression.Create(name, isUdf: false, arguments);
public static SqlFunctionCallScalarExpression CreateBuiltin(
SqlIdentifier name,
params SqlScalarExpression[] arguments) => SqlFunctionCallScalarExpression.Create(name, isUdf: false, arguments);
public static SqlFunctionCallScalarExpression CreateBuiltin(
SqlIdentifier name,
ImmutableArray<SqlScalarExpression> arguments) => SqlFunctionCallScalarExpression.Create(name, isUdf: false, arguments);
public override void Accept(SqlObjectVisitor visitor) => visitor.Visit(this);
public override TResult Accept<TResult>(SqlObjectVisitor<TResult> visitor) => visitor.Visit(this);
public override TResult Accept<T, TResult>(SqlObjectVisitor<T, TResult> visitor, T input) => visitor.Visit(this, input);
public override void Accept(SqlScalarExpressionVisitor visitor) => visitor.Visit(this);
public override TResult Accept<TResult>(SqlScalarExpressionVisitor<TResult> visitor) => visitor.Visit(this);
public override TResult Accept<T, TResult>(SqlScalarExpressionVisitor<T, TResult> visitor, T input) => visitor.Visit(this, input);
public static class Names
{
public const string InternalCompareBsonBinaryData = "_COMPARE_BSON_BINARYDATA";
public const string InternalCompareObjects = "_COMPARE_OBJECTS";
public const string InternalEvalEq = "_M_EVAL_EQ";
public const string InternalEvalGt = "_M_EVAL_GT";
public const string InternalEvalGte = "_M_EVAL_GTE";
public const string InternalEvalIn = "_M_EVAL_IN";
public const string InternalEvalLt = "_M_EVAL_LT";
public const string InternalEvalLte = "_M_EVAL_LTE";
public const string InternalEvalNeq = "_M_EVAL_NEQ";
public const string InternalEvalNin = "_M_EVAL_NIN";
public const string InternalObjectToArray = "_ObjectToArray";
public const string InternalProxyProjection = "_PROXY_PROJECTION";
public const string InternalRegexMatch = "_REGEX_MATCH";
public const string InternalStDistance = "_ST_DISTANCE";
public const string InternalStIntersects = "_ST_INTERSECTS";
public const string InternalStWithin = "_ST_WITHIN";
public const string InternalTryArrayContains = "_TRY_ARRAY_CONTAINS";
public const string Abs = "ABS";
public const string Acos = "ACOS";
public const string All = "ALL";
public const string Any = "ANY";
public const string Array = "ARRAY";
public const string ArrayConcat = "ARRAY_CONCAT";
public const string ArrayContains = "ARRAY_CONTAINS";
public const string ArrayLength = "ARRAY_LENGTH";
public const string ArraySlice = "ARRAY_SLICE";
public const string Asin = "ASIN";
public const string Atan = "ATAN";
public const string Atn2 = "ATN2";
public const string Avg = "AVG";
public const string Binary = "C_BINARY";
public const string Float32 = "C_FLOAT32";
public const string Float64 = "C_FLOAT64";
public const string Guid = "C_GUID";
public const string Int16 = "C_INT16";
public const string Int32 = "C_INT32";
public const string Int64 = "C_INT64";
public const string Int8 = "C_INT8";
public const string List = "C_LIST";
public const string ListContains = "C_LISTCONTAINS";
public const string Map = "C_MAP";
public const string MapContains = "C_MAPCONTAINS";
public const string MapContainsKey = "C_MAPCONTAINSKEY";
public const string MapContainsValue = "C_MAPCONTAINSVALUE";
public const string Set = "C_SET";
public const string SetContains = "C_SETCONTAINS";
public const string Tuple = "C_TUPLE";
public const string Udt = "C_UDT";
public const string UInt32 = "C_UINT32";
public const string Ceiling = "CEILING";
public const string Concat = "CONCAT";
public const string Contains = "CONTAINS";
public const string Cos = "COS";
public const string Cot = "COT";
public const string Count = "COUNT";
public const string DateTimeAdd = "DateTimeAdd";
public const string DateTimeDiff = "DateTimeDiff";
public const string DateTimeFromParts = "DateTimeFromParts";
public const string DateTimePart = "DateTimePart";
public const string DateTimeToTicks = "DateTimeToTicks";
public const string DateTimeToTimestamp = "DateTimeToTimestamp";
public const string Degrees = "DEGREES";
public const string Documentid = "DOCUMENTID";
public const string Endswith = "ENDSWITH";
public const string Exp = "EXP";
public const string Floor = "FLOOR";
public const string FullTextContains = "FullTextContains";
public const string FullTextContainsAll = "FullTextContainsAll";
public const string FullTextContainsAny = "FullTextContainsAny";
public const string FullTextScore = "FullTextScore";
public const string GetCurrentDateTime = "GetCurrentDateTime";
public const string GetCurrentTicks = "GetCurrentTicks";
public const string GetCurrentTimestamp = "GetCurrentTimestamp";
public const string IndexOf = "INDEX_OF";
public const string IntAdd = "IntAdd";
public const string IntBitwiseAnd = "IntBitwiseAnd";
public const string IntBitwiseLeftShift = "IntBitwiseLeftShift";
public const string IntBitwiseNot = "IntBitwiseNot";
public const string IntBitwiseOr = "IntBitwiseOr";
public const string IntBitwiseRightShift = "IntBitwiseRightShift";
public const string IntBitwiseXor = "IntBitwiseXor";
public const string IntDiv = "IntDiv";
public const string IntMod = "IntMod";
public const string IntMul = "IntMul";
public const string IntSub = "IntSub";
public const string IsArray = "IS_ARRAY";
public const string IsBool = "IS_BOOL";
public const string IsDefined = "IS_DEFINED";
public const string IsFiniteNumber = "IS_FINITE_NUMBER";
public const string IsInteger = "IS_INTEGER";
public const string IsNull = "IS_NULL";
public const string IsNumber = "IS_NUMBER";
public const string IsObject = "IS_OBJECT";
public const string IsPrimitive = "IS_PRIMITIVE";
public const string IsString = "IS_STRING";
public const string Left = "LEFT";
public const string Length = "LENGTH";
public const string Like = "LIKE";
public const string Log = "LOG";
public const string Log10 = "LOG10";
public const string Lower = "LOWER";
public const string Ltrim = "LTRIM";
public const string Max = "MAX";
public const string Min = "MIN";
public const string ObjectToArray = "ObjectToArray";
public const string Pi = "PI";
public const string Power = "POWER";
public const string Radians = "RADIANS";
public const string Rand = "RAND";
public const string RegexMatch = "RegexMatch";
public const string Replace = "REPLACE";
public const string Replicate = "REPLICATE";
public const string Reverse = "REVERSE";
public const string Right = "RIGHT";
public const string Round = "ROUND";
public const string RRF = "RRF";
public const string Rtrim = "RTRIM";
public const string Sign = "SIGN";
public const string Sin = "SIN";
public const string Sqrt = "SQRT";
public const string Square = "SQUARE";
public const string Startswith = "STARTSWITH";
public const string StDistance = "ST_DISTANCE";
public const string StIntersects = "ST_INTERSECTS";
public const string StIsvalid = "ST_ISVALID";
public const string StIsvaliddetailed = "ST_ISVALIDDETAILED";
public const string StWithin = "ST_WITHIN";
public const string StringEquals = "StringEquals";
public const string StringToArray = "StringToArray";
public const string StringToBoolean = "StringToBoolean";
public const string StringToNull = "StringToNull";
public const string StringToNumber = "StringToNumber";
public const string StringToObject = "StringToObject";
public const string Substring = "SUBSTRING";
public const string Sum = "SUM";
public const string Tan = "TAN";
public const string TicksToDateTime = "TicksToDateTime";
public const string TimestampToDateTime = "TimestampToDateTime";
#pragma warning disable CS0108 // Member hides inherited member; missing new keyword
public const string ToString = "ToString";
#pragma warning restore CS0108 // Member hides inherited member; missing new keyword
public const string Trim = "TRIM";
public const string Trunc = "TRUNC";
public const string Upper = "UPPER";
}
public static class Identifiers
{
public static readonly SqlIdentifier InternalCompareBsonBinaryData = SqlIdentifier.Create(Names.InternalCompareBsonBinaryData);
public static readonly SqlIdentifier InternalCompareObjects = SqlIdentifier.Create(Names.InternalCompareObjects);
public static readonly SqlIdentifier InternalEvalEq = SqlIdentifier.Create(Names.InternalEvalEq);
public static readonly SqlIdentifier InternalEvalGt = SqlIdentifier.Create(Names.InternalEvalGt);
public static readonly SqlIdentifier InternalEvalGte = SqlIdentifier.Create(Names.InternalEvalGte);
public static readonly SqlIdentifier InternalEvalIn = SqlIdentifier.Create(Names.InternalEvalIn);
public static readonly SqlIdentifier InternalEvalLt = SqlIdentifier.Create(Names.InternalEvalLt);
public static readonly SqlIdentifier InternalEvalLte = SqlIdentifier.Create(Names.InternalEvalLte);
public static readonly SqlIdentifier InternalEvalNeq = SqlIdentifier.Create(Names.InternalEvalNeq);
public static readonly SqlIdentifier InternalEvalNin = SqlIdentifier.Create(Names.InternalEvalNin);
public static readonly SqlIdentifier InternalObjectToArray = SqlIdentifier.Create(Names.InternalObjectToArray);
public static readonly SqlIdentifier InternalProxyProjection = SqlIdentifier.Create(Names.InternalProxyProjection);
public static readonly SqlIdentifier InternalRegexMatch = SqlIdentifier.Create(Names.InternalRegexMatch);
public static readonly SqlIdentifier InternalStDistance = SqlIdentifier.Create(Names.InternalStDistance);
public static readonly SqlIdentifier InternalStIntersects = SqlIdentifier.Create(Names.InternalStIntersects);
public static readonly SqlIdentifier InternalStWithin = SqlIdentifier.Create(Names.InternalStWithin);
public static readonly SqlIdentifier InternalTryArrayContains = SqlIdentifier.Create(Names.InternalTryArrayContains);
public static readonly SqlIdentifier Abs = SqlIdentifier.Create(Names.Abs);
public static readonly SqlIdentifier Acos = SqlIdentifier.Create(Names.Acos);
public static readonly SqlIdentifier All = SqlIdentifier.Create(Names.All);
public static readonly SqlIdentifier Any = SqlIdentifier.Create(Names.Any);
public static readonly SqlIdentifier Array = SqlIdentifier.Create(Names.Array);
public static readonly SqlIdentifier ArrayConcat = SqlIdentifier.Create(Names.ArrayConcat);
public static readonly SqlIdentifier ArrayContains = SqlIdentifier.Create(Names.ArrayContains);
public static readonly SqlIdentifier ArrayLength = SqlIdentifier.Create(Names.ArrayLength);
public static readonly SqlIdentifier ArraySlice = SqlIdentifier.Create(Names.ArraySlice);
public static readonly SqlIdentifier Asin = SqlIdentifier.Create(Names.Asin);
public static readonly SqlIdentifier Atan = SqlIdentifier.Create(Names.Atan);
public static readonly SqlIdentifier Atn2 = SqlIdentifier.Create(Names.Atn2);
public static readonly SqlIdentifier Avg = SqlIdentifier.Create(Names.Avg);
public static readonly SqlIdentifier Binary = SqlIdentifier.Create(Names.Binary);
public static readonly SqlIdentifier Float32 = SqlIdentifier.Create(Names.Float32);
public static readonly SqlIdentifier Float64 = SqlIdentifier.Create(Names.Float64);
public static readonly SqlIdentifier Guid = SqlIdentifier.Create(Names.Guid);
public static readonly SqlIdentifier Int16 = SqlIdentifier.Create(Names.Int16);
public static readonly SqlIdentifier Int32 = SqlIdentifier.Create(Names.Int32);
public static readonly SqlIdentifier Int64 = SqlIdentifier.Create(Names.Int64);
public static readonly SqlIdentifier Int8 = SqlIdentifier.Create(Names.Int8);
public static readonly SqlIdentifier List = SqlIdentifier.Create(Names.List);
public static readonly SqlIdentifier ListContains = SqlIdentifier.Create(Names.ListContains);
public static readonly SqlIdentifier Map = SqlIdentifier.Create(Names.Map);
public static readonly SqlIdentifier MapContains = SqlIdentifier.Create(Names.MapContains);
public static readonly SqlIdentifier MapContainsKey = SqlIdentifier.Create(Names.MapContainsKey);
public static readonly SqlIdentifier MapContainsValue = SqlIdentifier.Create(Names.MapContainsValue);
public static readonly SqlIdentifier Set = SqlIdentifier.Create(Names.Set);
public static readonly SqlIdentifier SetContains = SqlIdentifier.Create(Names.SetContains);
public static readonly SqlIdentifier Tuple = SqlIdentifier.Create(Names.Tuple);
public static readonly SqlIdentifier Udt = SqlIdentifier.Create(Names.Udt);
public static readonly SqlIdentifier UInt32 = SqlIdentifier.Create(Names.UInt32);
public static readonly SqlIdentifier Ceiling = SqlIdentifier.Create(Names.Ceiling);
public static readonly SqlIdentifier Concat = SqlIdentifier.Create(Names.Concat);
public static readonly SqlIdentifier Contains = SqlIdentifier.Create(Names.Contains);
public static readonly SqlIdentifier Cos = SqlIdentifier.Create(Names.Cos);
public static readonly SqlIdentifier Cot = SqlIdentifier.Create(Names.Cot);
public static readonly SqlIdentifier Count = SqlIdentifier.Create(Names.Count);
public static readonly SqlIdentifier DateTimeAdd = SqlIdentifier.Create(Names.DateTimeAdd);
public static readonly SqlIdentifier DateTimeDiff = SqlIdentifier.Create(Names.DateTimeDiff);
public static readonly SqlIdentifier DateTimeFromParts = SqlIdentifier.Create(Names.DateTimeFromParts);
public static readonly SqlIdentifier DateTimePart = SqlIdentifier.Create(Names.DateTimePart);
public static readonly SqlIdentifier DateTimeToTicks = SqlIdentifier.Create(Names.DateTimeToTicks);
public static readonly SqlIdentifier DateTimeToTimestamp = SqlIdentifier.Create(Names.DateTimeToTimestamp);
public static readonly SqlIdentifier Degrees = SqlIdentifier.Create(Names.Degrees);
public static readonly SqlIdentifier Documentid = SqlIdentifier.Create(Names.Documentid);
public static readonly SqlIdentifier Endswith = SqlIdentifier.Create(Names.Endswith);
public static readonly SqlIdentifier Exp = SqlIdentifier.Create(Names.Exp);
public static readonly SqlIdentifier Floor = SqlIdentifier.Create(Names.Floor);
public static readonly SqlIdentifier FullTextContains = SqlIdentifier.Create(Names.FullTextContains);
public static readonly SqlIdentifier FullTextContainsAll = SqlIdentifier.Create(Names.FullTextContainsAll);
public static readonly SqlIdentifier FullTextContainsAny = SqlIdentifier.Create(Names.FullTextContainsAny);
public static readonly SqlIdentifier FullTextScore = SqlIdentifier.Create(Names.FullTextScore);
public static readonly SqlIdentifier GetCurrentDateTime = SqlIdentifier.Create(Names.GetCurrentDateTime);
public static readonly SqlIdentifier GetCurrentTicks = SqlIdentifier.Create(Names.GetCurrentTicks);
public static readonly SqlIdentifier GetCurrentTimestamp = SqlIdentifier.Create(Names.GetCurrentTimestamp);
public static readonly SqlIdentifier IndexOf = SqlIdentifier.Create(Names.IndexOf);
public static readonly SqlIdentifier IntAdd = SqlIdentifier.Create(Names.IntAdd);
public static readonly SqlIdentifier IntBitwiseAnd = SqlIdentifier.Create(Names.IntBitwiseAnd);
public static readonly SqlIdentifier IntBitwiseLeftShift = SqlIdentifier.Create(Names.IntBitwiseLeftShift);
public static readonly SqlIdentifier IntBitwiseNot = SqlIdentifier.Create(Names.IntBitwiseNot);
public static readonly SqlIdentifier IntBitwiseOr = SqlIdentifier.Create(Names.IntBitwiseOr);
public static readonly SqlIdentifier IntBitwiseRightShift = SqlIdentifier.Create(Names.IntBitwiseRightShift);
public static readonly SqlIdentifier IntBitwiseXor = SqlIdentifier.Create(Names.IntBitwiseXor);
public static readonly SqlIdentifier IntDiv = SqlIdentifier.Create(Names.IntDiv);
public static readonly SqlIdentifier IntMod = SqlIdentifier.Create(Names.IntMod);
public static readonly SqlIdentifier IntMul = SqlIdentifier.Create(Names.IntMul);
public static readonly SqlIdentifier IntSub = SqlIdentifier.Create(Names.IntSub);
public static readonly SqlIdentifier IsArray = SqlIdentifier.Create(Names.IsArray);
public static readonly SqlIdentifier IsBool = SqlIdentifier.Create(Names.IsBool);
public static readonly SqlIdentifier IsDefined = SqlIdentifier.Create(Names.IsDefined);
public static readonly SqlIdentifier IsFiniteNumber = SqlIdentifier.Create(Names.IsFiniteNumber);
public static readonly SqlIdentifier IsInteger = SqlIdentifier.Create(Names.IsInteger);
public static readonly SqlIdentifier IsNull = SqlIdentifier.Create(Names.IsNull);
public static readonly SqlIdentifier IsNumber = SqlIdentifier.Create(Names.IsNumber);
public static readonly SqlIdentifier IsObject = SqlIdentifier.Create(Names.IsObject);
public static readonly SqlIdentifier IsPrimitive = SqlIdentifier.Create(Names.IsPrimitive);
public static readonly SqlIdentifier IsString = SqlIdentifier.Create(Names.IsString);
public static readonly SqlIdentifier Left = SqlIdentifier.Create(Names.Left);
public static readonly SqlIdentifier Length = SqlIdentifier.Create(Names.Length);
public static readonly SqlIdentifier Like = SqlIdentifier.Create(Names.Like);
public static readonly SqlIdentifier Log = SqlIdentifier.Create(Names.Log);
public static readonly SqlIdentifier Log10 = SqlIdentifier.Create(Names.Log10);
public static readonly SqlIdentifier Lower = SqlIdentifier.Create(Names.Lower);
public static readonly SqlIdentifier Ltrim = SqlIdentifier.Create(Names.Ltrim);
public static readonly SqlIdentifier Max = SqlIdentifier.Create(Names.Max);
public static readonly SqlIdentifier Min = SqlIdentifier.Create(Names.Min);
public static readonly SqlIdentifier ObjectToArray = SqlIdentifier.Create(Names.ObjectToArray);
public static readonly SqlIdentifier Pi = SqlIdentifier.Create(Names.Pi);
public static readonly SqlIdentifier Power = SqlIdentifier.Create(Names.Power);
public static readonly SqlIdentifier Radians = SqlIdentifier.Create(Names.Radians);
public static readonly SqlIdentifier Rand = SqlIdentifier.Create(Names.Rand);
public static readonly SqlIdentifier RegexMatch = SqlIdentifier.Create(Names.RegexMatch);
public static readonly SqlIdentifier Replace = SqlIdentifier.Create(Names.Replace);
public static readonly SqlIdentifier Replicate = SqlIdentifier.Create(Names.Replicate);
public static readonly SqlIdentifier Reverse = SqlIdentifier.Create(Names.Reverse);
public static readonly SqlIdentifier Right = SqlIdentifier.Create(Names.Right);
public static readonly SqlIdentifier Round = SqlIdentifier.Create(Names.Round);
public static readonly SqlIdentifier RRF = SqlIdentifier.Create(Names.RRF);
public static readonly SqlIdentifier Rtrim = SqlIdentifier.Create(Names.Rtrim);
public static readonly SqlIdentifier Sign = SqlIdentifier.Create(Names.Sign);
public static readonly SqlIdentifier Sin = SqlIdentifier.Create(Names.Sin);
public static readonly SqlIdentifier Sqrt = SqlIdentifier.Create(Names.Sqrt);
public static readonly SqlIdentifier Square = SqlIdentifier.Create(Names.Square);
public static readonly SqlIdentifier Startswith = SqlIdentifier.Create(Names.Startswith);
public static readonly SqlIdentifier StDistance = SqlIdentifier.Create(Names.StDistance);
public static readonly SqlIdentifier StIntersects = SqlIdentifier.Create(Names.StIntersects);
public static readonly SqlIdentifier StIsvalid = SqlIdentifier.Create(Names.StIsvalid);
public static readonly SqlIdentifier StIsvaliddetailed = SqlIdentifier.Create(Names.StIsvaliddetailed);
public static readonly SqlIdentifier StWithin = SqlIdentifier.Create(Names.StWithin);
public static readonly SqlIdentifier StringEquals = SqlIdentifier.Create(Names.StringEquals);
public static readonly SqlIdentifier StringToArray = SqlIdentifier.Create(Names.StringToArray);
public static readonly SqlIdentifier StringToBoolean = SqlIdentifier.Create(Names.StringToBoolean);
public static readonly SqlIdentifier StringToNull = SqlIdentifier.Create(Names.StringToNull);
public static readonly SqlIdentifier StringToNumber = SqlIdentifier.Create(Names.StringToNumber);
public static readonly SqlIdentifier StringToObject = SqlIdentifier.Create(Names.StringToObject);
public static readonly SqlIdentifier Substring = SqlIdentifier.Create(Names.Substring);
public static readonly SqlIdentifier Sum = SqlIdentifier.Create(Names.Sum);
public static readonly SqlIdentifier Tan = SqlIdentifier.Create(Names.Tan);
public static readonly SqlIdentifier TicksToDateTime = SqlIdentifier.Create(Names.TicksToDateTime);
public static readonly SqlIdentifier TimestampToDateTime = SqlIdentifier.Create(Names.TimestampToDateTime);
#pragma warning disable CS0108 // Member hides inherited member; missing new keyword
public static readonly SqlIdentifier ToString = SqlIdentifier.Create(Names.ToString);
#pragma warning restore CS0108 // Member hides inherited member; missing new keyword
public static readonly SqlIdentifier Trim = SqlIdentifier.Create(Names.Trim);
public static readonly SqlIdentifier Trunc = SqlIdentifier.Create(Names.Trunc);
public static readonly SqlIdentifier Upper = SqlIdentifier.Create(Names.Upper);
}
}
}