From 7aed6943a5a8d7d9d87b89e2170a0863e68c65df Mon Sep 17 00:00:00 2001 From: Tom Berriot Date: Wed, 20 Sep 2023 11:57:03 +0200 Subject: [PATCH] Change Literals to Accepting Input Parameters Types The use of Literal was preventing usage of doctrine input parameters as `:myQueryInputParameter` So to allow its use I changed Literals to StringPrimary accepting more diverse parameters including InputParameter and that seemed already well used in code base. > StringPrimary ::= StateFieldPathExpression | string | InputParameter | FunctionsReturningStrings | AggregateExpression | CaseExpression > Literal ::= string | char | integer | float | boolean https://www.doctrine-project.org/projects/doctrine-orm/en/2.16/reference/dql-doctrine-query-language.html --- .../Doctrine/ORM/Query/AST/Functions/ArrayAppend.php | 2 +- .../Doctrine/ORM/Query/AST/Functions/ArrayLength.php | 2 +- .../Doctrine/ORM/Query/AST/Functions/ArrayPrepend.php | 2 +- .../Doctrine/ORM/Query/AST/Functions/ArrayRemove.php | 2 +- .../Doctrine/ORM/Query/AST/Functions/ArrayReplace.php | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayAppend.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayAppend.php index 783a834d..15acdb9b 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('StringPrimary'); } } diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayLength.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayLength.php index c25fb061..6fc4c6aa 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('StringPrimary'); } } diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayPrepend.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayPrepend.php index bc139882..67eda269 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('StringPrimary'); $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..8e136983 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('StringPrimary'); } } diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayReplace.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ArrayReplace.php index 406da127..27a630d7 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('StringPrimary'); + $this->addNodeMapping('StringPrimary'); } }