-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMydbOptionsInterface.php
More file actions
89 lines (58 loc) · 2.6 KB
/
MydbOptionsInterface.php
File metadata and controls
89 lines (58 loc) · 2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
/**
* This file is part of the sshilko/php-sql-mydb package.
*
* (c) Sergei Shilko <contact@sshilko.com>
*
* MIT License
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
* @license https://opensource.org/licenses/mit-license.php MIT
*/
declare(strict_types = 1);
namespace sql;
/**
* @author Sergei Shilko <contact@sshilko.com>
* @license https://opensource.org/licenses/mit-license.php MIT
* @see https://github.com/sshilko/php-sql-mydb
*/
interface MydbOptionsInterface
{
/**
* @see https://dev.mysql.com/doc/refman/8.0/en/innodb-transaction-isolation-levels.html
*/
public const TRANSACTION_ISOLATION_LEVEL_DEFAULT = 'REPEATABLE READ';
public const TRANSACTION_ISOLATION_LEVEL_REPEATABLE_READ = 'REPEATABLE READ';
public const TRANSACTION_ISOLATION_LEVEL_READ_COMMITTED = 'READ COMMITTED';
public const TRANSACTION_ISOLATION_LEVEL_READ_UNCOMMITTED = 'READ UNCOMMITTED';
public const TRANSACTION_ISOLATION_LEVEL_SERIALIZABLE = 'SERIALIZABLE';
public function getNonInteractiveTimeout(): int;
public function setNonInteractiveTimeout(int $nonInteractiveTimeout): void;
public function getServerSideSelectTimeout(): int;
public function setServerSideSelectTimeout(int $seconds): void;
public function getConnectTimeout(): int;
public function setConnectTimeout(int $seconds): void;
public function getErrorReporting(): int;
public function setErrorReporting(int $errorReporting): void;
public function getReadTimeout(): int;
public function setReadTimeout(int $seconds): void;
public function getNetworkBufferSize(): int;
public function setNetworkBufferSize(int $bytes): void;
public function getNetworkReadBuffer(): int;
public function setNetworkReadBuffer(int $bytes): void;
public function getClientErrorLevel(): int;
public function setClientErrorLevel(int $mysqliReport): void;
public function getTimeZone(): string;
public function setTimeZone(string $timeZone): void;
public function isAutocommit(): bool;
public function setAutocommit(bool $autocommit): void;
public function getCharset(): string;
public function getTransactionIsolationLevel(): ?string;
public function setTransactionIsolationLevel(string $isolationLevel): void;
public function setCharset(string $charset): void;
public function isPersistent(): bool;
public function setPersistent(bool $persistent): void;
public function isReadonly(): bool;
public function setReadonly(bool $readonly): void;
}