Issues (87)

src/Database.php (1 issue)

Labels
Severity
1
<?php
2
3
namespace Kir\MySQL;
4
5
use JetBrains\PhpStorm\Language;
6
use Kir\MySQL\Builder\Internal\Types;
7
use Kir\MySQL\Builder\QueryStatement;
8
use Kir\MySQL\Database\DatabaseStatement;
9
use Kir\MySQL\Tools\AliasRegistry;
10
use Kir\MySQL\Tools\VirtualTables;
11
use Stringable;
12
13
/**
14
 * @phpstan-import-type DBParameterValueType from Types
15
 */
16
interface Database {
17
	/**
18
	 * @return AliasRegistry
19
	 */
20
	public function getAliasRegistry(): AliasRegistry;
21
22
	/**
23
	 * @return VirtualTables
24
	 */
25
	public function getVirtualTables(): VirtualTables;
26
27
	/**
28
	 * @param string $query
29
	 * @return DatabaseStatement
30
	 */
31
	public function query(
32
		#[Language('MySQL')]
33
		string $query,
34
	);
35
36
	/**
37
	 * @param string $query
38
	 * @return QueryStatement
39
	 */
40
	public function prepare(
41
		#[Language('MySQL')]
42
		string $query,
43
	);
44
45
	/**
46
	 * @param string $query
47
	 * @param array<string, null|scalar|Stringable|array<null|scalar>> $params
48
	 * @return int
49
	 */
50
	public function exec(
51
		#[Language('MySQL')]
52
		string $query,
53
		array $params = [],
54
	): int;
55
56
	/**
57
	 * @param string|null $name
58
	 * @return string|null
59
	 */
60
	public function getLastInsertId(?string $name = null): ?string;
61
62
	/**
63
	 * @param string $table
64
	 * @return array<int, string>
65
	 */
66
	public function getTableFields(string $table): array;
67
68
	/**
69
	 * @param string $expression
70
	 * @param list<DBParameterValueType> $arguments
0 ignored issues
show
The type Kir\MySQL\list was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
71
	 * @return string
72
	 */
73
	public function quoteExpression(string $expression, array $arguments = []): string;
74
75
	/**
76
	 * @param mixed $value
77
	 * @return string
78
	 */
79
	public function quote($value): string;
80
81
	/**
82
	 * @param string $field
83
	 * @return string
84
	 */
85
	public function quoteField(string $field): string;
86
87
	/**
88
	 * @param array<int|string, string>|null $fields
89
	 * @return Builder\RunnableSelect
90
	 */
91
	public function select(?array $fields = null);
92
93
	/**
94
	 * @param array<string, string>|null $fields
95
	 * @return Builder\RunnableInsert
96
	 */
97
	public function insert(?array $fields = null);
98
99
	/**
100
	 * @param array<string, string>|null $fields
101
	 * @return Builder\RunnableUpdate
102
	 */
103
	public function update(?array $fields = null);
104
105
	/**
106
	 * @return Builder\RunnableDelete
107
	 */
108
	public function delete(): Builder\RunnableDelete;
109
110
	/**
111
	 * @return $this
112
	 */
113
	public function transactionStart();
114
115
	/**
116
	 * @return $this
117
	 */
118
	public function transactionCommit();
119
120
	/**
121
	 * @return $this
122
	 */
123
	public function transactionRollback();
124
125
	/**
126
	 * @template T
127
	 * @param callable(self): T $callback
128
	 * @return T
129
	 */
130
	public function transaction(callable $callback);
131
132
	/**
133
	 * @template T
134
	 * @param callable(self): T $callback
135
	 * @return T
136
	 */
137
	public function dryRun(callable $callback);
138
}
139