Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | n/a |
0 / 0 |
n/a |
0 / 0 |
CRAP | n/a |
0 / 0 |
1 | <?php |
2 | |
3 | declare(strict_types=1); |
4 | |
5 | namespace PeServer\Core\Database; |
6 | |
7 | use PeServer\Core\Database\IDatabaseImplementation; |
8 | use PeServer\Core\Throws\DatabaseException; |
9 | use PeServer\Core\Throws\ObjectDisposedException; |
10 | use PeServer\Core\Throws\SqlException; |
11 | |
12 | /** |
13 | * `insert/update/delete` 系処理。 |
14 | * |
15 | * DB固有の何かも行う(`PRAGMA/GRANT/USE` とか) |
16 | */ |
17 | interface IDatabaseExecutor extends IDatabaseImplementation |
18 | { |
19 | #region function |
20 | |
21 | /** |
22 | * 実行処理。 |
23 | * |
24 | * @template TFieldArray of FieldArrayAlias |
25 | * @param string $statement |
26 | * @phpstan-param literal-string $statement |
27 | * @param array<string|int,string|int|bool>|null $parameters |
28 | * @phpstan-param array<array-key,DatabaseBindValueAlias>|null $parameters |
29 | * @return DatabaseTableResult |
30 | * @phpstan-return DatabaseTableResult<TFieldArray> |
31 | * @throws DatabaseException |
32 | */ |
33 | public function execute(string $statement, ?array $parameters = null): DatabaseTableResult; |
34 | |
35 | /** |
36 | * 挿入処理。 |
37 | * |
38 | * @param string $statement |
39 | * @phpstan-param literal-string $statement |
40 | * @param array<string|int,string|int|bool>|null $parameters |
41 | * @phpstan-param array<array-key,DatabaseBindValueAlias>|null $parameters |
42 | * @return int 挿入件数。 |
43 | * @throws DatabaseException |
44 | * @throws SqlException 問い合わせ文の検証エラー |
45 | */ |
46 | public function insert(string $statement, ?array $parameters = null): int; |
47 | |
48 | /** |
49 | * 単一挿入処理。 |
50 | * |
51 | * @param string $statement |
52 | * @phpstan-param literal-string $statement |
53 | * @param array<string|int,string|int|bool>|null $parameters |
54 | * @phpstan-param array<array-key,DatabaseBindValueAlias>|null $parameters |
55 | * @return void |
56 | * @throws DatabaseException |
57 | * @throws SqlException 問い合わせ文の検証エラー |
58 | */ |
59 | public function insertSingle(string $statement, ?array $parameters = null): void; |
60 | |
61 | /** |
62 | * 更新処理。 |
63 | * |
64 | * @param string $statement |
65 | * @phpstan-param literal-string $statement |
66 | * @param array<string|int,string|int|bool>|null $parameters |
67 | * @phpstan-param array<array-key,DatabaseBindValueAlias>|null $parameters |
68 | * @return int 更新件数。 |
69 | * @throws DatabaseException |
70 | * @throws SqlException 問い合わせ文の検証エラー |
71 | */ |
72 | public function update(string $statement, ?array $parameters = null): int; |
73 | |
74 | /** |
75 | * 単一更新処理。 |
76 | * |
77 | * @param string $statement |
78 | * @phpstan-param literal-string $statement |
79 | * @param array<string|int,string|int|bool>|null $parameters |
80 | * @phpstan-param array<array-key,DatabaseBindValueAlias>|null $parameters |
81 | * @return void |
82 | * @throws DatabaseException |
83 | * @throws SqlException 問い合わせ文の検証エラー |
84 | */ |
85 | public function updateByKey(string $statement, ?array $parameters = null): void; |
86 | |
87 | /** |
88 | * 単一更新処理。 |
89 | * |
90 | * @param string $statement |
91 | * @phpstan-param literal-string $statement |
92 | * @param array<string|int,string|int|bool>|null $parameters |
93 | * @phpstan-param array<array-key,DatabaseBindValueAlias>|null $parameters |
94 | * @return boolean 更新できたか。 |
95 | * @throws DatabaseException |
96 | * @throws SqlException 問い合わせ文の検証エラー |
97 | */ |
98 | public function updateByKeyOrNothing(string $statement, ?array $parameters = null): bool; |
99 | |
100 | /** |
101 | * 削除処理。 |
102 | * |
103 | * @param string $statement |
104 | * @phpstan-param literal-string $statement |
105 | * @param array<string|int,string|int|bool>|null $parameters |
106 | * @phpstan-param array<array-key,DatabaseBindValueAlias>|null $parameters |
107 | * @return int 削除件数。 |
108 | * @throws DatabaseException |
109 | * @throws SqlException 問い合わせ文の検証エラー |
110 | */ |
111 | public function delete(string $statement, ?array $parameters = null): int; |
112 | |
113 | /** |
114 | * 単一削除処理。 |
115 | * |
116 | * @param string $statement |
117 | * @phpstan-param literal-string $statement |
118 | * @param array<string|int,string|int|bool>|null $parameters |
119 | * @phpstan-param array<array-key,DatabaseBindValueAlias>|null $parameters |
120 | * @return void |
121 | * @throws DatabaseException |
122 | * @throws SqlException 問い合わせ文の検証エラー |
123 | */ |
124 | public function deleteByKey(string $statement, ?array $parameters = null): void; |
125 | |
126 | /** |
127 | * 単一削除処理。 |
128 | * |
129 | * @param string $statement |
130 | * @phpstan-param literal-string $statement |
131 | * @param array<string|int,string|int|bool>|null $parameters |
132 | * @phpstan-param array<array-key,DatabaseBindValueAlias>|null $parameters |
133 | * @return boolean 削除できたか。 |
134 | * @throws DatabaseException |
135 | * @throws SqlException 問い合わせ文の検証エラー |
136 | */ |
137 | public function deleteByKeyOrNothing(string $statement, ?array $parameters = null): bool; |
138 | |
139 | #endregion |
140 | } |