Class WindowFunctionsMemberTranslator
- Namespace
- LinqToDB.Linq.Translation
- Assembly
- linq2db.dll
public class WindowFunctionsMemberTranslator : MemberTranslatorBase, IMemberTranslator
- Inheritance
-
objectWindowFunctionsMemberTranslator
- Implements
- Derived
- Inherited Members
- Extension Methods
Constructors
WindowFunctionsMemberTranslator()
public WindowFunctionsMemberTranslator()
Properties
IsAggregateDistinctSupported
protected virtual bool IsAggregateDistinctSupported { get; }
Property Value
IsAggregateWindowFunctionsSupported
protected virtual bool IsAggregateWindowFunctionsSupported { get; }
Property Value
IsCorrelationSupported
protected virtual bool IsCorrelationSupported { get; }
Property Value
IsCovarianceSupported
protected virtual bool IsCovarianceSupported { get; }
Property Value
IsCumeDistSupported
protected virtual bool IsCumeDistSupported { get; }
Property Value
IsFirstLastValueSupported
protected virtual bool IsFirstLastValueSupported { get; }
Property Value
IsFrameExclusionSupported
protected virtual bool IsFrameExclusionSupported { get; }
Property Value
IsFrameGroupsSupported
protected virtual bool IsFrameGroupsSupported { get; }
Property Value
IsFrameRangeSupported
protected virtual bool IsFrameRangeSupported { get; }
Property Value
IsFrameRowsSupported
protected virtual bool IsFrameRowsSupported { get; }
Property Value
IsHypotheticalSetSupported
protected virtual bool IsHypotheticalSetSupported { get; }
Property Value
IsKeepSupported
protected virtual bool IsKeepSupported { get; }
Property Value
IsLeadLagDefaultSupported
protected virtual bool IsLeadLagDefaultSupported { get; }
Property Value
IsLeadLagNullTreatmentSupported
protected virtual bool IsLeadLagNullTreatmentSupported { get; }
Property Value
IsLeadLagSupported
protected virtual bool IsLeadLagSupported { get; }
Property Value
IsLinearRegressionSupported
protected virtual bool IsLinearRegressionSupported { get; }
Property Value
IsMedianSupported
protected virtual bool IsMedianSupported { get; }
Property Value
IsNTileSupported
protected virtual bool IsNTileSupported { get; }
Property Value
IsNthValueFromSupported
protected virtual bool IsNthValueFromSupported { get; }
Property Value
IsNthValueSupported
protected virtual bool IsNthValueSupported { get; }
Property Value
IsOrderedSetFilterSupported
protected virtual bool IsOrderedSetFilterSupported { get; }
Property Value
IsOrderedSetWindowedSupported
protected virtual bool IsOrderedSetWindowedSupported { get; }
Property Value
IsPercentRankSupported
protected virtual bool IsPercentRankSupported { get; }
Property Value
IsPercentileContSupported
protected virtual bool IsPercentileContSupported { get; }
Property Value
IsPercentileDiscSupported
protected virtual bool IsPercentileDiscSupported { get; }
Property Value
IsRowNumberNeedsCasting
When true, the translated ROW_NUMBER() is wrapped in an explicit CAST to the
result type. Providers whose ROW_NUMBER() does not yield the expected numeric type override this to
opt in (e.g. ClickHouse). Default: false.
public virtual bool IsRowNumberNeedsCasting { get; }
Property Value
IsStdDevSupported
protected virtual bool IsStdDevSupported { get; }
Property Value
IsValueNullTreatmentSupported
protected virtual bool IsValueNullTreatmentSupported { get; }
Property Value
IsVarianceBareSupported
protected virtual bool IsVarianceBareSupported { get; }
Property Value
IsVarianceSupported
protected virtual bool IsVarianceSupported { get; }
Property Value
IsWindowFilterSupported
protected virtual bool IsWindowFilterSupported { get; }
Property Value
IsWindowFunctionsSupported
protected virtual bool IsWindowFunctionsSupported { get; }
Property Value
StdDevFunctionName
protected virtual string StdDevFunctionName { get; }
Property Value
StdDevPopFunctionName
protected virtual string StdDevPopFunctionName { get; }
Property Value
StdDevSampFunctionName
protected virtual string StdDevSampFunctionName { get; }
Property Value
VarPopFunctionName
protected virtual string VarPopFunctionName { get; }
Property Value
VarSampFunctionName
protected virtual string VarSampFunctionName { get; }
Property Value
VarianceFunctionName
protected virtual string VarianceFunctionName { get; }
Property Value
Methods
CollectWindowFunctionInformation(ITranslationContext, Type, Expression[]?, Expression, out WindowFunctionInformation?, out SqlErrorExpression?)
protected static bool CollectWindowFunctionInformation(ITranslationContext translationContext, Type expressionType, Expression[]? functionArguments, Expression buildBody, out WindowFunctionsMemberTranslator.WindowFunctionInformation? functionInfo, out SqlErrorExpression? error)
Parameters
translationContextITranslationContextexpressionTypeTypefunctionArgumentsExpression[]buildBodyExpressionfunctionInfoWindowFunctionsMemberTranslator.WindowFunctionInformationerrorSqlErrorExpression
Returns
TranslateAverage(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateAverage(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateCorr(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateCorr(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateCount(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateCount(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateCovarPop(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateCovarPop(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateCovarSamp(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateCovarSamp(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateCumeDist(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateCumeDist(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateDenseRank(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateDenseRank(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateFirstValue(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateFirstValue(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateHypotheticalCumeDist(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateHypotheticalCumeDist(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateHypotheticalDenseRank(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateHypotheticalDenseRank(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateHypotheticalPercentRank(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateHypotheticalPercentRank(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateHypotheticalRank(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateHypotheticalRank(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateLag(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateLag(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateLastValue(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateLastValue(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateLead(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateLead(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateMax(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateMax(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateMedian(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateMedian(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateMin(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateMin(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateNTile(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateNTile(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateNthValue(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateNthValue(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateOrderItems(ISqlExpressionTranslator, NullsDefaultOrdering, bool, Type, IEnumerable<OrderByInformation>, List<SqlWindowOrderItem>, out SqlErrorExpression?)
protected bool TranslateOrderItems(ISqlExpressionTranslator translator, NullsDefaultOrdering defaultNullsOrdering, bool isNullsOrderingSupported, Type errorType, IEnumerable<WindowFunctionsMemberTranslator.OrderByInformation> orderBy, List<SqlWindowOrderItem> orderItems, out SqlErrorExpression? error)
Parameters
translatorISqlExpressionTranslatordefaultNullsOrderingNullsDefaultOrderingisNullsOrderingSupportedboolerrorTypeTypeorderByIEnumerable<WindowFunctionsMemberTranslator.OrderByInformation>orderItemsList<SqlWindowOrderItem>errorSqlErrorExpression
Returns
TranslatePartitionBy(ISqlExpressionTranslator, Type, IEnumerable<Expression>, List<ISqlExpression>, out SqlErrorExpression?)
protected bool TranslatePartitionBy(ISqlExpressionTranslator translator, Type errorType, IEnumerable<Expression> partitionBy, List<ISqlExpression> partitionByItems, out SqlErrorExpression? error)
Parameters
translatorISqlExpressionTranslatorerrorTypeTypepartitionByIEnumerable<Expression>partitionByItemsList<ISqlExpression>errorSqlErrorExpression
Returns
TranslatePercentRank(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslatePercentRank(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslatePercentileCont(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslatePercentileCont(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslatePercentileContWindowed(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslatePercentileContWindowed(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslatePercentileDisc(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslatePercentileDisc(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslatePercentileDiscWindowed(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslatePercentileDiscWindowed(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateRank(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateRank(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateRatioToReport(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateRatioToReport(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateRatioToReportNative(ITranslationContext, MethodCallExpression)
protected Expression? TranslateRatioToReportNative(ITranslationContext translationContext, MethodCallExpression methodCall)
Parameters
translationContextITranslationContextmethodCallMethodCallExpression
Returns
TranslateRegrAvgX(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateRegrAvgX(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateRegrAvgY(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateRegrAvgY(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateRegrCount(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateRegrCount(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateRegrIntercept(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateRegrIntercept(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateRegrR2(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateRegrR2(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateRegrSXX(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateRegrSXX(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateRegrSXY(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateRegrSXY(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateRegrSYY(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateRegrSYY(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateRegrSlope(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateRegrSlope(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateRowNumber(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateRowNumber(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateStdDev(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateStdDev(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateStdDevPop(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateStdDevPop(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateStdDevSamp(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateStdDevSamp(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateSum(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateSum(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateVarPop(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateVarPop(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateVarSamp(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateVarSamp(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateVariance(ITranslationContext, MethodCallExpression, TranslationFlags)
public virtual Expression? TranslateVariance(ITranslationContext translationContext, MethodCallExpression methodCall, TranslationFlags translationFlags)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressiontranslationFlagsTranslationFlags
Returns
TranslateWindowFunction(ITranslationContext, MethodCallExpression, int?, int, DbDataType, string, Action<List<SqlFunctionArgument>, bool>?, Func<ISqlExpression, ISqlExpression>?)
protected Expression TranslateWindowFunction(ITranslationContext translationContext, MethodCallExpression methodCall, int? argumentIndex, int windowArgument, DbDataType dbDataType, string functionName, Action<List<SqlFunctionArgument>, bool>? adjustArguments = null, Func<ISqlExpression, ISqlExpression>? transform = null)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressionargumentIndexint?windowArgumentintdbDataTypeDbDataTypefunctionNamestringadjustArgumentsAction<List<SqlFunctionArgument>, bool>transformFunc<ISqlExpression, ISqlExpression>
Returns
TranslateWindowFunctionMultiArg(ITranslationContext, MethodCallExpression, int[], int, DbDataType, string)
protected Expression TranslateWindowFunctionMultiArg(ITranslationContext translationContext, MethodCallExpression methodCall, int[] argumentIndexes, int windowArgument, DbDataType dbDataType, string functionName)
Parameters
translationContextITranslationContextmethodCallMethodCallExpressionargumentIndexesint[]windowArgumentintdbDataTypeDbDataTypefunctionNamestring