/// <summary> /// Hanndler for date differencing functions supported only starting from Katmai /// </summary> /// <param name="sqlgen"></param> /// <param name="e"></param> /// <returns></returns> private static ISqlFragment HandleCanonicalFunctionDateDiffKatmaiOrNewer(SqlGenerator sqlgen, DbFunctionExpression e) { sqlgen.AssertKatmaiOrNewer(e); return HandleCanonicalFunctionDateDiff(sqlgen, e); }
/// <summary> /// See <see cref="HandleCanonicalFunctionDateTimeTypeCreation"/> for exact translation /// Pre Katmai not supported. /// On Katmai creates datetimeoffset. /// </summary> /// <param name="sqlgen"></param> /// <param name="e"></param> /// <returns></returns> private static ISqlFragment HandleCanonicalFunctionCreateDateTimeOffset(SqlGenerator sqlgen, DbFunctionExpression e) { sqlgen.AssertKatmaiOrNewer(e); return HandleCanonicalFunctionDateTimeTypeCreation(sqlgen, "datetimeoffset", e.Arguments, true, true); }
/// <summary> /// See <see cref="HandleCanonicalFunctionDateTimeTypeCreation"/> for exact translation /// Pre Katmai not supported. /// On Katmai creates time. /// </summary> /// <param name="sqlgen"></param> /// <param name="e"></param> /// <returns></returns> private static ISqlFragment HandleCanonicalFunctionCreateTime(SqlGenerator sqlgen, DbFunctionExpression e) { sqlgen.AssertKatmaiOrNewer(e); return HandleCanonicalFunctionDateTimeTypeCreation(sqlgen, "time", e.Arguments, false, false); }
/// <summary> /// Handler for the canonical function CurrentDateTimeOffset /// For Sql8 and Sql9: throw /// For Sql10: CurrentDateTimeOffset() -> SysDateTimeOffset() /// </summary> /// <param name="sqlgen"></param> /// <param name="e"></param> /// <returns></returns> private static ISqlFragment HandleCanonicalFunctionCurrentDateTimeOffset(SqlGenerator sqlgen, DbFunctionExpression e) { sqlgen.AssertKatmaiOrNewer(e); return HandleFunctionDefaultGivenName(sqlgen, e, "SysDateTimeOffset"); }