diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/BaseComparisonFunction.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/BaseComparisonFunction.php index 80703a82..e745948b 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/BaseComparisonFunction.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/BaseComparisonFunction.php @@ -11,5 +11,5 @@ */ abstract class BaseComparisonFunction extends BaseVariadicFunction { - protected string $commonNodeMapping = 'ArithmeticPrimary'; + protected string $commonNodeMapping = 'SimpleArithmeticExpression'; } diff --git a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/GreatestTest.php b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/GreatestTest.php index 78d66d01..2f9c3fe6 100644 --- a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/GreatestTest.php +++ b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/GreatestTest.php @@ -26,14 +26,18 @@ protected function getStringFunctions(): array protected function getExpectedSqlStatements(): array { return [ - 'SELECT greatest(c0_.integer1, c0_.integer2, c0_.integer3) AS sclr_0 FROM ContainsIntegers c0_', + 'multiple column values' => 'SELECT greatest(c0_.integer1, c0_.integer2, c0_.integer3) AS sclr_0 FROM ContainsIntegers c0_', + 'column value with expression' => 'SELECT greatest(c0_.integer1 * 100, SQRT(11) * 150) AS sclr_0 FROM ContainsIntegers c0_', + 'multiple expressions' => 'SELECT greatest(SQRT(30) * 100, SQRT(11) * 150) AS sclr_0 FROM ContainsIntegers c0_', ]; } protected function getDqlStatements(): array { return [ - \sprintf('SELECT GREATEST(e.integer1, e.integer2, e.integer3) FROM %s e', ContainsIntegers::class), + 'multiple column values' => \sprintf('SELECT GREATEST(e.integer1, e.integer2, e.integer3) FROM %s e', ContainsIntegers::class), + 'column value with expression' => \sprintf('SELECT GREATEST(e.integer1 * 100, sqrt(11) * 150) FROM %s e', ContainsIntegers::class), + 'multiple expressions' => \sprintf('SELECT GREATEST(sqrt(30) * 100, sqrt(11) * 150) FROM %s e', ContainsIntegers::class), ]; } diff --git a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/LeastTest.php b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/LeastTest.php index dab36589..6d99df1c 100644 --- a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/LeastTest.php +++ b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/LeastTest.php @@ -26,14 +26,18 @@ protected function getStringFunctions(): array protected function getExpectedSqlStatements(): array { return [ - 'SELECT least(c0_.integer1, c0_.integer2, c0_.integer3) AS sclr_0 FROM ContainsIntegers c0_', + 'multiple column values' => 'SELECT least(c0_.integer1, c0_.integer2, c0_.integer3) AS sclr_0 FROM ContainsIntegers c0_', + 'column value with expression' => 'SELECT least(c0_.integer1 * 100, SQRT(11) * 150) AS sclr_0 FROM ContainsIntegers c0_', + 'multiple expressions' => 'SELECT least(SQRT(30) * 100, SQRT(11) * 150) AS sclr_0 FROM ContainsIntegers c0_', ]; } protected function getDqlStatements(): array { return [ - \sprintf('SELECT LEAST(e.integer1, e.integer2, e.integer3) FROM %s e', ContainsIntegers::class), + 'multiple column values' => \sprintf('SELECT LEAST(e.integer1, e.integer2, e.integer3) FROM %s e', ContainsIntegers::class), + 'column value with expression' => \sprintf('SELECT LEAST(e.integer1 * 100, sqrt(11) * 150) FROM %s e', ContainsIntegers::class), + 'multiple expressions' => \sprintf('SELECT LEAST(sqrt(30) * 100, sqrt(11) * 150) FROM %s e', ContainsIntegers::class), ]; }