Issues (83)

src/Database.php (1 issue)

Labels
Severity
1
<?php
2
namespace Kir\MySQL;
3
4
use JetBrains\PhpStorm\Language;
5
use Kir\MySQL\Builder\Internal\Types;
6
use Kir\MySQL\Builder\QueryStatement;
7
use Kir\MySQL\Database\DatabaseStatement;
8
use Kir\MySQL\Tools\AliasRegistry;
9
use Kir\MySQL\Tools\VirtualTables;
10
use Stringable;
11
12
/**
13
 * @phpstan-import-type DBParameterValueType from Types
14
 */
15
interface Database {
16
	/**
17
	 * @return AliasRegistry
18
	 */
19
	public function getAliasRegistry(): AliasRegistry;
20
21
	/**
22
	 * @return VirtualTables
23
	 */
24
	public function getVirtualTables(): VirtualTables;
25
26
	/**
27
	 * @param string $query
28
	 * @return DatabaseStatement
29
	 */
30
	public function query(
31
		#[Language('MySQL')]
32
		string $query
33
	);
34
35
	/**
36
	 * @param string $query
37
	 * @return QueryStatement
38
	 */
39
	public function prepare(
40
		#[Language('MySQL')]
41
		string $query
42
	);
43
44
	/**
45
	 * @param string $query
46
	 * @param array<string, null|scalar|Stringable|array<null|scalar>> $params
47
	 * @return int
48
	 */
49
	public function exec(
50
		#[Language('MySQL')]
51
		string $query,
52
		array $params = []
53
	): int;
54
55
	/**
56
	 * @param string|null $name
57
	 * @return string|null
58
	 */
59
	public function getLastInsertId(?string $name = null): ?string;
60
61
	/**
62
	 * @param string $table
63
	 * @return array<int, string>
64
	 */
65
	public function getTableFields(string $table): array;
66
67
	/**
68
	 * @param string $expression
69
	 * @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...
70
	 * @return string
71
	 */
72
	public function quoteExpression(string $expression, array $arguments = []): string;
73
74
	/**
75
	 * @param mixed $value
76
	 * @return string
77
	 */
78
	public function quote($value): string;
79
80
	/**
81
	 * @param string $field
82
	 * @return string
83
	 */
84
	public function quoteField(string $field): string;
85
86
	/**
87
	 * @param array<int|string, string>|null $fields
88
	 * @return Builder\RunnableSelect
89
	 */
90
	public function select(?array $fields = null);
91
92
	/**
93
	 * @param array<string, string>|null $fields
94
	 * @return Builder\RunnableInsert
95
	 */
96
	public function insert(?array $fields = null);
97
98
	/**
99
	 * @param array<string, string>|null $fields
100
	 * @return Builder\RunnableUpdate
101
	 */
102
	public function update(?array $fields = null);
103
104
	/**
105
	 * @return Builder\RunnableDelete
106
	 */
107
	public function delete(): Builder\RunnableDelete;
108
109
	/**
110
	 * @return $this
111
	 */
112
	public function transactionStart();
113
114
	/**
115
	 * @return $this
116
	 */
117
	public function transactionCommit();
118
119
	/**
120
	 * @return $this
121
	 */
122
	public function transactionRollback();
123
124
	/**
125
	 * @template T
126
	 * @param callable(self): T $callback
127
	 * @return T
128
	 */
129
	public function transaction(callable $callback);
130
131
	/**
132
	 * @template T
133
	 * @param callable(self): T $callback
134
	 * @return T
135
	 */
136
	public function dryRun(callable $callback);
137
}
138