GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Statement::closeCursor()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 0
cts 3
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace EdmondsCommerce\DoctrineStaticMeta\EntityManager\RetryConnection;
6
7
use Doctrine\DBAL\Driver\Statement as DriverStatement;
8
use Doctrine\DBAL\ParameterType;
9
use IteratorAggregate;
10
use PDO;
11
12
/**
13
 * @SuppressWarnings(PHPMD.TooManyPublicMethods)
14
 */
15
class Statement implements IteratorAggregate, DriverStatement
16
{
17
    /**
18
     * @var PingingAndReconnectingConnection
19
     */
20
    private $connection;
21
    /**
22
     * @var array
23
     */
24
    private $params = [];
25
    /**
26
     * @var string
27
     */
28
    private $sql;
29
    /**y
30
     *
31
     * @var array
32
     */
33
    private $values = [];
34
    /**
35
     * @TODO Required setting as mixed due to stan reasons, pending a better solution
36
     * @var mixed
37
     */
38
    private $wrappedStatement;
39
40
    /**
41
     * @param string                           $sql
42
     * @param PingingAndReconnectingConnection $conn
43
     */
44
    public function __construct(
45
        string $sql,
46
        PingingAndReconnectingConnection $conn
47
    ) {
48
        $this->sql                       = $sql;
49
        $this->connection                = $conn;
50
        $this->createStatement();
51
    }
52
53
    /**
54
     * Create Statement.
55
     */
56
    private function createStatement()
57
    {
58
        $this->wrappedStatement = $this->connection->prepareUnwrapped($this->sql);
59
        foreach ($this->params as $params) {
60
            $this->bindParam(...$params);
0 ignored issues
show
Bug introduced by
The call to EdmondsCommerce\Doctrine...\Statement::bindParam() has too few arguments starting with variable. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

60
            $this->/** @scrutinizer ignore-call */ 
61
                   bindParam(...$params);

This check compares calls to functions or methods with their respective definitions. If the call has less arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
61
        }
62
        $this->params = [];
63
        foreach ($this->values as $values) {
64
            $this->bindValue(...$values);
0 ignored issues
show
Bug introduced by
The call to EdmondsCommerce\Doctrine...\Statement::bindValue() has too few arguments starting with value. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

64
            $this->/** @scrutinizer ignore-call */ 
65
                   bindValue(...$values);

This check compares calls to functions or methods with their respective definitions. If the call has less arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
65
        }
66
        $this->values = [];
67
    }
68
69
    /**
70
     * @inheritdoc
71
     */
72
    public function bindParam($column, &$variable, $type = ParameterType::STRING, $length = null)
73
    {
74
        $this->params[] = [$column, $variable, $type, $length];
75
76
        return $this->wrappedStatement->bindParam($column, $variable, $type, $length);
77
    }
78
79
    /**
80
     * @inheritdoc
81
     */
82
    public function bindValue($param, $value, $type = ParameterType::STRING)
83
    {
84
        $this->values[] = [$param, $value, $type];
85
86
        return $this->wrappedStatement->bindValue($param, $value, $type);
87
    }
88
89
    /**
90
     * @inheritdoc
91
     */
92
    public function closeCursor()
93
    {
94
        return $this->wrappedStatement->closeCursor();
95
    }
96
97
    /**
98
     * @inheritdoc
99
     */
100
    public function columnCount()
101
    {
102
        return $this->wrappedStatement->columnCount();
103
    }
104
105
    /**
106
     * @inheritdoc
107
     */
108
    public function errorCode()
109
    {
110
        return $this->wrappedStatement->errorCode();
111
    }
112
113
    /**
114
     * @inheritdoc
115
     */
116
    public function errorInfo()
117
    {
118
        return $this->wrappedStatement->errorInfo();
119
    }
120
121
    /**
122
     * @inheritdoc
123
     */
124
    public function execute($params = null)
125
    {
126
        return $this->wrappedStatement->execute($params);
127
    }
128
129
    /**
130
     * @inheritdoc
131
     */
132
    public function fetch($fetchMode = null, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0)
133
    {
134
        return $this->wrappedStatement->fetch($fetchMode, $cursorOrientation, $cursorOffset);
135
    }
136
137
    /**
138
     * @inheritdoc
139
     */
140
    public function fetchAll($fetchMode = null, $fetchArgument = null, $ctorArgs = null)
141
    {
142
        return $this->wrappedStatement->fetchAll($fetchMode, $fetchArgument, $ctorArgs);
143
    }
144
145
    /**
146
     * @inheritdoc
147
     */
148
    public function fetchColumn($columnIndex = 0)
149
    {
150
        return $this->wrappedStatement->fetchColumn($columnIndex);
151
    }
152
153
    /**
154
     * @inheritdoc
155
     */
156
    public function getIterator()
157
    {
158
        return $this->wrappedStatement->getIterator();
159
    }
160
161
    /**
162
     * @inheritdoc
163
     */
164
    public function rowCount()
165
    {
166
        return $this->wrappedStatement->rowCount();
167
    }
168
169
    /**
170
     * @inheritdoc
171
     */
172
    public function setFetchMode($fetchMode, $arg2 = null, $arg3 = null)
173
    {
174
        return $this->wrappedStatement->setFetchMode($fetchMode, $arg2, $arg3);
175
    }
176
}
177