Translate the Atan2 function

7.0-servicing
Christopher Jolly 2 years ago
parent 5e32650f6d
commit 3ef1503bb9

@ -203,7 +203,18 @@ namespace EntityFrameworkCore.Jet.Query.ExpressionTranslators.Internal
nameof(Math.Floor) => CreateFix(arguments, method.ReturnType),
nameof(Math.Ceiling) => CreateCeiling(arguments, method.ReturnType),
nameof(Math.Atan2) => _sqlExpressionFactory.Function(
"ATN",
new[]
{
_sqlExpressionFactory.Divide(
arguments[0],
arguments[1]
)
},
true,
new[] { true },
method.ReturnType),
_ => null,

@ -1067,9 +1067,11 @@ WHERE `o`.`OrderID` = 11077 AND ATN(CDBL(`o`.`Discount`)) > 0.0");
await base.Where_math_atan2(isAsync);
AssertSql(
$@"SELECT `o`.`OrderID`, `o`.`ProductID`, `o`.`Discount`, `o`.`Quantity`, `o`.`UnitPrice`
FROM `Order Details` AS `o`
WHERE (`o`.`OrderID` = 11077) AND (ATN2(CDBL(`o`.`Discount`), 1.0E0) > 0.0E0)");
"""
SELECT `o`.`OrderID`, `o`.`ProductID`, `o`.`Discount`, `o`.`Quantity`, `o`.`UnitPrice`
FROM `Order Details` AS `o`
WHERE `o`.`OrderID` = 11077 AND ATN(CDBL(`o`.`Discount`) / 1.0) > 0.0
""");
}
public override async Task Where_math_cos(bool isAsync)
@ -1349,11 +1351,11 @@ WHERE `o`.`OrderID` = 11077 AND ATN(`o`.`Discount`) > 0
await base.Where_mathf_atan2(async);
AssertSql(
"""
SELECT `o`.`OrderID`, `o`.`ProductID`, `o`.`Discount`, `o`.`Quantity`, `o`.`UnitPrice`
FROM `Order Details` AS `o`
WHERE `o`.`OrderID` = 11077 AND ATN2(`o`.`Discount`, CAST(1 AS real)) > CAST(0 AS real)
""");
"""
SELECT `o`.`OrderID`, `o`.`ProductID`, `o`.`Discount`, `o`.`Quantity`, `o`.`UnitPrice`
FROM `Order Details` AS `o`
WHERE `o`.`OrderID` = 11077 AND ATN(`o`.`Discount` / 1) > 0
""");
}
public override async Task Where_mathf_cos(bool async)

Loading…
Cancel
Save