diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayAppend.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayAppend.php index 783a834d..2150a9cc 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayAppend.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayAppend.php @@ -18,6 +18,6 @@ protected function customiseFunction(): void { $this->setFunctionPrototype('array_append(%s, %s)'); $this->addNodeMapping('StringPrimary'); - $this->addNodeMapping('Literal'); + $this->addNodeMapping('ArithmeticPrimary'); } } diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayLength.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayLength.php index c25fb061..408ddda3 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayLength.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayLength.php @@ -18,6 +18,6 @@ protected function customiseFunction(): void { $this->setFunctionPrototype('array_length(%s, %s)'); $this->addNodeMapping('StringPrimary'); - $this->addNodeMapping('Literal'); + $this->addNodeMapping('ArithmeticPrimary'); } } diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayPrepend.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayPrepend.php index bc139882..04101d08 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayPrepend.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayPrepend.php @@ -17,7 +17,7 @@ class ArrayPrepend extends BaseFunction protected function customiseFunction(): void { $this->setFunctionPrototype('array_prepend(%s, %s)'); - $this->addNodeMapping('Literal'); + $this->addNodeMapping('ArithmeticPrimary'); $this->addNodeMapping('StringPrimary'); } } diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayRemove.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayRemove.php index 1985ef33..62a941eb 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayRemove.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayRemove.php @@ -18,6 +18,6 @@ protected function customiseFunction(): void { $this->setFunctionPrototype('array_remove(%s, %s)'); $this->addNodeMapping('StringPrimary'); - $this->addNodeMapping('Literal'); + $this->addNodeMapping('ArithmeticPrimary'); } } diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayReplace.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayReplace.php index 406da127..72525ee7 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayReplace.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayReplace.php @@ -18,7 +18,7 @@ protected function customiseFunction(): void { $this->setFunctionPrototype('array_replace(%s, %s, %s)'); $this->addNodeMapping('StringPrimary'); - $this->addNodeMapping('Literal'); - $this->addNodeMapping('Literal'); + $this->addNodeMapping('ArithmeticPrimary'); + $this->addNodeMapping('ArithmeticPrimary'); } } diff --git a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayAppendTest.php b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayAppendTest.php index 3b04907e..a5eb0fb0 100644 --- a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayAppendTest.php +++ b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayAppendTest.php @@ -21,6 +21,7 @@ protected function getExpectedSqlStatements(): array return [ 'SELECT array_append(c0_.array1, 1989) AS sclr_0 FROM ContainsArrays c0_', "SELECT array_append(c0_.array1, 'country') AS sclr_0 FROM ContainsArrays c0_", + 'SELECT array_append(c0_.array1, ?) AS sclr_0 FROM ContainsArrays c0_', ]; } @@ -29,6 +30,7 @@ protected function getDqlStatements(): array return [ \sprintf('SELECT ARRAY_APPEND(e.array1, 1989) FROM %s e', ContainsArrays::class), \sprintf("SELECT ARRAY_APPEND(e.array1, 'country') FROM %s e", ContainsArrays::class), + \sprintf('SELECT ARRAY_APPEND(e.array1, :dql_parameter) FROM %s e', ContainsArrays::class), ]; } } diff --git a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayLengthTest.php b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayLengthTest.php index 9b2b478b..31efad78 100644 --- a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayLengthTest.php +++ b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayLengthTest.php @@ -20,6 +20,7 @@ protected function getExpectedSqlStatements(): array { return [ 'SELECT array_length(c0_.array1, 1) AS sclr_0 FROM ContainsArrays c0_', + 'SELECT array_length(c0_.array1, ?) AS sclr_0 FROM ContainsArrays c0_', ]; } @@ -27,6 +28,7 @@ protected function getDqlStatements(): array { return [ \sprintf('SELECT ARRAY_LENGTH(e.array1, 1) FROM %s e', ContainsArrays::class), + \sprintf('SELECT ARRAY_LENGTH(e.array1, :dql_parameter) FROM %s e', ContainsArrays::class), ]; } } diff --git a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayPrependTest.php b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayPrependTest.php index 90ed70bf..e8de2f7c 100644 --- a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayPrependTest.php +++ b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayPrependTest.php @@ -21,6 +21,7 @@ protected function getExpectedSqlStatements(): array return [ 'SELECT array_prepend(1885, c0_.array1) AS sclr_0 FROM ContainsArrays c0_', "SELECT array_prepend('red', c0_.array1) AS sclr_0 FROM ContainsArrays c0_", + 'SELECT array_prepend(?, c0_.array1) AS sclr_0 FROM ContainsArrays c0_', ]; } @@ -29,6 +30,7 @@ protected function getDqlStatements(): array return [ \sprintf('SELECT ARRAY_PREPEND(1885, e.array1) FROM %s e', ContainsArrays::class), \sprintf("SELECT ARRAY_PREPEND('red', e.array1) FROM %s e", ContainsArrays::class), + \sprintf('SELECT ARRAY_PREPEND(:dql_parameter, e.array1) FROM %s e', ContainsArrays::class), ]; } } diff --git a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayRemoveTest.php b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayRemoveTest.php index 9aa1a689..427cc6e7 100644 --- a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayRemoveTest.php +++ b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayRemoveTest.php @@ -21,6 +21,7 @@ protected function getExpectedSqlStatements(): array return [ 'SELECT array_remove(c0_.array1, 1944) AS sclr_0 FROM ContainsArrays c0_', "SELECT array_remove(c0_.array1, 'peach') AS sclr_0 FROM ContainsArrays c0_", + 'SELECT array_remove(c0_.array1, ?) AS sclr_0 FROM ContainsArrays c0_', ]; } @@ -29,6 +30,7 @@ protected function getDqlStatements(): array return [ \sprintf('SELECT ARRAY_REMOVE(e.array1, 1944) FROM %s e', ContainsArrays::class), \sprintf("SELECT ARRAY_REMOVE(e.array1, 'peach') FROM %s e", ContainsArrays::class), + \sprintf('SELECT ARRAY_REMOVE(e.array1, :dql_parameter) FROM %s e', ContainsArrays::class), ]; } } diff --git a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayReplaceTest.php b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayReplaceTest.php index d55a74fa..165c3ec4 100644 --- a/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayReplaceTest.php +++ b/tests/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayReplaceTest.php @@ -21,6 +21,7 @@ protected function getExpectedSqlStatements(): array return [ 'SELECT array_replace(c0_.array1, 1939, 1957) AS sclr_0 FROM ContainsArrays c0_', "SELECT array_replace(c0_.array1, 'green', 'mint') AS sclr_0 FROM ContainsArrays c0_", + "SELECT array_replace(c0_.array1, 'green', ?) AS sclr_0 FROM ContainsArrays c0_", ]; } @@ -29,6 +30,7 @@ protected function getDqlStatements(): array return [ \sprintf('SELECT ARRAY_REPLACE(e.array1, 1939, 1957) FROM %s e', ContainsArrays::class), \sprintf("SELECT ARRAY_REPLACE(e.array1, 'green', 'mint') FROM %s e", ContainsArrays::class), + \sprintf("SELECT ARRAY_REPLACE(e.array1, 'green', :dql_parameter) FROM %s e", ContainsArrays::class), ]; } }