Refactor ColumnFactory
(#368)
#1435
Annotations
11 warnings
PHP 8.3-ubuntu-latest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
PHP 8.3-ubuntu-latest:
src/ArrayParser.php#L35
Escaped Mutant for Mutator "Increment":
--- Original
+++ New
@@ @@
private function parseArray(string $value, int &$i = 0) : array
{
if ($value[++$i] === '}') {
- ++$i;
+ --$i;
return [];
}
for ($result = [];; ++$i) {
|
PHP 8.3-ubuntu-latest:
src/SqlParser.php#L24
Escaped Mutant for Mutator "Identical":
--- Original
+++ New
@@ @@
match ($this->sql[$pos]) {
':' => ($word = $this->parseWord()) === '' ? $this->skipChars(':') : ($result = ':' . $word),
'"', "'" => $this->skipQuotedWithoutEscape($this->sql[$pos]),
- 'e', 'E' => $this->sql[$this->position] === "'" ? ++$this->position && $this->skipQuotedWithEscape("'") : $this->skipIdentifier(),
+ 'e', 'E' => $this->sql[$this->position] !== "'" ? ++$this->position && $this->skipQuotedWithEscape("'") : $this->skipIdentifier(),
'$' => $this->skipQuotedWithDollar(),
'-' => $this->sql[$this->position] === '-' ? ++$this->position && $this->skipToAfterChar("\n") : null,
'/' => $this->sql[$this->position] === '*' ? ++$this->position && $this->skipToAfterString('*/') : null,
|
PHP 8.3-ubuntu-latest:
src/SqlParser.php#L24
Escaped Mutant for Mutator "Ternary":
--- Original
+++ New
@@ @@
match ($this->sql[$pos]) {
':' => ($word = $this->parseWord()) === '' ? $this->skipChars(':') : ($result = ':' . $word),
'"', "'" => $this->skipQuotedWithoutEscape($this->sql[$pos]),
- 'e', 'E' => $this->sql[$this->position] === "'" ? ++$this->position && $this->skipQuotedWithEscape("'") : $this->skipIdentifier(),
+ 'e', 'E' => $this->sql[$this->position] === "'" ? $this->skipIdentifier() : ++$this->position && $this->skipQuotedWithEscape("'"),
'$' => $this->skipQuotedWithDollar(),
'-' => $this->sql[$this->position] === '-' ? ++$this->position && $this->skipToAfterChar("\n") : null,
'/' => $this->sql[$this->position] === '*' ? ++$this->position && $this->skipToAfterString('*/') : null,
|
PHP 8.3-ubuntu-latest:
src/SqlParser.php#L25
Escaped Mutant for Mutator "LogicalAndNegation":
--- Original
+++ New
@@ @@
match ($this->sql[$pos]) {
':' => ($word = $this->parseWord()) === '' ? $this->skipChars(':') : ($result = ':' . $word),
'"', "'" => $this->skipQuotedWithoutEscape($this->sql[$pos]),
- 'e', 'E' => $this->sql[$this->position] === "'" ? ++$this->position && $this->skipQuotedWithEscape("'") : $this->skipIdentifier(),
+ 'e', 'E' => $this->sql[$this->position] === "'" ? !(++$this->position && $this->skipQuotedWithEscape("'")) : $this->skipIdentifier(),
'$' => $this->skipQuotedWithDollar(),
'-' => $this->sql[$this->position] === '-' ? ++$this->position && $this->skipToAfterChar("\n") : null,
'/' => $this->sql[$this->position] === '*' ? ++$this->position && $this->skipToAfterString('*/') : null,
|
PHP 8.3-ubuntu-latest:
src/SqlParser.php#L25
Escaped Mutant for Mutator "LogicalAndSingleSubExprNegation":
--- Original
+++ New
@@ @@
match ($this->sql[$pos]) {
':' => ($word = $this->parseWord()) === '' ? $this->skipChars(':') : ($result = ':' . $word),
'"', "'" => $this->skipQuotedWithoutEscape($this->sql[$pos]),
- 'e', 'E' => $this->sql[$this->position] === "'" ? ++$this->position && $this->skipQuotedWithEscape("'") : $this->skipIdentifier(),
+ 'e', 'E' => $this->sql[$this->position] === "'" ? ++$this->position && !$this->skipQuotedWithEscape("'") : $this->skipIdentifier(),
'$' => $this->skipQuotedWithDollar(),
'-' => $this->sql[$this->position] === '-' ? ++$this->position && $this->skipToAfterChar("\n") : null,
'/' => $this->sql[$this->position] === '*' ? ++$this->position && $this->skipToAfterString('*/') : null,
|
PHP 8.3-ubuntu-latest:
src/SqlParser.php#L29
Escaped Mutant for Mutator "Increment":
--- Original
+++ New
@@ @@
'"', "'" => $this->skipQuotedWithoutEscape($this->sql[$pos]),
'e', 'E' => $this->sql[$this->position] === "'" ? ++$this->position && $this->skipQuotedWithEscape("'") : $this->skipIdentifier(),
'$' => $this->skipQuotedWithDollar(),
- '-' => $this->sql[$this->position] === '-' ? ++$this->position && $this->skipToAfterChar("\n") : null,
+ '-' => $this->sql[$this->position] === '-' ? --$this->position && $this->skipToAfterChar("\n") : null,
'/' => $this->sql[$this->position] === '*' ? ++$this->position && $this->skipToAfterString('*/') : null,
// Identifiers can contain dollar sign which can be used for quoting. Skip them.
'_', 'a', 'b', 'c', 'd', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' => $this->skipIdentifier(),
|
PHP 8.3-ubuntu-latest:
src/SqlParser.php#L29
Escaped Mutant for Mutator "LogicalAndNegation":
--- Original
+++ New
@@ @@
'"', "'" => $this->skipQuotedWithoutEscape($this->sql[$pos]),
'e', 'E' => $this->sql[$this->position] === "'" ? ++$this->position && $this->skipQuotedWithEscape("'") : $this->skipIdentifier(),
'$' => $this->skipQuotedWithDollar(),
- '-' => $this->sql[$this->position] === '-' ? ++$this->position && $this->skipToAfterChar("\n") : null,
+ '-' => $this->sql[$this->position] === '-' ? !(++$this->position && $this->skipToAfterChar("\n")) : null,
'/' => $this->sql[$this->position] === '*' ? ++$this->position && $this->skipToAfterString('*/') : null,
// Identifiers can contain dollar sign which can be used for quoting. Skip them.
'_', 'a', 'b', 'c', 'd', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' => $this->skipIdentifier(),
|
PHP 8.3-ubuntu-latest:
src/SqlParser.php#L29
Escaped Mutant for Mutator "LogicalAndSingleSubExprNegation":
--- Original
+++ New
@@ @@
'"', "'" => $this->skipQuotedWithoutEscape($this->sql[$pos]),
'e', 'E' => $this->sql[$this->position] === "'" ? ++$this->position && $this->skipQuotedWithEscape("'") : $this->skipIdentifier(),
'$' => $this->skipQuotedWithDollar(),
- '-' => $this->sql[$this->position] === '-' ? ++$this->position && $this->skipToAfterChar("\n") : null,
+ '-' => $this->sql[$this->position] === '-' ? ++$this->position && !$this->skipToAfterChar("\n") : null,
'/' => $this->sql[$this->position] === '*' ? ++$this->position && $this->skipToAfterString('*/') : null,
// Identifiers can contain dollar sign which can be used for quoting. Skip them.
'_', 'a', 'b', 'c', 'd', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' => $this->skipIdentifier(),
|
PHP 8.3-ubuntu-latest:
src/SqlParser.php#L32
Escaped Mutant for Mutator "Increment":
--- Original
+++ New
@@ @@
'e', 'E' => $this->sql[$this->position] === "'" ? ++$this->position && $this->skipQuotedWithEscape("'") : $this->skipIdentifier(),
'$' => $this->skipQuotedWithDollar(),
'-' => $this->sql[$this->position] === '-' ? ++$this->position && $this->skipToAfterChar("\n") : null,
- '/' => $this->sql[$this->position] === '*' ? ++$this->position && $this->skipToAfterString('*/') : null,
+ '/' => $this->sql[$this->position] === '*' ? --$this->position && $this->skipToAfterString('*/') : null,
// Identifiers can contain dollar sign which can be used for quoting. Skip them.
'_', 'a', 'b', 'c', 'd', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' => $this->skipIdentifier(),
default => null,
|
PHP 8.3-ubuntu-latest:
src/SqlParser.php#L32
Escaped Mutant for Mutator "LogicalAndNegation":
--- Original
+++ New
@@ @@
'e', 'E' => $this->sql[$this->position] === "'" ? ++$this->position && $this->skipQuotedWithEscape("'") : $this->skipIdentifier(),
'$' => $this->skipQuotedWithDollar(),
'-' => $this->sql[$this->position] === '-' ? ++$this->position && $this->skipToAfterChar("\n") : null,
- '/' => $this->sql[$this->position] === '*' ? ++$this->position && $this->skipToAfterString('*/') : null,
+ '/' => $this->sql[$this->position] === '*' ? !(++$this->position && $this->skipToAfterString('*/')) : null,
// Identifiers can contain dollar sign which can be used for quoting. Skip them.
'_', 'a', 'b', 'c', 'd', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' => $this->skipIdentifier(),
default => null,
|