Skip to content

Commit 071d442

Browse files
committed
added Nette\Database\QueryException
1 parent 2cf6efa commit 071d442

File tree

4 files changed

+40
-18
lines changed

4 files changed

+40
-18
lines changed

src/Database/DriverException.php

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
*/
1616
class DriverException extends \Exception
1717
{
18-
public ?string $queryString = null;
19-
public ?array $params = null;
2018
private int|string|null $driverCode = null;
2119
private string|null $sqlState = null;
2220

@@ -50,16 +48,4 @@ public function getSqlState(): ?string
5048
{
5149
return $this->sqlState;
5250
}
53-
54-
55-
public function getQueryString(): ?string
56-
{
57-
return $this->queryString;
58-
}
59-
60-
61-
public function getParameters(): ?array
62-
{
63-
return $this->params;
64-
}
6551
}

src/Database/Drivers/PdoDriver.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,8 @@ public function query(string $queryString, array $params): PdoResultDriver
6262
return new PdoResultDriver($statement, $this);
6363

6464
} catch (PDOException $e) {
65-
$e = $this->convertException($e);
66-
$e->queryString = $queryString;
67-
$e->params = $params;
65+
$e = $this->convertException($e, Nette\Database\QueryException::class);
66+
$e->setQueryInfo($queryString, $params);
6867
throw $e;
6968
}
7069
}

src/Database/QueryException.php

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
/**
4+
* This file is part of the Nette Framework (https://nette.org)
5+
* Copyright (c) 2004 David Grudl (https://davidgrudl.com)
6+
*/
7+
8+
declare(strict_types=1);
9+
10+
namespace Nette\Database;
11+
12+
13+
class QueryException extends DriverException
14+
{
15+
public string $queryString;
16+
private array $params;
17+
18+
19+
/** @internal */
20+
public function setQueryInfo(string $queryString, array $params): void
21+
{
22+
$this->queryString = $queryString;
23+
$this->params = $params;
24+
}
25+
26+
27+
public function getQueryString(): string
28+
{
29+
return $this->queryString;
30+
}
31+
32+
33+
public function getParameters(): array
34+
{
35+
return $this->params;
36+
}
37+
}

src/Database/exceptions.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class ConnectionException extends DriverException
2121
/**
2222
* Base class for all constraint violation related exceptions.
2323
*/
24-
class ConstraintViolationException extends DriverException
24+
class ConstraintViolationException extends QueryException
2525
{
2626
}
2727

0 commit comments

Comments
 (0)