Skip to content

Commit 9ce071d

Browse files
committed
BREAKING operators cannot return null anymore #10257
Instead, return an empty string, which will have the same effect as returning null. Removing null removes the confusion semantics difference between null and empty string. There never was any difference, and null should never have been allowed.
1 parent 533612b commit 9ce071d

12 files changed

+39
-39
lines changed

src/Definition/Operator/AbstractAssociationOperatorType.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010

1111
abstract class AbstractAssociationOperatorType extends AbstractOperator
1212
{
13-
final public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): ?string
13+
final public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): string
1414
{
1515
if ($args === null) {
16-
return null;
16+
return '';
1717
}
1818

1919
if ($metadata->isSingleValuedAssociation($field)) {
@@ -23,7 +23,7 @@ final public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, Clas
2323
return $this->getCollectionValuedDqlCondition($uniqueNameFactory, $metadata, $queryBuilder, $alias, $field, $args);
2424
}
2525

26-
abstract protected function getSingleValuedDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, array $args): ?string;
26+
abstract protected function getSingleValuedDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, array $args): string;
2727

28-
abstract protected function getCollectionValuedDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, array $args): ?string;
28+
abstract protected function getCollectionValuedDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, array $args): string;
2929
}

src/Definition/Operator/AbstractOperator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,5 @@ abstract protected function getConfiguration(LeafType $leafType): array;
6262
* @param string $field the field for the entity on which to apply the filter
6363
* @param null|array $args all arguments specific to this operator as declared in its configuration
6464
*/
65-
abstract public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): ?string;
65+
abstract public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): string;
6666
}

src/Definition/Operator/AbstractSimpleOperator.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ final protected function getConfiguration(LeafType $leafType): array
3333
];
3434
}
3535

36-
final public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): ?string
36+
final public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): string
3737
{
3838
if ($args === null) {
39-
return null;
39+
return '';
4040
}
4141

4242
$param = $uniqueNameFactory->createParameterName();

src/Definition/Operator/BetweenOperatorType.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ protected function getConfiguration(LeafType $leafType): array
3232
];
3333
}
3434

35-
public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): ?string
35+
public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): string
3636
{
3737
if ($args === null) {
38-
return null;
38+
return '';
3939
}
4040

4141
$from = $uniqueNameFactory->createParameterName();

src/Definition/Operator/EmptyOperatorType.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ protected function getConfiguration(LeafType $leafType): array
2525
];
2626
}
2727

28-
protected function getSingleValuedDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, array $args): ?string
28+
protected function getSingleValuedDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, array $args): string
2929
{
3030
$null = $this->types->getOperator(NullOperatorType::class, self::id());
3131

src/Definition/Operator/GroupOperatorType.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ protected function getConfiguration(LeafType $leafType): array
3232
];
3333
}
3434

35-
public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): ?string
35+
public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): string
3636
{
3737
$queryBuilder->addGroupBy($alias . '.' . $field);
3838

39-
return null;
39+
return '';
4040
}
4141
}

src/Definition/Operator/HaveOperatorType.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ protected function getConfiguration(LeafType $leafType): array
3030
];
3131
}
3232

33-
protected function getSingleValuedDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, array $args): ?string
33+
protected function getSingleValuedDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, array $args): string
3434
{
3535
$in = $this->types->getOperator(InOperatorType::class, self::id());
3636

src/Definition/Operator/InOperatorType.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ protected function getConfiguration(LeafType $leafType): array
2828
];
2929
}
3030

31-
public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): ?string
31+
public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): string
3232
{
3333
if ($args === null) {
34-
return null;
34+
return '';
3535
}
3636

3737
$values = $uniqueNameFactory->createParameterName();

src/Definition/Operator/NullOperatorType.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ protected function getConfiguration(LeafType $leafType): array
2424
];
2525
}
2626

27-
public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): ?string
27+
public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): string
2828
{
2929
if ($args === null) {
30-
return null;
30+
return '';
3131
}
3232

3333
$not = $args['not'] ? 'NOT ' : '';

tests/Blog/Filtering/ModuloOperatorType.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ protected function getConfiguration(LeafType $leafType): array
2525
];
2626
}
2727

28-
public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): ?string
28+
public function getDqlCondition(UniqueNameFactory $uniqueNameFactory, ClassMetadata $metadata, QueryBuilder $queryBuilder, string $alias, string $field, ?array $args): string
2929
{
3030
if (!$args) {
31-
return null;
31+
return '';
3232
}
3333

3434
$param = $uniqueNameFactory->createParameterName();

0 commit comments

Comments
 (0)