packages/ztd-query-core/tests/Fake/FakeErrorClassifier.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Fake;
6
7use ZtdQuery\Connection\Exception\DatabaseException;
8use ZtdQuery\Platform\ErrorClassifier;
9
10/**
11 * Fake ErrorClassifier that classifies errors based on driver error code.
12 *
13 * Uses a simple convention: driver error codes 1000-1999 are schema errors.
14 */
15final class FakeErrorClassifier implements ErrorClassifier
16{
17 /**
18 * Reports whether unknown schema error.
19 *
20 * @param DatabaseException $e
21 * @return bool
22 */
23 public function isUnknownSchemaError(DatabaseException $e): bool
24 {
25 $code = $e->getDriverErrorCode();
26
27 if ($code === null) {
28 return false;
29 }
30
31 return $code >= 1000 && $code <= 1999;
32 }
33}
34