Passed
Push — main ( 03028e...877d92 )
by Martin
03:39 queued 01:09
created

Overlaps   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 7
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 1
eloc 4
c 2
b 0
f 0
dl 0
loc 7
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A customizeFunction() 0 5 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace MartinGeorgiev\Doctrine\ORM\Query\AST\Functions;
6
7
/**
8
 * Implementation of PostgreSQL check if left side overlaps with right side (using &&).
9
 *
10
 * @see https://www.postgresql.org/docs/9.6/static/functions-array.html
11
 * @since 0.10
12
 *
13
 * @author Martin Georgiev <[email protected]>
14
 *
15
 * @example Using it in DQL with boolean comparison: "WHERE OVERLAPS(e.array1, e.array2) = TRUE"
16
 * Returns boolean, must be used with "= TRUE" or "= FALSE" in DQL.
17
 */
18
class Overlaps extends BaseFunction
19
{
20
    protected function customizeFunction(): void
21
    {
22
        $this->setFunctionPrototype('(%s && %s)');
23
        $this->addNodeMapping('StringPrimary');
24
        $this->addNodeMapping('StringPrimary');
25
    }
26
}
27